/* Cubic Bezier Transition */

/*********** 
    Page Header
    ***********/

/* Header search bar, toggler button & top menu */

.page-header.navbar {
  background-color: #1f1f1f;
  /* Top notification menu/bar */
  /* Header seaech box */
  /* Toggler button for sidebar expand/collapse and responsive sidebar menu */
}

.page-header.navbar .top-menu .navbar-nav {
  /* Extended Dropdowns */
  /* Notification */
  /* Inbox */
  /* Tasks */
  /* User */
  /* Language */
  /* Dark version */
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown .dropdown-toggle > i {
  color: #999999;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown .dropdown-toggle .badge.badge-default {
  background-color: #d64635;
  color: #ffffff;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown .dropdown-toggle:hover {
  background-color: #393838;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown .dropdown-toggle:hover > i {
  color: #bfbfbf;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown.open .dropdown-toggle {
  background-color: #393838;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown.open .dropdown-toggle > i {
  color: #bfbfbf;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu {
  border-color: #e7eaf0;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu:after {
  border-bottom-color: #eaedf2;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu > li.external {
  background: #eaedf2;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu > li.external > h3 {
  color: #62878f;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu > li.external > a {
  color: #337ab7;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu > li.external > a:hover {
  color: #23527c;
  text-decoration: none;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu .dropdown-menu-list > li > a {
  border-bottom: 1px solid #EFF2F6 !important;
  color: #888888;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-extended .dropdown-menu .dropdown-menu-list > li > a:hover {
  background: #f8f9fa;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-notification .dropdown-menu .dropdown-menu-list > li > a .time {
  background: #f1f1f1;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-notification .dropdown-menu .dropdown-menu-list > li > a:hover .time {
  background: #e4e4e4;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-inbox > .dropdown-toggle > .circle {
  background-color: #d64635;
  color: #ffffff;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-inbox > .dropdown-toggle > .corner {
  border-color: transparent transparent transparent #d64635;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-inbox .dropdown-menu .dropdown-menu-list .subject .from {
  color: #5b9bd1;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-tasks .dropdown-menu .dropdown-menu-list .progress {
  background-color: #dfe2e9;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-user > .dropdown-toggle > .username {
  color: #c5c5c5;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-user > .dropdown-toggle > i {
  color: #c5c5c5;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-user > .dropdown-menu {
  width: 195px;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-language > .dropdown-toggle > .langname {
  color: #c5c5c5;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu {
  background: #393838;
  border: 0;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu:after {
  border-bottom-color: #393838;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu > li.external {
  background: #242424;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu > li.external > h3 {
  color: #a4a4a4;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu > li.external > a:hover {
  color: #5496cf;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu.dropdown-menu-default > li a,
.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu .dropdown-menu-list > li a {
  color: #b0b0b0;
  border-bottom: 1px solid #484848 !important;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu.dropdown-menu-default > li a > i,
.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu .dropdown-menu-list > li a > i {
  color: #979797;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu.dropdown-menu-default > li a:hover,
.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu .dropdown-menu-list > li a:hover {
  background: #434343;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu.dropdown-menu-default > li a {
  border-bottom: 0 !important;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-dark .dropdown-menu.dropdown-menu-default > li.divider {
  background: #484848;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list > li > a .time {
  background: #2c2c2c;
}

.page-header.navbar .top-menu .navbar-nav > li.dropdown-notification.dropdown-dark .dropdown-menu .dropdown-menu-list > li > a:hover .time {
  background: #1f1f1f;
}

.page-header.navbar .search-form {
  background: #151515;
}

.page-header.navbar .search-form:hover {
  background: #393838;
}

.page-header.navbar .search-form .input-group .form-control {
  color: #999999;
}

.page-header.navbar .search-form .input-group .form-control::-moz-placeholder {
  color: #969696;
  opacity: 1;
}

.page-header.navbar .search-form .input-group .form-control:-ms-input-placeholder {
  color: #969696;
}

.page-header.navbar .search-form .input-group .form-control::-webkit-input-placeholder {
  color: #969696;
}

.page-header.navbar .search-form .input-group .input-group-btn .btn.submit > i {
  color: #999999;
}

.page-header.navbar .search-form.open {
  background: #393838;
}

.page-header.navbar .menu-toggler > span,
.page-header.navbar .menu-toggler > span:before,
.page-header.navbar .menu-toggler > span:after {
  background: #858585;
}

.page-header.navbar .menu-toggler > span:hover {
  background: #858585;
}

.page-header.navbar .menu-toggler > span:hover:before,
.page-header.navbar .menu-toggler > span:hover:after {
  background: #858585;
}

.page-header.navbar .menu-toggler.th-toggle-exit > span {
  background-color: transparent !important;
}

/* Default Horizontal Menu */

.page-header.navbar {
  /* Default Mega Menu */
  /* Light Mega Menu */
}

.page-header.navbar .hor-menu .navbar-nav {
  /* Mega menu content */
  /* Classic menu */
}

.page-header.navbar .hor-menu .navbar-nav > li.mega-menu-dropdown > .dropdown-menu {
  box-shadow: 5px 5px rgba(57, 56, 56, 0.2);
}

.page-header.navbar .hor-menu .navbar-nav > li.mega-menu-dropdown > .dropdown-menu .mega-menu-content .mega-menu-submenu li > h3 {
  color: #c5c5c5;
}

.page-header.navbar .hor-menu .navbar-nav > li > a {
  color: #c5c5c5;
}

.page-header.navbar .hor-menu .navbar-nav > li > a > i {
  color: #787878;
}

.page-header.navbar .hor-menu .navbar-nav > li:hover > a,
.page-header.navbar .hor-menu .navbar-nav > li.open > a,
.page-header.navbar .hor-menu .navbar-nav > li > a:hover {
  color: #d2d1d1;
  background: #393838 !important;
}

.page-header.navbar .hor-menu .navbar-nav > li:hover > a > i,
.page-header.navbar .hor-menu .navbar-nav > li.open > a > i,
.page-header.navbar .hor-menu .navbar-nav > li > a:hover > i {
  color: #858585;
}

.page-header.navbar .hor-menu .navbar-nav > li.active > a,
.page-header.navbar .hor-menu .navbar-nav > li.active > a,
.page-header.navbar .hor-menu .navbar-nav > li.current > a,
.page-header.navbar .hor-menu .navbar-nav > li.current > a {
  color: white;
  background: #d64635 !important;
}

.page-header.navbar .hor-menu .navbar-nav > li.active > a > i,
.page-header.navbar .hor-menu .navbar-nav > li.active > a > i,
.page-header.navbar .hor-menu .navbar-nav > li.current > a > i,
.page-header.navbar .hor-menu .navbar-nav > li.current > a > i {
  color: #787878;
}

.page-header.navbar .hor-menu .navbar-nav > li.active .selected,
.page-header.navbar .hor-menu .navbar-nav > li.current .selected {
  border-top: 6px solid #d64635;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu {
  box-shadow: 5px 5px rgba(57, 56, 56, 0.2);
  background: #393838;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li > a {
  color: #b8b8b8;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li > a > i {
  color: #b8b8b8;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li:hover > a {
  color: gainsboro;
  background: #434343;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li:hover > a > i {
  color: gainsboro;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.active > a,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.active > a:hover,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.current > a,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.current > a:hover {
  color: gainsboro;
  background: #434343;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.active > a > i,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.active > a:hover > i,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.current > a > i,
.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.current > a:hover > i {
  color: gainsboro;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-menu li.divider {
  background-color: #454545;
}

.page-header.navbar .hor-menu .navbar-nav > li .dropdown-submenu > a:after {
  color: #b8b8b8;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav {
  /* Mega menu content */
  /* Classic menu */
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.mega-menu-dropdown > .dropdown-menu {
  box-shadow: 5px 5px rgba(102, 102, 102, 0.1);
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.mega-menu-dropdown > .dropdown-menu .mega-menu-content .mega-menu-submenu li > h3 {
  color: #666;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li > a {
  color: #c5c5c5;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li > a > i {
  color: #787878;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li:hover > a,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li > a:hover {
  color: #d2d1d1;
  background: #393838;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li:hover > a > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li > a:hover > i {
  color: #858585;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.open > a {
  color: #333 !important;
  background: white !important;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.open > a > i {
  color: #333 !important;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.active > a,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.active > a:hover,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.current > a,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.current > a:hover {
  color: white;
  background: #d64635;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.active > a > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.active > a:hover > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.current > a > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li.current > a:hover > i {
  color: #787878;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu {
  box-shadow: 5px 5px rgba(102, 102, 102, 0.1);
  background: white;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li > a {
  color: #000;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li > a > i {
  color: #888;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li:hover > a {
  color: #000;
  background: whitesmoke;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li:hover > a > i {
  color: #666;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.active > a,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.active > a:hover,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.current > a,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.current > a:hover {
  color: #000;
  background: whitesmoke;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.active > a > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.active > a:hover > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.current > a > i,
.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.current > a:hover > i {
  color: #666;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu li.divider {
  background-color: whitesmoke;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li .dropdown-menu {
  border: 1px solid #f2f2f2;
}

.page-header.navbar .hor-menu.hor-menu-light .navbar-nav > li > .dropdown-menu {
  border-top: 0;
}

/* Page sidebar */

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover,
.page-sidebar {
  background-color: #3d3d3d;
  /* Default sidebar */
  /* light sidebar */
  /* Sidebar search */
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu,
.page-sidebar .page-sidebar-menu {
  /* 1st level links */
  /* All links */
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a,
.page-sidebar .page-sidebar-menu > li > a {
  border-top: 1px solid #484848;
  color: #d9d9d9;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a > i,
.page-sidebar .page-sidebar-menu > li > a > i {
  color: #888888;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a > i[class^="icon-"],
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a > i[class*="icon-"],
.page-sidebar .page-sidebar-menu > li > a > i[class^="icon-"],
.page-sidebar .page-sidebar-menu > li > a > i[class*="icon-"] {
  color: #959595;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu > li > a > .arrow:before,
.page-sidebar .page-sidebar-menu > li > a > .arrow.open:before {
  color: #777777;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.heading > h3,
.page-sidebar .page-sidebar-menu > li.heading > h3 {
  color: #9e9e9e;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li:hover > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.open > a,
.page-sidebar .page-sidebar-menu > li:hover > a,
.page-sidebar .page-sidebar-menu > li.open > a {
  background: #303030;
  color: #d9d9d9;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li:hover > a > i,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.open > a > i,
.page-sidebar .page-sidebar-menu > li:hover > a > i,
.page-sidebar .page-sidebar-menu > li.open > a > i {
  color: #888888;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li:hover > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li:hover > a > .arrow.open:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.open > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.open > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu > li:hover > a > .arrow:before,
.page-sidebar .page-sidebar-menu > li:hover > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu > li.open > a > .arrow:before,
.page-sidebar .page-sidebar-menu > li.open > a > .arrow.open:before {
  color: #888888;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open > a,
.page-sidebar .page-sidebar-menu > li.active > a,
.page-sidebar .page-sidebar-menu > li.active.open > a {
  background: #d64635;
  border-top-color: transparent;
  color: #ffffff;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active > a:hover,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open > a:hover,
.page-sidebar .page-sidebar-menu > li.active > a:hover,
.page-sidebar .page-sidebar-menu > li.active.open > a:hover {
  background: #d64635;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active > a > i,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open > a > i,
.page-sidebar .page-sidebar-menu > li.active > a > i,
.page-sidebar .page-sidebar-menu > li.active.open > a > i {
  color: #ffffff;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active > a > .arrow.open:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu > li.active > a > .arrow:before,
.page-sidebar .page-sidebar-menu > li.active > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu > li.active.open > a > .arrow:before,
.page-sidebar .page-sidebar-menu > li.active.open > a > .arrow.open:before {
  color: #ffffff;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active + li > a,
.page-sidebar .page-sidebar-menu > li.active + li > a {
  border-top-color: transparent;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.active.open + li > a,
.page-sidebar .page-sidebar-menu > li.active.open + li > a {
  border-top-color: #484848;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li:last-child > a,
.page-sidebar .page-sidebar-menu > li:last-child > a {
  border-bottom: 1px solid transparent !important;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu li > a > .arrow:before,
.page-sidebar .page-sidebar-menu li > a > .arrow.open:before {
  color: #777777;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li:hover > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu li:hover > a > .arrow:before,
.page-sidebar .page-sidebar-menu li:hover > a > .arrow.open:before {
  color: #888888;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu li.active > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu li.active > a > .arrow:before,
.page-sidebar .page-sidebar-menu li.active > a > .arrow.open:before {
  color: #ffffff;
}

.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu:hover .sub-menu,
.page-sidebar-closed
.page-sidebar .page-sidebar-menu:hover .sub-menu {
  background-color: #3d3d3d;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a,
.page-sidebar .page-sidebar-menu .sub-menu > li > a {
  color: #bdbdbd;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a > i,
.page-sidebar .page-sidebar-menu .sub-menu > li > a > i {
  color: #777777;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a > i[class^="icon-"],
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a > i[class*="icon-"],
.page-sidebar .page-sidebar-menu .sub-menu > li > a > i[class^="icon-"],
.page-sidebar .page-sidebar-menu .sub-menu > li > a > i[class*="icon-"] {
  color: #959595;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu .sub-menu > li > a > .arrow:before,
.page-sidebar .page-sidebar-menu .sub-menu > li > a > .arrow.open:before {
  color: #777777;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li:hover > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.open > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.active > a,
.page-sidebar .page-sidebar-menu .sub-menu > li:hover > a,
.page-sidebar .page-sidebar-menu .sub-menu > li.open > a,
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a {
  background: #474747 !important;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li:hover > a > i,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.open > a > i,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.active > a > i,
.page-sidebar .page-sidebar-menu .sub-menu > li:hover > a > i,
.page-sidebar .page-sidebar-menu .sub-menu > li.open > a > i,
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a > i {
  color: #888888;
  color: #bbbbbb;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li:hover > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li:hover > a > .arrow.open:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.open > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.open > a > .arrow.open:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.active > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.active > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu .sub-menu > li:hover > a > .arrow:before,
.page-sidebar .page-sidebar-menu .sub-menu > li:hover > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu .sub-menu > li.open > a > .arrow:before,
.page-sidebar .page-sidebar-menu .sub-menu > li.open > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a > .arrow:before,
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a > .arrow.open:before {
  color: #888888;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light {
  /* 1st level links */
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li:hover > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.open > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li:hover > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.open > a {
  background: #424242;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a {
  background: #474747;
  border-left: 4px solid #d64635;
  color: #f1f1f1;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active > a:hover,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a:hover,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a:hover,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a:hover {
  border-left: 4px solid #d64635;
  background: #424242;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active > a > i,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > i,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a > i,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > i {
  color: #eeeeee;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active > a > .arrow.open:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > .arrow:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a > .arrow:before,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a > .arrow.open:before,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > .arrow:before,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a > .arrow.open:before {
  color: #eeeeee;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu {
  background: #424242;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li:hover > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.open > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.active > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li:hover > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.open > a,
.page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.active > a {
  background: #474747 !important;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler,
.page-sidebar .sidebar-toggler {
  background: #303030;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span:after,
.page-sidebar .sidebar-toggler > span,
.page-sidebar .sidebar-toggler > span:before,
.page-sidebar .sidebar-toggler > span:after {
  background: #858585;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span:hover,
.page-sidebar .sidebar-toggler > span:hover {
  background: #858585;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span:hover:before,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler > span:hover:after,
.page-sidebar .sidebar-toggler > span:hover:before,
.page-sidebar .sidebar-toggler > span:hover:after {
  background: #858585;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler.th-toggle-exit > span,
.page-sidebar .sidebar-toggler.th-toggle-exit > span {
  background-color: transparent !important;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-toggler:hover,
.page-sidebar .sidebar-toggler:hover {
  background: #242323;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group,
.page-sidebar .sidebar-search .input-group {
  border-bottom: 1px solid #484848;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control,
.page-sidebar .sidebar-search .input-group .form-control {
  background-color: #3d3d3d;
  color: #5c5c5c;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-moz-placeholder,
.page-sidebar .sidebar-search .input-group .form-control::-moz-placeholder {
  color: #5c5c5c;
  opacity: 1;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control:-ms-input-placeholder,
.page-sidebar .sidebar-search .input-group .form-control:-ms-input-placeholder {
  color: #5c5c5c;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .form-control::-webkit-input-placeholder,
.page-sidebar .sidebar-search .input-group .form-control::-webkit-input-placeholder {
  color: #5c5c5c;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search .input-group .input-group-btn .btn > i,
.page-sidebar .sidebar-search .input-group .input-group-btn .btn > i {
  color: #5c5c5c;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-bordered .input-group,
.page-sidebar .sidebar-search.sidebar-search-bordered .input-group {
  border: 1px solid #484848;
}

.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .input-group,
.page-sidebar-closed
.page-sidebar .sidebar-search.open .input-group {
  background-color: #3d3d3d;
}

.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.open .remove > i,
.page-sidebar-closed
.page-sidebar .sidebar-search.open .remove > i {
  color: #5c5c5c;
}

.page-sidebar-closed .page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group,
.page-sidebar-closed
.page-sidebar .sidebar-search.sidebar-search-solid .input-group {
  background: none;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group,
.page-sidebar .sidebar-search.sidebar-search-solid .input-group {
  border: 1px solid #303030;
  background: #303030;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid .input-group .form-control,
.page-sidebar .sidebar-search.sidebar-search-solid .input-group .form-control {
  background: #303030;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group,
.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group {
  border: 1px solid #3d3d3d;
  background: #3d3d3d;
}

.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .sidebar-search.sidebar-search-solid.open .input-group .form-control,
.page-sidebar .sidebar-search.sidebar-search-solid.open .input-group .form-control {
  background: #3d3d3d;
}

.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light {
  /* 1st level links */
}

.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light > li.active > a,
.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a {
  border-left: 0;
  border-right: 4px solid #d64635;
}

.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light > li.active > a:hover,
.page-sidebar-reversed .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a:hover {
  border-left: 0;
  border-right: 4px solid #d64635;
}

/******
    Page Footer 
    ******/

.page-footer .page-footer-inner {
  color: #a3a3a3;
}

.page-footer-fixed .page-footer {
  background-color: #2b2b2b;
}

@media (min-width: 992px) {
  /* 992px */

  /* Sidebar menu closed */

  .page-sidebar-menu.page-sidebar-menu-hover-submenu > li:hover > .sub-menu {
    box-shadow: 5px 5px rgba(48, 48, 48, 0.2);
  }

  .page-sidebar-menu.page-sidebar-menu-hover-submenu > li:hover > .sub-menu.sidebar-toggler-wrapper,
  .page-sidebar-menu.page-sidebar-menu-hover-submenu > li:hover > .sub-menu.sidebar-search-wrapper {
    box-shadow: none;
  }

  .page-sidebar-menu.page-sidebar-menu-closed > li:hover {
    box-shadow: 5px 5px rgba(48, 48, 48, 0.2);
  }

  .page-sidebar-menu.page-sidebar-menu-closed > li:hover.sidebar-toggler-wrapper,
  .page-sidebar-menu.page-sidebar-menu-closed > li:hover.sidebar-search-wrapper {
    box-shadow: none;
  }

  .page-sidebar-menu.page-sidebar-menu-closed > li:hover > .sub-menu {
    box-shadow: 5px 5px rgba(48, 48, 48, 0.2);
  }

  .page-sidebar-menu.page-sidebar-menu-closed > li:hover > .sub-menu.sidebar-toggler-wrapper,
  .page-sidebar-menu.page-sidebar-menu-closed > li:hover > .sub-menu.sidebar-search-wrapper {
    box-shadow: none;
  }

  /* Light sidebar menu */

  .page-sidebar-menu.page-sidebar-menu-light.page-sidebar-menu-closed > li.heading {
    padding: 0;
    margin-top: 15px;
    margin-bottom: 15px;
    border-top: 1px solid #484848 !important;
  }

  /* Fixed Sidebar */

  .page-sidebar-fixed:not(.page-footer-fixed) .page-content {
    border-bottom: 0;
  }

  .page-sidebar-fixed:not(.page-footer-fixed) .page-footer {
    background-color: #fff;
  }

  .page-sidebar-fixed:not(.page-footer-fixed) .page-footer .page-footer-inner {
    color: #333;
  }

  /* Boxed Layout */

  .page-boxed {
    background-color: #353535 !important;
    /* Page container */
    /* Page sidebar */
    /* Page footer */
  }

  .page-boxed .page-container {
    background-color: #3d3d3d;
    border-left: 1px solid #484848;
    border-bottom: 1px solid #484848;
  }

  .page-boxed.page-sidebar-reversed .page-container {
    border-left: 0;
    border-right: 1px solid #484848;
  }

  .page-boxed.page-sidebar-fixed .page-container {
    border-left: 0;
    border-bottom: 0;
  }

  .page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-container {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
  }

  .page-boxed.page-sidebar-fixed .page-sidebar {
    border-left: 1px solid #484848;
  }

  .page-boxed.page-sidebar-reversed.page-sidebar-fixed .page-sidebar {
    border-right: 1px solid #484848;
    border-left: 0;
  }

  .page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer {
    background-color: #353535 !important;
  }

  .page-boxed.page-sidebar-fixed.page-footer-fixed .page-footer .page-footer-inner {
    color: #a3a3a3;
  }

  /* Sidebar Menu Wirh Hoverable Submenu */

  .page-sidebar-menu-hover-submenu li:hover a > .arrow {
    border-right: 8px solid #3a3a3a;
  }

  .page-sidebar-reversed .page-sidebar-menu-hover-submenu li:hover a > .arrow {
    border-left: 8px solid #3a3a3a;
  }

  .page-sidebar-menu-hover-submenu li:hover > .sub-menu {
    background: #3a3a3a !important;
  }
}

@media (max-width: 991px) {
  /* 991px */

  /* Page sidebar */

  .page-sidebar {
    background-color: #2b2b2b;
    /* light sidebar */
  }

  .page-sidebar .page-sidebar-menu > li > a {
    border-top: 1px solid #3d3d3d;
  }

  .page-sidebar .page-sidebar-menu > li:hover > a,
  .page-sidebar .page-sidebar-menu > li.open > a {
    background: #333333;
  }

  .page-sidebar .page-sidebar-menu > li:last-child > a {
    border-bottom: 0 !important;
  }

  .page-sidebar .page-sidebar-menu > li .sub-menu {
    background-color: #2b2b2b !important;
  }

  .page-sidebar .page-sidebar-menu .sidebar-search input {
    background-color: #2b2b2b !important;
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light {
    /* 1st level links */
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li:hover > a,
  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.open > a {
    background: #333333;
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a,
  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a {
    background: #333333;
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active > a:hover,
  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li.active.open > a:hover {
    background: #333333;
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu {
    background: #2b2b2b !important;
  }

  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li:hover > a,
  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.open > a,
  .page-sidebar .page-sidebar-menu.page-sidebar-menu-light > li .sub-menu > li.active > a {
    background: #333333 !important;
  }
}

@media (max-width: 480px) {
  /* 480px */

  .page-header.navbar {
    /* Top menu */
  }

  .page-header.navbar .top-menu {
    background-color: #3d3d3d;
  }

  .page-header-fixed-mobile .page-header.navbar .top-menu {
    background-color: #1f1f1f;
  }

  .page-header.navbar .top-menu .navbar-nav > li.dropdown-user .dropdown-toggle {
    background-color: #3b3b3b;
  }

  .page-header-fixed-mobile .page-header.navbar .top-menu .navbar-nav > li.dropdown-user .dropdown-toggle {
    background: none;
  }

  .page-header.navbar .top-menu .navbar-nav > li.dropdown-user .dropdown-toggle:hover {
    background-color: #393838;
  }
}

/****
    Boby
    ****/

body {
  background-color: #3d3d3d;
}

/****
 CSS3 Spinner Bar
****/

.page-spinner-bar > div,
.block-spinner-bar > div {
  background: #da594a;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9sYXlvdXRzL2xheW91dC90aGVtZXMvZGVmYXVsdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9fdmFyaWFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZ2xvYmFsL19jb2xvcnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19wYW5lbHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9nbG9iYWwvX2Jvb3RzdHJhcC1vdmVycmlkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2dsb2JhbC9jb21wb25lbnRzL19taXhpbnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9sYXlvdXRzL2xheW91dC9fdmFyaWFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvbGF5b3V0cy9sYXlvdXQvdGhlbWVzL19iYXNlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jIyBEZWZhdWx0IHRoZW1lIGNvbG9yIGZpbGVcblxuQGltcG9ydCAnLi4vLi4vLi4vZ2xvYmFsL192YXJpYWJsZXMnOyAgLy8gZ2xvYmFsIG1ldHJvbmljIGZyYW1ld29yayB2YXJpYWJsZXNcbkBpbXBvcnQgJy4uLy4uLy4uL2dsb2JhbC9jb21wb25lbnRzL19taXhpbnMnOyAvLyBnbG9iYWwgbWV0cm9uaWMgZnJhbWV3b3JrIG1peGluZ3NcblxuQGltcG9ydCAnLi4vX3ZhcmlhYmxlcyc7IC8vIHRoZW1lIGxldmVsIHZhcmlhYmxlc1xuXG4vLyBUaGVtZSBDb2xvcnMgU2V0dGlnbnNcblxuLy8gTWFpbiBzZXR0aW5nc1xuJHRoZW1lLW5hbWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcImRlZmF1bHRcIjsgXG4kYnJhbmQtbWFpbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQjZDY0NjM1ICFkZWZhdWx0OyAgIFxuJGJyYW5kLW1haW4tZm9udC1jb2xvcjpcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCNmZmZmZmYgIWRlZmF1bHQ7XHQgXHRcdFxuICBcbi8vIEJvZHkgYW5kIGhlYWRlciAgICBcbiRiZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0IzNkM2QzZCAhZGVmYXVsdDtcbiRoZWFkZXItYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0IzFmMWYxZiAhZGVmYXVsdDsgICAgICAgXG4kaGVhZGVyLXRvZ2dsZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRoZWFkZXItYmctY29sb3IsIDQwJSkgIWRlZmF1bHQ7ICBcbiRoZWFkZXItdG9nZ2xlci1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkYmctY29sb3IsIDUlKSAhZGVmYXVsdDsgICBcblxuLy8gTWVnYSBNZW51IFxuJGhlYWRlci1ob3ItbWVudS1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRlci1iZy1jb2xvcjsgICAgIFxuJGhlYWRlci1ob3ItbWVudS1maXhlZC1ib3JkZXItYm94Olx0XHRcdFx0XHRcdFx0XHRcdFx0MHB4IDFweCAxMHB4IDBweCByZ2JhKCRoZWFkZXItaG9yLW1lbnUtYmctY29sb3IsIDAuMik7XG5cbi8vKiogRGVmYXVsdCBNZWdhIE1lbnVcbiRoZWFkZXItaG9yLW1lbnUtbWVnYS1tZW51LWhlYWRlci1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWhvci1tZW51LWJnLWNvbG9yLCA2NSUpO1xuXG4kaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1iZy1jb2xvciwgNjUlKTtcbiRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtY29sb3Itb24taG92ZXI6ICAgICAgICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yLCA1JSk7XG4kaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvciwgMzAlKTtcblxuJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtYmctY29sb3IsIDM1JSk7XG4kaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvciwgNSUpO1xuJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvci1vbi1hY3RpdmU6ICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWljb24tY29sb3IsIDMwJSk7XG5cbiRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWJnLWNvbG9yLCAxMCUpOyBcbiRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICBcdFx0JGJyYW5kLW1haW4tY29sb3I7ICAgIFxuXG4vLyBEZWZhdWx0IE1lZ2EgTWVudSBTdWIgTWVudSBcbiRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBcdFx0JGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstYmctY29sb3Itb24taG92ZXI7ICAgIFxuJGhlYWRlci1ob3ItbWVudS1ib3gtc2hhZG93Olx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ1cHggNXB4IHJnYmEoJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWJnLWNvbG9yLCAwLjIpOyAgICBcblxuJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstYmctY29sb3Itb24tYWN0aXZlOiAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstYmctY29sb3Itb24taG92ZXIsIDQlKTsgXG4kaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgIFx0XHRsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWhvdmVyLCA0JSk7IFxuXG4kaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1iZy1jb2xvciwgNjAlKTtcbiRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWZvbnQtY29sb3Itb24taG92ZXI6ICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLCAxNCUpOyAgICAgICAgIFxuJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU6ICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLCAxNCUpOyAgIFxuXG4kaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstZm9udC1jb2xvciwgMCUpO1xuJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjogICAgICAgIFx0XHRsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWljb24tY29sb3IsIDE0JSk7ICAgIFxuJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvci1vbi1hY3RpdmU6ICAgICAgICBcdFx0bGlnaHRlbigkaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1pY29uLWNvbG9yLCAxNCUpOyAgICAgXG5cbi8vKiogTGlnaHQgTWVnYSBNZW51XG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LW1lZ2EtbWVudS1oZWFkZXItZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgXHQjNjY2OyBcblxuJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIFx0JGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvcjsgXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgXHQkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yLW9uLWhvdmVyO1xuJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU6ICAgICAgICAgICAgIFx0JGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU7IFxuXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgXHQkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yO1xuJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgIFx0JGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjtcbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWljb24tY29sb3Itb24tYWN0aXZlOiAgICAgICAgICAgICBcdCRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWljb24tY29sb3Itb24tYWN0aXZlO1xuXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgICAgXHQkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1ob3ZlcjtcbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICBcdCRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTtcbiBcbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLW9uZW46ICAgICAgICAgICAgICAgXHRsaWdodGVuKCNGQUZBRkMsIDIlKTtcbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtY29sb3Itb24tb25lbjogICAgICAgICAgICAgICBcdCMzMzM7IFxuJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvci1vbi1vbmVuOiAgICAgICAgICAgICAgIFx0IzMzMztcblxuLy8gTGlnaHQgTWVnYSBNZW51IFN1YiBNZW51IFxuJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIFx0JGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstYmctY29sb3Itb24tb25lbjtcbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtYm94LXNoYWRvdzpcdFx0XHRcdFx0XHRcdFx0XHRcdDVweCA1cHggcmdiYSgjNjY2LCAwLjEpO1xuXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU6ICAgICAgICAgICBkYXJrZW4oJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWJnLWNvbG9yLCA0JSk7IFxuJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXI6ICAgICAgICAgICBcdGRhcmtlbigkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtYmctY29sb3IsIDQlKTsgXG5cbiRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICBcdCMwMDA7XG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWhvdmVyOiAgICAgICAgXHQjMDAwOyAgXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZTogICAgICAgIFx0IzAwMDsgIFxuXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgXHQjODg4O1xuJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjogICAgICAgIFx0IzY2NjsgICAgXG4kaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1pY29uLWNvbG9yLW9uLWFjdGl2ZTogICAgICAgIFx0IzY2NjsgIFxuIFxuLy8gSGVhZGVyIHNlYXJjaFxuJGhlYWRlci1zZWFyY2gtYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRkYXJrZW4oJGhlYWRlci1iZy1jb2xvciwgNCUpICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2gtYmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1ob3ZlciAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoLWJnLWNvbG9yLW9uLW9wZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdCRoZWFkZXItc2VhcmNoLWJnLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2gtZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQjOTk5OTk5ICFkZWZhdWx0OyBcbiRoZWFkZXItc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0ZGFya2VuKCRoZWFkZXItc2VhcmNoLWZvbnQtY29sb3IsIDElKSAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnVcbiRoZWFkZXItdG9wLW1lbnUtYmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0JGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstYmctY29sb3Itb24taG92ZXIgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tZW51LWJnLWhvdmVyLWNvbG9yLW9uLWRyb3Bkb3duLW9wZW46ICAgICAgICAgICAgICAgXHRcdCRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWJnLWNvbG9yLW9uLWhvdmVyICFkZWZhdWx0O1xuJGhlYWRlci10b3AtbWVudS1iYWRnZS1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQkYnJhbmQtbWFpbi1jb2xvcjtcbiRoZWFkZXItdG9wLW1lbnUtYmFkZ2UtZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0I2ZmZmZmZjtcbiRoZWFkZXItdG9wLW1lbnUtaWNvbi1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0Izk5OTk5OSAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnUgdXNlciBiYXJcbiRoZWFkZXItdG9wLW1lbnUtdXNlci1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtY29sb3IgIWRlZmF1bHQ7IFxuJGhlYWRlci10b3AtbWVudS11c2VyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQkaGVhZGVyLXNlYXJjaC1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy9iZWdpbjogVG9wIE1lbnUgRXh0ZW5kZWQgRHJvcGRvd25zXG4kaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWl0ZW0tYmctY29sb3Itb24taG92ZXI6ICAgICAgICAgICAgICAjZjhmOWZhO1xuJGhlYWRlci10b3AtbWVudS1leHRlbmRlZC1kcm9wZG93bi1pdGVtLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgI0VGRjJGNjtcbiRoZWFkZXItdG9wLW1lbnUtZXh0ZW5kZWQtZHJvcGRvd24taXRlbS1mb250LWNvbG9yOlx0XHRcdFx0XHRcdCM4ODg4ODg7XG5cbiRoZWFkZXItdG9wLW1lbnUtZXh0ZW5kZWQtZHJvcGRvd24taGVhZGVyLWJnLWNvbG9yOlx0XHRcdFx0XHRcdGRhcmtlbigjZjdmOGZhLCA0JSk7XG4kaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGhlYWRlci10b3AtbWVudS1leHRlbmRlZC1kcm9wZG93bi1oZWFkZXItYmctY29sb3IsIDElKTtcbiRoZWFkZXItdG9wLW1lbnUtZXh0ZW5kZWQtZHJvcGRvd24taGVhZGVyLWZvbnQtY29sb3I6XHRcdFx0XHRcdGRhcmtlbigjNmY5NDljLCA1JSk7IFxuXG4kaGVhZGVyLXRvcC1tZW51LWluYm94LWRyb3Bkb3duLWZyb20tZm9udC1jb2xvcjpcdFx0XHRcdFx0XHQjNWI5YmQxOyAgXG5cbiRoZWFkZXItdG9wLW1lbnUtdGFzay1kcm9wZG93bi1wcm9ncmVzcy1iZy1jb2xvcjpcdFx0XHRcdFx0XHQjZGZlMmU5O1xuXG4kaGVhZGVyLXRvcC1tZW51LW5vdGlmaWNhdGlvbi10aW1lLWJnLWNvbG9yOlx0XHRcdFx0XHRcdFx0bGlnaHRlbigjZWVlLCAxJSk7XG5cbi8vIFRvcCBNZW51IE5vdGlmaWNhdGlvbnNcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1iZy1jb2xvcjogXHRcdFx0XHRcdFx0XHRcdGxpZ2h0ZW4oJGhlYWRlci1ob3ItbWVudS1iZy1jb2xvciwgMTAlKTtcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1oZWFkZXItYmctY29sb3I6XHRcdFx0XHRcdFx0XHRsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtYmctY29sb3IsIDIlKTtcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1oZWFkZXItZm9udC1jb2xvcjpcdFx0XHRcdFx0XHRsaWdodGVuKCRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1oZWFkZXItYmctY29sb3IsIDUwJSk7XG5cbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1pdGVtLWZvbnQtY29sb3I6XHRcdFx0XHRcdFx0XHRsaWdodGVuKCRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1oZWFkZXItYmctY29sb3IsIDU1JSk7ICBcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1pdGVtLWJvcmRlci1jb2xvcjpcdFx0XHRcdFx0XHRsaWdodGVuKCRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1iZy1jb2xvciwgNiUpO1xuJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWl0ZW0taWNvbi1jb2xvcjpcdFx0XHRcdFx0XHRcdGxpZ2h0ZW4oJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWhlYWRlci1iZy1jb2xvciwgNDUlKTtcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1pdGVtLWJnLWNvbG9yLW9uLWhvdmVyOlx0XHRcdFx0XHRsaWdodGVuKCRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1iZy1jb2xvciwgNCUpO1xuXG4kaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstZGVmYXVsdC1tZW51LWRpdmlkZXI6XHRcdFx0XHRcdCRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1pdGVtLWJvcmRlci1jb2xvcjtcbiRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1ub3RpZmljYXRpb24tdGltZS1iZy1jb2xvcjpcdFx0XHRcdGRhcmtlbigkaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstYmctY29sb3IsIDUlKTtcbi8vZW5kOiBUb3AgTWVudSBFeHRlbmRlZCBEcm9wZG93bnNcblxuLy8gU2lkZWJhciBtZW51XG4kc2lkZWJhci1tZW51LWRldmlkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdGRhcmtlbigjNGQ0ZDRkLCAyJSkgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0I2Q5ZDlkOSAhZGVmYXVsdDtcbiRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0JHNpZGViYXItbWVudS1saW5rLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kc2lkZWJhci1tZW51LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgXHRcdCNmZmZmZmYgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0Izg4ODg4OCAhZGVmYXVsdDtcbiRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3Itb24tYWN0aXZlOiAgICAgICAgICAgICAgICAgICBcdFx0JHNpZGViYXItbWVudS1saW5rLWZvbnQtY29sb3Itb24tYWN0aXZlICFkZWZhdWx0O1xuJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciAhZGVmYXVsdDtcblxuJHNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQjMzAzMDMwICFkZWZhdWx0O1xuJHNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHQkYnJhbmQtbWFpbi1jb2xvcjsgIFxuXG4kc2lkZWJhci1tZW51LWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdCM3Nzc3NzcgIWRlZmF1bHQ7XG4kc2lkZWJhci1tZW51LWFycm93LWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdCRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24taG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3Itb24taG92ZXIgIWRlZmF1bHQ7IFxuXG4kc2lkZWJhci1tZW51LXN1Yi1tZW51LWJveC1zaGFkb3ctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXIgIWRlZmF1bHQ7XG4kc2lkZWJhci1tZW51LXN1Yi1tZW51LWxpbmstZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgXHRcdCNiZGJkYmQgIWRlZmF1bHQ7IFxuJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWljb24tZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgIFx0XHQkc2lkZWJhci1tZW51LWFycm93LWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyOiAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRiZy1jb2xvciwgNCUpICFkZWZhdWx0O1xuJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWljb24tZm9udC1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgICAgICAgJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvci1vbi1ob3ZlciAhZGVmYXVsdDtcblxuJHNpZGViYXItbWVudS1ob3Zlci1zdWItbWVudS1iZy1jb2xvcjpcdFx0XHRcdFx0XHRcdFx0XHRsaWdodGVuKCRzaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlciwgNCUpICFkZWZhdWx0OyBcblxuLy8gU2lkZWJhciBmb3IgbW9iaWxlXG4kbW9iaWxlLXNpZGViYXItbWVudS1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0XHRcdGRhcmtlbigkYmctY29sb3IsIDclKSAhZGVmYXVsdDsgICBcbiRtb2JpbGUtc2lkZWJhci1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXI6ICAgICAgICAgICAgIFx0XHRcdFx0ZGFya2VuKCRiZy1jb2xvciwgNCUpICFkZWZhdWx0O1xuXG4vLyBMaWdodCBzaWRlYmFyIG1lbnVcbiRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1tYWluLWNvbG9yICFkZWZhdWx0OyBcbiRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGJnLWNvbG9yLCAyJSkgIWRlZmF1bHQ7IFxuJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkYmctY29sb3IsIDQlKSAhZGVmYXVsdDtcbiRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICNmMWYxZjEgIWRlZmF1bHQ7IFxuJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWljb24tY29sb3Itb24tYWN0aXZlOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDsgICBcbiRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1hcnJvdy1jb2xvci1vbi1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgICNlZWVlZWUgIWRlZmF1bHQ7ICAgICAgXG4gXG4kbGlnaHQtc2lkZWJhci1tZW51LXN1Yi1tZW51LWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRiZy1jb2xvciwgMiUpICFkZWZhdWx0OyBcbiRsaWdodC1zaWRlYmFyLW1lbnUtc3ViLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjpcdFx0XHRcdFx0bGlnaHRlbigkYmctY29sb3IsIDQlKSAhZGVmYXVsdDsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4kbW9iaWxlLWxpZ2h0LXNpZGViYXItbWVudS1zdWItbWVudS1iZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkbW9iaWxlLXNpZGViYXItbWVudS1iZy1jb2xvciAhZGVmYXVsdDsgICBcbiRtb2JpbGUtbGlnaHQtc2lkZWJhci1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXI6ICAgICAgICAgICAgIFx0XHRcdGxpZ2h0ZW4oJG1vYmlsZS1zaWRlYmFyLW1lbnUtYmctY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRtb2JpbGUtbGlnaHQtc2lkZWJhci1tZW51LWxpbmstYmctY29sb3Itb24tYWN0aXZlOiAgICAgICAgICAgICBcdFx0bGlnaHRlbigkbW9iaWxlLXNpZGViYXItbWVudS1iZy1jb2xvciwgMyUpICFkZWZhdWx0O1xuJG1vYmlsZS1saWdodC1zaWRlYmFyLW1lbnUtc3ViLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjogICAgICAgICAgICAgbGlnaHRlbigkbW9iaWxlLXNpZGViYXItbWVudS1iZy1jb2xvciwgMyUpICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyIHNlYXJjaFxuJHNpZGViYXItc2VhcmNoLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRiZy1jb2xvciwgNSUpICFkZWZhdWx0O1xuJHNpZGViYXItc2VhcmNoLWJvdHRvbS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRzaWRlYmFyLW1lbnUtZGV2aWRlci1ib3JkZXItY29sb3IsIDAlKSAhZGVmYXVsdDsgICAgXG4kc2lkZWJhci1zZWFyY2gtZnVsbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJHNpZGViYXItbWVudS1kZXZpZGVyLWJvcmRlci1jb2xvciwgMCUpICFkZWZhdWx0OyAgICAgXG4kc2lkZWJhci1zZWFyY2gtaW5wdXQtZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJHNpZGViYXItbWVudS1kZXZpZGVyLWJvcmRlci1jb2xvciwgOCUpICFkZWZhdWx0O1xuJHNpZGViYXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRzaWRlYmFyLW1lbnUtZGV2aWRlci1ib3JkZXItY29sb3IsIDglKSAhZGVmYXVsdDtcblxuLy8gRm9vdGVyXG4kZm9vdGVyLWRlZmF1bHQtZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oJGJnLWNvbG9yLCA0MCUpICFkZWZhdWx0OyAgICBcbiRmb290ZXItZGVmYXVsdC1nby10b3AtYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0bGlnaHRlbigkYmctY29sb3IsIDclKSAhZGVmYXVsdDsgICAgICAgXG4kZm9vdGVyLWRlZmF1bHQtZ28tdG9wLWljb24tZm9udC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRiZy1jb2xvciwgMzAlKSAhZGVmYXVsdDtcbiRmb290ZXItZml4ZWQtYmctY29sb3I6IFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRhcmtlbigkYmctY29sb3IsIDclKSAhZGVmYXVsdDtcblxuLy9Cb3hlZCBsYXlvdXRcbiRmb3ItbWluLTk5MnB4LXBhZ2UtYm94ZWQtcGFnZS1jb250YWluZXItYmctY29sb3I6ICAgICAgICAgICAgICBcdFx0JHNpZGViYXItbWVudS1kZXZpZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgICAgICBcbiRmb3ItbWluLTk5MnB4LXBhZ2UtYm94ZWQtYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0ZGFya2VuKCRiZy1jb2xvciwgMyUpICFkZWZhdWx0O1xuJGZvci1taW4tOTkycHgtcGFnZS1ib3hlZC1zaWRlYmFyLWZpeGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIFx0XHQkc2lkZWJhci1tZW51LWRldmlkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdfYmFzZSc7IiwiLy8jIyBCb290c3RyYXAgXG4vL1xuLy8gQ29yZSBib290c3RyYXAgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XG5cbiRkaXJlY3Rpb246IFx0XHRcdFx0XHRcdCdsdHInICFkZWZhdWx0O1xuJHRoZW1lLXN0eWxlOiBcdFx0XHRcdFx0XHQnc3F1YXJlJyAhZGVmYXVsdDsgICAgICAgICBcbiR0aGVtZS10eXBlOiAgXHRcdFx0XHRcdFx0J2RlZmF1bHQnICFkZWZhdWx0O1xuICAgIFxuLy8jIyAgVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktcHJpbWFyeTogIFx0ICBcdFx0IFx0XCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1uYXY6XHQgIFx0XHQgXHRcdFJvYm90bywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1kZWZhdWx0OiAgXHQgIFx0XHQgXHRcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRnZW5lcmFsLWhlYWRpbmctY29sb3I6XHRcdFx0XHQjM2Y0NDRhO1xuJGdlbmVyYWwtdGV4dC1jb2xvcjogIFx0XHRcdFx0ZGFya2VuKCM2Nzc1ODEsIDUlKTtcbiRnZW5lcmFsLXRyYW5zaXRpb246XHRcdFx0XHRhbGwgMC4zcztcblxuLy8gR2xvYmFsIHRleHQgY29sb3Igb24gPGJvZHk+XG4kdGV4dC1jb2xvcjogICAgICAgICAgICBcdFx0XHQjMzMzMzMzICFkZWZhdWx0OyAgICAgIFxuICBcbi8vIEdsb2JhbCBsaWdodCB0ZXh0IGNvbG9yIG9uIDxib2R5PlxuJHRleHQtbGlnaHQtY29sb3I6ICAgICBcdCBcdFx0XHQjZmZmZmZmICFkZWZhdWx0OyAgXG5cbi8vIEdsb2JhbCBtdXRlZCB0ZXh0IGNvbG9yIG9uIDxib2R5PlxuJHRleHQtbXV0ZWQtY29sb3I6ICAgICAgXHRcdFx0IzQ0NDQ0NCAhZGVmYXVsdDtcbiAgIFxuLy8gR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgIFx0XHRcdCM1YjliZDEgIWRlZmF1bHQ7XG5cbi8vIExpbmsgaG92ZXIgY29sb3IuXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBcdFx0XHRkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG5cbiRwcmltYXJ5LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM2NUEwRDAgIWRlZmF1bHQ7XG5cbiRnZW5lcmFsLWJvcmRlci1yYWRpdXM6XHRcdFx0XHQ0cHggIWRlZmF1bHQ7XG5cbkBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcblx0JGdlbmVyYWwtYm9yZGVyLXJhZGl1czpcdFx0XHQycHggIWdsb2JhbDtcbn0gXG5cbiRkcm9wZG93bi1zaGFkb3c6XHRcdFx0XHRcdDVweCA1cHggcmdiYSgjNjY2LCAwLjEpO1xuJGljb24tc2l6ZS1ub3JtYWw6XHRcdFx0XHRcdDE0cHggIWRlZmF1bHQ7XG4kYnJhbmQtZGVmYXVsdDpcdFx0XHRcdFx0XHRsaWdodGVuKCNiN2MwY2UsIDElKSAhZGVmYXVsdDsgIFxuJGdlbmVyYWwtcGFuZWwtYmctY29sb3I6XHRcdFx0I2YxZjRmNyAhZGVmYXVsdDtcbiRnZW5lcmFsLXBhbmVsLWJvcmRlci1jb2xvcjpcdFx0ZGFya2VuKCNmMWY0ZjcsIDMlKSAhZGVmYXVsdDtcbiRnZW5lcmFsLXBhbmVsLWZvbnQtY29sb3I6XHRcdFx0IzNmNDQ0YSAhZGVmYXVsdDtcbiRnZW5lcmFsLXNoYWRvdzpcdFx0XHRcdFx0MHB4IDJweCAzcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wMyk7ICBcbiRnZW5lcmFsLWljb24tY29sb3I6XHRcdFx0XHRkYXJrZW4oJGdlbmVyYWwtcGFuZWwtYmctY29sb3IsIDE1JSk7XG4kcGFnZS1jb250ZW50LXNvbGlkLWJnLWNvbG9yOiAgICAgICBkYXJrZW4oJGdlbmVyYWwtcGFuZWwtYmctY29sb3IsIDElKSAhZGVmYXVsdDsgLy8gY29udGVudCBzb2xpZCBiZyBjb2xvci4gZGVmYXVsdDojRjBGMkY3LlxuXG4vLyMjIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIFx0XHRcdDk5OTU7XG4kemluZGV4LW5hdmJhci1hYm92ZTogICAgICBcdFx0XHQ5OTk5O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgXHRcdFx0MTAwMDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIFx0XHRcdDEwMTA7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICBcdFx0XHQxMDMwO1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgXHRcdFx0MTAzMDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIFx0XHRcdDEwMDQ5OyBcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIFx0XHRcdDEwMDUwO1xuJHppbmRleC10b3A6XHRcdFx0XHRcdFx0MTAxMDA7XG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgXHRcdDQ4MHB4ICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXQgIFxuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICBcdFx0NzY4cHggIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgIFx0XHQ5OTJweCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgXHQgXHQxMjAwcHggIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlIC8gd2lkZXIgZGVza3RvcCAgICAgIFxuJHNjcmVlbi1sZy1tZWQ6ICAgICAgICAgICAgICAgICAgICAgMTI2MHB4ICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgXHRcdCgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0OyAgLy8gNzY3cHhcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgXHRcdCgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0OyAgLy8gOTkxcHhcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgXHRcdCgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0OyAgLy8gMTE5OXB4ICBcblxuLy8jIyBJbWFnZSAgcGF0aHNcbiRnbG9iYWwtaW1nLXBhdGg6ICAgICAgICAgICBcdFx0Jy4uL2ltZy8nICFkZWZhdWx0OyBcbiRwYWdlLWltZy1wYXRoOiAgICAgICAgICAgXHRcdFx0Jy4uL2ltZy8nICFkZWZhdWx0OyAgIFxuJHBhZ2UtbWVkaWEtcGF0aDogICAgICAgICAgIFx0XHQnLi4vbWVkaWEvJyAhZGVmYXVsdDsgXG5cbi8vIE1ldHJvbmljIGdyaWQgc3lzdGVtXG5cbiRtLWxheW91dC1icmVha3BvaW50czogKFxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxuICB4czogNDgwcHgsXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgc206IDc2OHB4LFxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXG4gIG1kOiA5OTJweCxcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4gIGxnOiAxMjYwcHhcbikgIWRlZmF1bHQ7XG5cbi8vPT0gR3JpZCBzeXN0ZW1cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRtLWdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJG0tZ3JpZC1jb2x1bW5zLWd1dHRlcjogICAgICAgMjBweCAhZGVmYXVsdDtcblxuXG5AaW1wb3J0IFwiX2Jvb3RzdHJhcC1vdmVycmlkZVwiOyIsIi8vQ29tcG9uZW50IGNvbG9yc1xuXG4kY29tcG9uZW50LWNvbG9yczogKFxuXHRcIndoaXRlXCI6XHQoYmFzZTojZmZmZmZmLCBmb250OiAjNjY2KSxcblx0XCJkZWZhdWx0XCI6XHQoYmFzZTojZTFlNWVjLCBmb250OiAjNjY2KSxcblx0XCJkYXJrXCI6XHQoYmFzZTojMmYzNTNiLCBmb250OiAjRkZGRkZGKSxcblx0XCJibHVlXCI6XHQoYmFzZTojMzU5OGRjLCBmb250OiAjRkZGRkZGKSxcblx0XCJibHVlLW1hZGlzb25cIjpcdChiYXNlOiM1NzhlYmUsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImJsdWUtY2hhbWJyYXlcIjpcdChiYXNlOiMyQzNFNTAsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImJsdWUtZWJvbnljbGF5XCI6XHQoYmFzZTojMjIzMTNGLCBmb250OiAjRkZGRkZGKSxcblx0XCJibHVlLWhva2lcIjpcdChiYXNlOiM2NzgwOUYsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImJsdWUtc3RlZWxcIjpcdChiYXNlOiM0Qjc3QkUsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImJsdWUtc29mdFwiOlx0KGJhc2U6IzRjODdiOSwgZm9udDogI0ZGRkZGRiksXG5cdFwiYmx1ZS1kYXJrXCI6XHQoYmFzZTojNWU3MzhiLCBmb250OiAjRkZGRkZGKSxcblx0XCJibHVlLXNoYXJwXCI6XHQoYmFzZTojNUM5QkQxLCBmb250OiAjRkZGRkZGKSxcblx0XCJibHVlLW9sZW9cIjpcdChiYXNlOiM5NEEwQjIsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImJsdWUtbGlnaHRcIjogKGJhc2U6IzAwQkZGRiwgZm9udDogI0ZGRkZGRiksXG5cdFwiZ3JlZW5cIjpcdChiYXNlOiMzMmM1ZDIsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImdyZWVuLW1lYWRvd1wiOlx0KGJhc2U6IzFCQkM5QiwgZm9udDogI0ZGRkZGRiksXG5cdFwiZ3JlZW4tc2VhZ3JlZW5cIjpcdChiYXNlOiMxQkEzOUMsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImdyZWVuLXR1cnF1b2lzZVwiOlx0KGJhc2U6IzM2RDdCNywgZm9udDogI0ZGRkZGRiksXG5cdFwiZ3JlZW4taGF6ZVwiOlx0KGJhc2U6IzQ0YjZhZSwgZm9udDogI0ZGRkZGRiksXG5cdFwiZ3JlZW4tanVuZ2xlXCI6XHQoYmFzZTojMjZDMjgxLCBmb250OiAjRkZGRkZGKSxcblx0XCJncmVlbi1zb2Z0XCI6XHQoYmFzZTojM2ZhYmE0LCBmb250OiAjRkZGRkZGKSxcblx0XCJncmVlbi1kYXJrXCI6XHQoYmFzZTojNERCM0EyLCBmb250OiAjRkZGRkZGKSxcblx0XCJncmVlbi1zaGFycFwiOlx0KGJhc2U6IzJhYjRjMCwgZm9udDogI0ZGRkZGRiksXG5cdFwiZ3JlZW4tc3RlZWxcIjpcdChiYXNlOiMyOWI0YjYsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImdyZXlcIjpcdChiYXNlOiNFNUU1RTUsIGZvbnQ6ICMzMzMzMzMpLFxuXHRcImdyZXktc3RlZWxcIjpcdChiYXNlOiNlOWVkZWYsIGZvbnQ6ICM4MDg5OGUpLFxuXHRcImdyZXktY2FyYXJyYVwiOlx0KGJhc2U6I2ZhZmFmYSwgZm9udDogIzMzMzMzMyksXG5cdFwiZ3JleS1nYWxsZXJ5XCI6XHQoYmFzZTojNTU1NTU1LCBmb250OiAjZmZmZmZmKSxcblx0XCJncmV5LWNhc2NhZGVcIjpcdChiYXNlOiM5NUE1QTYsIGZvbnQ6ICNGRkZGRkYpLFxuXHRcImdyZXktc2lsdmVyXCI6XHQoYmFzZTojQkZCRkJGLCBmb250OiAjRkFGQ0ZCKSxcblx0XCJncmV5LXNhbHNhXCI6XHQoYmFzZTojQUNCNUMzLCBmb250OiAjRkFGQ0ZCKSxcblx0XCJncmV5LXNhbHRcIjpcdChiYXNlOiNiZmNhZDEsIGZvbnQ6ICNGQUZDRkIpLFxuXHRcImdyZXktbWludFwiOlx0KGJhc2U6IzUyNWU2NCwgZm9udDogI0ZGRkZGRiksXG5cdFwicmVkXCI6XHQoYmFzZTojZTc1MDVhLCBmb250OiAjZmZmZmZmKSxcblx0XCJyZWQtcGlua1wiOlx0KGJhc2U6I0UwODI4MywgZm9udDogI2ZmZmZmZiksXG5cdFwicmVkLXN1bmdsb1wiOlx0KGJhc2U6I0UyNkE2QSwgZm9udDogI2ZmZmZmZiksXG5cdFwicmVkLWludGVuc2VcIjpcdChiYXNlOiNlMzViNWEsIGZvbnQ6ICNmZmZmZmYpLFxuXHRcInJlZC10aHVuZGVyYmlyZFwiOlx0KGJhc2U6I0Q5MUUxOCwgZm9udDogI2ZmZmZmZiksXG5cdFwicmVkLWZsYW1pbmdvXCI6XHQoYmFzZTojRUY0ODM2LCBmb250OiAjZmZmZmZmKSxcblx0XCJyZWQtc29mdFwiOlx0KGJhc2U6I2QwNTQ1NCwgZm9udDogI2ZmZmZmZiksXG5cdFwicmVkLWhhemVcIjpcdChiYXNlOiNmMzZhNWEsIGZvbnQ6ICNmZmZmZmYpLFxuXHRcInJlZC1taW50XCI6XHQoYmFzZTojZTQzYTQ1LCBmb250OiAjZmZmZmZmKSxcblx0XCJ5ZWxsb3dcIjpcdChiYXNlOiNjNDlmNDcsIGZvbnQ6ICNmZmZmZmYpLFxuXHRcInllbGxvdy1nb2xkXCI6XHQoYmFzZTojRTg3RTA0LCBmb250OiAjZmZmZmZmKSxcblx0XCJ5ZWxsb3ctY2FzYWJsYW5jYVwiOlx0KGJhc2U6I2YyNzg0YiwgZm9udDogI2ZmZmZmZiksXG5cdFwieWVsbG93LWNydXN0YVwiOlx0KGJhc2U6I2YzYzIwMCwgZm9udDogI2ZmZmZmZiksXG5cdFwieWVsbG93LWxlbW9uXCI6XHQoYmFzZTojRjdDQTE4LCBmb250OiAjZmZmZmZmKSxcblx0XCJ5ZWxsb3ctc2FmZnJvblwiOlx0KGJhc2U6I0Y0RDAzRiwgZm9udDogI2ZmZmZmZiksXG5cdFwieWVsbG93LXNvZnRcIjpcdChiYXNlOiNjOGQwNDYsIGZvbnQ6ICNmZmZmZmYpLFxuXHRcInllbGxvdy1oYXplXCI6XHQoYmFzZTojYzViZjY2LCBmb250OiAjZmZmZmZmKSxcblx0XCJ5ZWxsb3ctbWludFwiOlx0KGJhc2U6I2M1Yjk2YiwgZm9udDogI2ZmZmZmZiksXG5cdFwicHVycGxlXCI6XHQoYmFzZTojOEU0NEFELCBmb250OiAjZmZmZmZmKSxcblx0XCJwdXJwbGUtcGx1bVwiOlx0KGJhc2U6Izg3NzVhNywgZm9udDogI2ZmZmZmZiksXG5cdFwicHVycGxlLW1lZGl1bVwiOlx0KGJhc2U6I0JGNTVFQywgZm9udDogI2ZmZmZmZiksXG5cdFwicHVycGxlLXN0dWRpb1wiOlx0KGJhc2U6IzhFNDRBRCwgZm9udDogI2ZmZmZmZiksXG5cdFwicHVycGxlLXdpc3RlcmlhXCI6XHQoYmFzZTojOUI1OUI2LCBmb250OiAjZmZmZmZmKSxcblx0XCJwdXJwbGUtc2VhbmNlXCI6XHQoYmFzZTojOUExMkIzLCBmb250OiAjZmZmZmZmKSxcblx0XCJwdXJwbGUtaW50ZW5zZVwiOlx0KGJhc2U6Izg3NzVhNywgZm9udDogI2ZmZmZmZiksXG5cdFwicHVycGxlLXNoYXJwXCI6XHQoYmFzZTojNzk2Nzk5LCBmb250OiAjZmZmZmZmKSxcblx0XCJwdXJwbGUtc29mdFwiOlx0KGJhc2U6Izg4NzdhOSwgZm9udDogI2ZmZmZmZilcbik7XG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRlIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXG4kZGwtaG9yaXpvbnRhbC1icmVha3BvaW50OiAgICAkZ3JpZC1mbG9hdC1icmVha3BvaW50ICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xIChoYXMgYmVlbiByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIExhYmVsc1xuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IGhhdmUgYmVlbiByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5cbkBtaXhpbiBzY2FsZVgoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbn1cbkBtaXhpbiBzY2FsZVkoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbn1cbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG59XG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjsgLy8gSUU5IG9ubHlcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuXG5cbi8vIFRyYW5zaXRpb25zXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGk6IDEsICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogIGZsb29yKCgkZ3V0dGVyIC8gMikpO1xuICBwYWRkaW5nLXJpZ2h0OiBjZWlsKCgkZ3V0dGVyIC8gMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8vPT0gQ29sb3JzXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICBcdFx0ZGFya2VuKCMzNDQ5NUUsIDIwJSk7IFxuJGdyYXktZGFyazogICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRncmF5LWJhc2UsIDIwJSk7IFxuJGdyYXk6ICAgICAgICAgICAgICAgICAgIFx0XHRsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKTtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBcdFx0bGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSk7XG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIFx0XHRkYXJrZW4oIzQyOGJjYSwgNi41JSk7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICBcdFx0bGlnaHRlbigjMzJjNWQyLCAxJSk7IFxuJGJyYW5kLWluZm86ICAgICAgICAgICAgXHRcdGxpZ2h0ZW4oIzU4OTNkZCwgMyUpOyBcbiRicmFuZC13YXJuaW5nOiAgICAgICAgXHRcdFx0I0YxQzQwRjsgIFxuJGJyYW5kLWRhbmdlcjogICAgICAgICAgXHRcdGxpZ2h0ZW4oI2ViNWQ2OCwgMyUpOyAgICBcblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiA7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICBkYXJrZW4oI2YxZjRmNywgMSUpO1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oIzAwMDAwMCwgMzMuNSUpO1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oI2UxZTVlYywgMTAlKTtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1ib3JkZXIsIDE1JSk7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OTtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgO1xuXG4vLz09IERyb3Bkb3duc1xuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICNlMWU1ZWM7IC8vIHNldCBieSBrZWVudGhlbWVzXG5cbi8vPT0gV2VsbHNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgXHRsaWdodGVuKCRncmF5LWJhc2UsIDg3JSk7ICAvLyBzZXQgYnkga2VlbnRoZW1lc1xuXG4vLz09IFRhYmxlc1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4gIFxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICBsaWdodGVuKCRnZW5lcmFsLXBhbmVsLWJnLWNvbG9yLCAzJSk7ICBcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGdlbmVyYWwtcGFuZWwtYmctY29sb3IsIDElKTtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyO1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICBcdGRhcmtlbigkZ2VuZXJhbC1wYW5lbC1iZy1jb2xvciwgMyUpO1xuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICBkYXJrZW4oJGJyYW5kLXN1Y2Nlc3MsIDEwJSk7ICBcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGJyYW5kLXN1Y2Nlc3MsIDI4JSk7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBsaWdodGVuKCRicmFuZC1zdWNjZXNzLCAyOCUpO1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICBcdCBkYXJrZW4oJGJyYW5kLWluZm8sIDEyJSk7ICBcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgIFx0IGxpZ2h0ZW4oJGJyYW5kLWluZm8sIDI5JSk7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICBcdCBsaWdodGVuKCRicmFuZC1pbmZvLCAyOSUpO1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJyYW5kLWRhbmdlciwgMTAlKTsgIFxuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgbGlnaHRlbigkYnJhbmQtZGFuZ2VyLCAyNiUpO1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgbGlnaHRlbigkYnJhbmQtZGFuZ2VyLCAyNiUpO1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICBkYXJrZW4oJGJyYW5kLXdhcm5pbmcsIDEwJSk7ICBcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGJyYW5kLXdhcm5pbmcsIDI3JSk7ICBcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGJyYW5kLXdhcm5pbmcsIDI3JSk7XG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsO1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2M7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKTtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpO1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSk7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZztcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKTtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZjtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXI7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKTtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZztcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXI7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnO1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlcjtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmc7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyO1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnO1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXI7XG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2Vzcztcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nO1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyO1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm87XG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmO1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeTtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnO1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyO1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmc7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXI7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZztcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXI7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnO1xuXG4vLz09IExpc3QgR3JvdXBcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgIFx0XHQkZ2VuZXJhbC1wYW5lbC1iZy1jb2xvcjtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOlx0XHRcdGxpZ2h0ZW4oJGdlbmVyYWwtcGFuZWwtZm9udC1jb2xvciwgNDUlKTtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6XHRsaWdodGVuKCRnZW5lcmFsLXBhbmVsLWZvbnQtY29sb3IsIDQ1JSk7IiwiLy9cbi8vIE1peGluc1xuLy8gQmFzZWQgb24gVHdpdHRlciBCb290c3RyYXAncyBfbWl4aW5ncy5zY3NzXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCR2YWx1ZSwgJGltcG9ydGFudDogJycpIHtcbiAgb3BhY2l0eTogJHZhbHVlICN7JGltcG9ydGFudH07XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0jeyR2YWx1ZSAqIDEwMH0pICN7JGltcG9ydGFudH07XG59XG5cbi8vIEJvcmRlciByYWRpdXMuXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMsICRpbXBvcnRhbnQ6ICcnKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cyN7JGltcG9ydGFudH07XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cyN7JGltcG9ydGFudH07XG4gIC1tcy1ib3JkZXItcmFkaXVzOiAkcmFkaXVzI3skaW1wb3J0YW50fTsgIFxuICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzI3skaW1wb3J0YW50fTsgICAgICBcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyN7JGltcG9ydGFudH07IFxufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgeyBjb2xvcjogJGNvbG9yOyBvcGFjaXR5OiAxOyB9IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vIEJ5IGRlZmF1bHQgc2V0IHRvOiBub25lXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vLyBMYWJlbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gIGVhc2Utb3V0KCRkdXJhdGlvbjogNDUwbXMsICRwcm9wZXJ0eTogYWxsLCAkZGVsYXk6IDBtcykge1xuICB0cmFuc2l0aW9uOiAkcHJvcGVydHkgJGR1cmF0aW9uIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAkZGVsYXk7XG59XG5cbkBtaXhpbiAgcHVsc2F0ZSgkYW5pbWF0aW9uLW5hbWUsICRzdGFydC1zaXplOiAwLjc1LCAkZW5kLXNpemU6IDEsICRkdXJhdGlvbjogMS41cykge1xuICBAa2V5ZnJhbWVzIFwiI3skYW5pbWF0aW9uLW5hbWV9XCIge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHN0YXJ0LXNpemUpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkZW5kLXNpemUpO1xuICAgIH1cbiAgfSAgXG4gIGFuaW1hdGlvbjogJGFuaW1hdGlvbi1uYW1lICRkdXJhdGlvbiBlYXNlIDBzIGluZmluaXRlO1xufVxuXG4vKiBDdWJpYyBCZXppZXIgVHJhbnNpdGlvbiAqL1xuQG1peGluIGN1YmljLXRyYW5zaXRpb24gKCRkZWxheSwgJGR1cmF0aW9uLCAkcHJvcGVydHkpIHtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIGR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgIHByb3BlcnR5OiAkcHJvcGVydHk7XG4gICAgICAgIHRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMSwgMC43LCAxKTtcbiAgICB9IFxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1vcGFjaXR5KCRjb2xvciwgJG9wYWNpdHk6IDAuMykge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XG59XG5cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbigkcG9zaXRpb246IGFic29sdXRlKSB7XG4gIHBvc2l0aW9uOiAjeyRwb3NpdGlvbn07XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtKCRkZWdyZWUpIHsgIFxuICB3ZWJraXQtdHJhbnNmb3JtOiAkZGVncmVlO1xuICAtbW96LXRyYW5zZm9ybTogJGRlZ3JlZTtcbiAgLW1zLXRyYW5zZm9ybTogJGRlZ3JlZTtcbiAgLW8tdHJhbnNmb3JtOiAkZGVncmVlO1xuICB0cmFuc2Zvcm06ICRkZWdyZWU7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKSB7XG4gIHdlYmtpdC10cmFuc2l0aW9uOiAjeyR0cmFuc2l0aW9ufTtcbiAgLW1vei10cmFuc2l0aW9uOiAjeyR0cmFuc2l0aW9ufTtcbiAgLW1zLXRyYW5zaXRpb246ICN7JHRyYW5zaXRpb259O1xuICAtby10cmFuc2l0aW9uOiAjeyR0cmFuc2l0aW9ufTtcbiAgdHJhbnNpdGlvbjogI3skdHJhbnNpdGlvbn07XG59XG5cbkBtaXhpbiBidXJnZXItaWNvbigkbGluZS1jb2xvciwgJGxpbmUtY29sb3ItaG92ZXIsICRsaW5lLXdpZHRoLCAkbGluZS1oZWlnaHQsICRiYXNlLXRvcDogLTVweCwgJGFib3ZlLXRvcDogNXB4LCAkYmVsb3ctdG9wOiAtNXB4KSB7XG4gID4gc3BhbiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGluZS1jb2xvci1ob3ZlcjtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaW5lLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gc3BhbixcbiAgPiBzcGFuOmJlZm9yZSxcbiAgPiBzcGFuOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRsaW5lLXdpZHRoO1xuICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRsaW5lLWNvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRiYXNlLXRvcDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuM3M7XG4gIH1cblxuICA+IHNwYW46YmVmb3JlLFxuICA+IHNwYW46YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgPiBzcGFuOmJlZm9yZSB7XG4gICAgdG9wOiAkYWJvdmUtdG9wO1xuICB9XG5cbiAgPiBzcGFuOmFmdGVyIHtcbiAgICB0b3A6ICRiZWxvdy10b3A7XG4gIH1cblxuICAmLnRoLXRvZ2dsZS1leGl0IHtcbiAgICA+IHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+IHNwYW46YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLSRiYXNlLXRvcCkgcm90YXRlWig0NWRlZykpO1xuICAgIH1cblxuICAgID4gc3BhbjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoJGJhc2UtdG9wKSByb3RhdGVaKC00NWRlZykpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLWljb24tY29sb3ItY2hhbmdlKCRsaW5lLWNvbG9yLCAkbGluZS1jb2xvci1ob3Zlcikge1xuICA+IHNwYW4sXG4gID4gc3BhbjpiZWZvcmUsXG4gID4gc3BhbjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGxpbmUtY29sb3I7XG4gIH1cblxuICA+IHNwYW4ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGxpbmUtY29sb3ItaG92ZXI7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGluZS1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnRoLXRvZ2dsZS1leGl0IHtcbiAgICA+IHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNsb3NlLWljb24oJGljb24tc2l6ZSwgJGxpbmUtc2l6ZSwgJGNvbG9yLCAkY29sb3ItaG92ZXIpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkaWNvbi1zaXplO1xuICBoZWlnaHQ6ICRpY29uLXNpemU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6ICRsaW5lLXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAkbGluZS1zaXplIC8gMjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuICB9XG59XG5cbkBtaXhpbiBjbG9zZS1pY29uLWNvbG9yLWNoYW5nZSgkY29sb3IsICRjb2xvci1ob3Zlcikge1xuICAmOmhvdmVyIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgfVxufVxuIiwiLy8jIyAgRGVmYXVsdCBMYXlvdXQgU2V0dGluZ3Ncbi8vXG4vLyBEZWZpbmUgbGF5b3V0IGVsZW1lbnQgd2lkdGggYW5kIGhlaWdodC5cblxuLy8gSGVhZGVyXG4kaGVhZGVyLWhlaWdodDogICAgICAgICAgICAgXHRcdFx0XHQgICAgICAgICAgICBcdFx0XHRcdDUwcHggICFkZWZhdWx0OyAvLyBoZWFkZXIgaGVpZ2h0IG9uIHRhYmxlIGFuZCBkZXNrdG9wIHZpZXcuIGRlZmF1bHQ6IDQycHhcbiRoZWFkZXItaGVpZ2h0LXhzOiAgICAgICAgICAgICBcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KCRoZWFkZXItaGVpZ2h0ICogMikgIWRlZmF1bHQ7IC8vIGhlYWRlciBoZWlnaHQgb24gbW9iaWxlIHZpZXdcblxuJG1lbnUtdG9nZ2xlci1zaXplOlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQxOXB4O1xuXG4kaGVhZGVyLWxvZ28taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFx0MTRweDsgXG4kaGVhZGVyLW1lbnUtdG9nZ2xlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFx0JG1lbnUtdG9nZ2xlci1zaXplOyAgXG4kaGVhZGVyLW1lbnUtdG9nZ2xlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFx0JG1lbnUtdG9nZ2xlci1zaXplO1xuJGhlYWRlci1zaWRlYmFyLXRvZ2dsZXItbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0XHRcdCgkaGVhZGVyLWhlaWdodCAtICRtZW51LXRvZ2dsZXItc2l6ZSkgLyAyIDAgMCAwICFkZWZhdWx0O1xuJGhlYWRlci1yZXNwb25zaXZlLXRvZ2dsZXItbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICBcdFx0XHRcdCgkaGVhZGVyLWhlaWdodCAtICRtZW51LXRvZ2dsZXItc2l6ZSkgLyAyIDZweCAwIDZweCAhZGVmYXVsdDsgXG4kaGVhZGVyLWxvZ28tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdFx0XHRcdCgkaGVhZGVyLWhlaWdodCAtICRoZWFkZXItbG9nby1oZWlnaHQpIC8gMiAwIDAgMCAhZGVmYXVsdDsgIC8vIGFkanN1dCBsb2dvJ3MgbWFyZ2luIHRvcC4gZGVmYXVsdDogLTFweFxuXG4kaGVhZGVyLXRvcC1tZW51LWdlbmVyYWwtaXRlbS1wYWRkaW5nOiAgICAgIFx0XHRcdFx0XHRcdFx0MTlweCAxMHB4IDEwcHggMTBweCAhZGVmYXVsdDsgIC8vIGFkanVzdCB0b3AgbWVudSBnZW5lcmFsIGVsZW1lbnRzIHBhZGRpbmcuIGRlZmF1bHQ6IDE1cHggMTBweCA3cHggMTBweFxuJGhlYWRlci10b3AtbWVudS1nZW5lcmFsLWl0ZW0tcGFkZGluZy1vbi1tb2JpbGU6ICAgICAgIFx0XHRcdFx0XHQxOXB4IDZweCAxMHB4IDZweCAhZGVmYXVsdDsgIC8vIGFkanVzdCB0b3AgbWVudSBnZW5lcmFsIGVsZW1lbnRzIHBhZGRpbmcgbW9iaWxlLiBkZWZhdWx0OiAxNXB4IDEwcHggN3B4IDEwcHhcbiRoZWFkZXItdG9wLW1lbnUtdXNlci1pdGVtLXBhZGRpbmc6ICAgICAgICAgXHRcdFx0XHQgIFx0XHRcdDE2cHggNnB4IDEzcHggOHB4ICFkZWZhdWx0OyAvLyBhZGp1c3QgdG9wIG1lbnUgdXNlciBiYXIgZWxlbWVudCBwYWRkaW5nLiBkZWZhdWx0OiA2cHggMHB4IDZweCA2cHhcbiRoZWFkZXItdG9wLW1lbnUtdXNlci1pdGVtLXBhZGRpbmctb24tbW9iaWxlOiAgICAgICAgIFx0XHRcdFx0XHQxNnB4IDBweCAxM3B4IDJweCAhZGVmYXVsdDsgIC8vIGFkanVzdCB0b3AgbWVudSB1c2VyIGJhciBlbGVtZW50IHBhZGRpbmcgb24gbW9iaWxlLiBkZWZhdWx0OiA2cHggMHB4IDZweCA0cHhcbiRoZWFkZXItdG9wLW1lbnUtbGFuZ3VhZ2UtaXRlbS1wYWRkaW5nOiAgICAgXHRcdFx0XHRcdFx0XHQxNnB4IDNweCAxM3B4IDdweCAhZGVmYXVsdDsgIC8vIGFkanVzdCB0b3AgbWVudSBsYW5ndWFnZSBiYXIgZWxlbWVudCBwYWRkaW5nLiBkZWZhdWx0OiAxMXB4IDFweCAxMXB4IDVweFxuJGhlYWRlci10b3AtbWVudS1sYW5ndWFnZS1pdGVtLXBhZGRpbmctb24tbW9iaWxlOlx0XHRcdFx0XHRcdDE2cHggNHB4IDEzcHggMnB4ICFkZWZhdWx0OyAgLy8gYWRqdXN0IHRvcCBtZW51IGxhbmd1YWdlIGJhciBlbGVtZW50IHBhZGRpbmcuIGRlZmF1bHQ6IDExcHggMHB4IDExcHggNHB4XG4kaGVhZGVyLXRvcC1tZW51LWdlbmVyYWwtaXRlbS1iYWRnZS10b3A6ICAgICAgICAgICAgICAgIFx0XHRcdFx0MTBweCAhZGVmYXVsdDsgIC8vIGFkanVzdCB0b3AgbWVudSBnZW5lcmFsIGVsZW1lbnRzIGJhZGdlIHRvcCBwb3NpdGlvbi4gZGVmYXVsdDogOHB4XG4kaGVhZGVyLXRvcC1tZW51LWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxN3B4ICFkZWZhdWx0OyAgICAgICAgICAgICBcblxuJGhlYWRlci10b3AtbWVudS11c2VyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTNweCAhZGVmYXVsdDsgXG4kaGVhZGVyLXRvcC1tZW51LXVzZXItZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7IFxuJGhlYWRlci10b3AtbWVudS11c2VyLWRyb3Bkb3duLWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTRweCAhZGVmYXVsdDsgICAgXG4kaGVhZGVyLXRvcC1tZW51LXVzZXItZHJvcGRvd24tbGluay1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7IFxuXG4kaGVhZGVyLWhvci1tZW51LWdlbmVyYWwtaXRlbS1wYWRkaW5nOiAgICAgXHRcdFx0XHRcdFx0XHRcdDEzcHggMTNweCAhZGVmYXVsdDsgIC8vIGFkanVzdCBob3IgbWVudSBlbGVtZW50cyBwYWRkaW5nIHRvcC4gZGVmYXVsdDogMTFweCAxMHB4XG4kaGVhZGVyLWhvci1tZW51LXN1Ym1lbnUtaXRlbS1wYWRkaW5nOiBcdFx0XHRcdCBcdFx0XHRcdFx0OXB4IDEwcHggIWRlZmF1bHQ7ICAvLyBhZGp1c3QgaG9yIG1lbnUgZWxlbWVudHMgcGFkZGluZyB0b3AuIGRlZmF1bHQ6IDdweCAxMHB4XG4kaGVhZGVyLWhvci1tZW51LXN1Ym1lbnUtaXRlbS1hcnJvdy10b3A6ICAgICAgICAgICAgICAgIFx0XHRcdFx0OXB4OyAgLy8gYWRqdXN0IGhvciBtZW51IGRyb3Bkb3duIG1lbnUncyBhcnJvdy4gZGVmYXVsdDogOXB4ICAgICBcbiRoZWFkZXItaG9yLW1lbnUtc2VhcmNoLXRvZ2dsZXItYnV0dG9uLXBhZGRpbmc6ICAgICAgXHRcdFx0XHRcdDE1cHggMjJweCAxNXB4IDIycHggIWRlZmF1bHQ7ICAvLyBhZGp1c3QgaG9yIG1lbnUgZWxlbWVudHMgcGFkZGluZyB0b3AuIGRlZmF1bHQ6IDEzcHggMjJweCAxMXB4IDIycHhcbiRoZWFkZXItaG9yLW1lbnUtc2VhcmNoLWJ1dHRvbi1wYWRkaW5nOiAgICAgXHRcdCBcdFx0XHRcdFx0N3B4IDIwcHggIWRlZmF1bHQ7ICAvLyBhZGp1c3QgaG9yIG1lbnUgZWxlbWVudHMgcGFkZGluZyB0b3AuIGRlZmF1bHQ6IDVweCAyMHB4XG4kaGVhZGVyLWhvci1tZW51LXNlYXJjaC1pbnB1dC1tYXJnaW46ICAgIFx0XHRcdCBcdFx0XHRcdFx0N3B4IDAgMCAwICFkZWZhdWx0OyAgLy8gYWRqdXN0IGhvciBtZW51IGVsZW1lbnRzIHBhZGRpbmcgdG9wLiBkZWZhdWx0OiA1cHggMCAwIDBcblxuLy8gSG9yaXpvbnRhbCBtZW51IGZvbnRcbiRoZWFkZXItaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGhlYWRlci1ob3ItbWVudS1tZWdhLW1lbnUtaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDsgICBcbiRoZWFkZXItaG9yLW1lbnUtbWVnYS1tZW51LWhlYWRlci1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDQwMCAhZGVmYXVsdDsgIFxuXG4vLyBTaWRlYmFyXG4kc2lkZWJhci13aWR0aDogICAgICAgICAgICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDIzNXB4ICFkZWZhdWx0OyAvLyBzaWRlYmFyIHdpZHRoLiBkZWZhdWx0OjIzNXB4XG4kc2lkZWJhci1jb2xsYXBzZWQtd2lkdGg6ICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDQ1cHggICFkZWZhdWx0OyAvLyBtaW5pbWl6ZWQvY29sbGFwc2VkIHNpZGViYXIgd2lkdGguIGRlZmF1bHQ6MzVweFxuJHNpZGViYXItY29sbGFwc2VkLXN1Ym1lbnUtd2lkdGgtb24taG92ZXI6XHRcdFx0XHRcdFx0XHRcdDIxMHB4ICFkZWZhdWx0OyAvLyBzdWIgbWVudSB3aWR0aCBkaXNwbGF5ZWQgb24gaG92ZXIgaW4gY29sbGFwc2VkIHNpZGViYXIgbW9kZS4gZGVmYXVsdDoyMTBweFxuJHNpZGViYXItbG9nby1jb250YWluZXItd2lkdGg6ICBcdFx0XHRcdFx0XHRcdFx0XHRcdCRzaWRlYmFyLXdpZHRoICFkZWZhdWx0OyAvLyBsb2dvIGNvbnRhaW5lciB3aWR0aC4gTm9ybWFsbHkgc2FtZSB3aXRoIHNpZGViYXItd2lkdGguXG4kc2lkZWJhci1sb2dvLWNvbnRhaW5lci13aWR0aC14czogXHRcdFx0XHRcdFx0XHRcdFx0XHQxMTBweCAhZGVmYXVsdDsgLy8gbG9nbyBjb250YWluZXIgd2lkdGggaW4gbW9iaWxlIHBvcnRyYWl0IHZpZXcuIGRlZmF1bHQ6MTEwcHguXG4kc2lkZWJhci1sb2dvLWNvbnRhaW5lci13aWR0aC14eHM6IFx0XHRcdFx0XHRcdFx0XHRcdFx0MTAwcHggIWRlZmF1bHQ7IC8vIGxvZ28gY29udGFpbmVyIHdpZHRoIGluIG1vYmlsZSBsYW5kc3BhY2Ugdmlldy4gZGVmYXVsdDoxMDBweC5cblxuJHNpZGViYXItbWVudS1oZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRzaWRlYmFyLW1lbnUtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kc2lkZWJhci1tZW51LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDAgICFkZWZhdWx0O1xuJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRzaWRlYmFyLW1lbnUtc3ViLW1lbnUtbGluay1pY29uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG5cbi8vIFBhZ2UgY29udGVudFxuJHBhZ2UtY29udGVudC1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICBcdFx0XHRcdFx0XHRcdDYwMHB4ICFkZWZhdWx0OyAvLyBkZWZhdWx0IHBhZ2UgY29udGVudCdzIG1pbiBoZWlnaHQuIGRlZmF1bHQ6NjAwcHguXG5cbi8vIFBhZ2UgZm9vdGVyXG4kcGFnZS1mb290ZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzM3B4ICFkZWZhdWx0O1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4kemluZGV4LWhlYWRlci1maXhlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OTk1ICFkZWZhdWx0O1xuJHppbmRleC1oZWFkZXItc3RhdGljOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTk5NSAhZGVmYXVsdDtcbiR6aW5kZXgtcXVpY2stc2lkZWJhcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwNTAwICFkZWZhdWx0O1xuJHppbmRleC1xdWljay1zaWRlYmFyLWZ1bGwtaGVpZ2h0Olx0XHRcdFx0XHRcdFx0XHRcdFx0OTk5NiAhZGVmYXVsdDtcbiR6aW5kZXgtc2lkZWJhci1maXhlZDogICAgIFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEwMDAwICFkZWZhdWx0OyBcbiR6aW5kZXgtZm9vdGVyLWZpeGVkOiAgICAgIFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEwMDAwICFkZWZhdWx0O1xuJHppbmRleC1zaWRlYmFyLXN1Ym1lbnU6ICAgXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0MjAwMCAhZGVmYXVsdDsgXG4kemluZGV4LWdvLXRvLXRvcDogICBcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgMTAwMDEgIWRlZmF1bHQ7IFxuXG4vLyMjIExheW91dCBpbWFnZSAgcGF0aHNcbiRsYXlvdXQtaW1nLXBhdGg6ICAgICAgICAgICBcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Jy4uL2ltZy8nICFkZWZhdWx0OyIsIiAgICAvLyMjIEJhc2UgdGhlbWUgY29sb3IgZmlsZVxuXG4gICAgLyoqKioqKioqKioqIFxuICAgIFBhZ2UgSGVhZGVyXG4gICAgKioqKioqKioqKiovXG5cbiAgICAvKiBIZWFkZXIgc2VhcmNoIGJhciwgdG9nZ2xlciBidXR0b24gJiB0b3AgbWVudSAqL1xuICAgIC5wYWdlLWhlYWRlci5uYXZiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWJnLWNvbG9yO1xuXG4gICAgICAgIC8qIFRvcCBub3RpZmljYXRpb24gbWVudS9iYXIgKi9cbiAgICAgICAgLnRvcC1tZW51IHtcbiAgICAgICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICAgICAgICA+IGxpLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRvcC1tZW51LWljb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlLmJhZGdlLWRlZmF1bHQgeyAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtYmFkZ2UtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtYmFkZ2UtZm9udC1jb2xvcjsgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtYmctaG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkaGVhZGVyLXRvcC1tZW51LWljb24tZm9udC1jb2xvciwgMTUlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci10b3AtbWVudS1iZy1ob3Zlci1jb2xvci1vbi1kcm9wZG93bi1vcGVuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGhlYWRlci10b3AtbWVudS1pY29uLWZvbnQtY29sb3IsIDE1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogRXh0ZW5kZWQgRHJvcGRvd25zICovXG4gICAgICAgICAgICAgICAgPiBsaS5kcm9wZG93bi1leHRlbmRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWJvcmRlci1jb2xvcjsgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtZXh0ZW5kZWQtZHJvcGRvd24taGVhZGVyLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpLmV4dGVybmFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWhlYWRlci1iZy1jb2xvcjsgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWhlYWRlci1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhlYWRlci10b3AtbWVudS1leHRlbmRlZC1kcm9wZG93bi1pdGVtLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtZXh0ZW5kZWQtZHJvcGRvd24taXRlbS1mb250LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXRvcC1tZW51LWV4dGVuZGVkLWRyb3Bkb3duLWl0ZW0tYmctY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAgIFxuXG4gICAgICAgICAgICAgICAgLyogTm90aWZpY2F0aW9uICovXG4gICAgICAgICAgICAgICAgPiBsaS5kcm9wZG93bi1ub3RpZmljYXRpb24geyAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LWxpc3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXRvcC1tZW51LW5vdGlmaWNhdGlvbi10aW1lLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkaGVhZGVyLXRvcC1tZW51LW5vdGlmaWNhdGlvbi10aW1lLWJnLWNvbG9yLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qIEluYm94ICovXG4gICAgICAgICAgICAgICAgPiBsaS5kcm9wZG93bi1pbmJveCB7XG4gICAgICAgICAgICAgICAgICAgID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1tYWluLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtbWFpbi1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5jb3JuZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGJyYW5kLW1haW4tY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudS1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3ViamVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRvcC1tZW51LWluYm94LWRyb3Bkb3duLWZyb20tZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8qIFRhc2tzICovXG4gICAgICAgICAgICAgICAgPiBsaS5kcm9wZG93bi10YXNrcyB7XG5cbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci10b3AtbWVudS10YXNrLWRyb3Bkb3duLXByb2dyZXNzLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qIFVzZXIgKi9cbiAgICAgICAgICAgICAgICA+IGxpLmRyb3Bkb3duLXVzZXIge1xuICAgICAgICAgICAgICAgICAgICA+IC5kcm9wZG93bi10b2dnbGUgeyAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gLnVzZXJuYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci10b3AtbWVudS11c2VyLWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtdXNlci1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuZHJvcGRvd24tbWVudSB7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTk1cHg7XG4gICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogTGFuZ3VhZ2UgKi9cbiAgICAgICAgICAgICAgICA+IGxpLmRyb3Bkb3duLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5sYW5nbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtdXNlci1mb250LWNvbG9yOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBEYXJrIHZlcnNpb24gKi9cbiAgICAgICAgICAgICAgICA+IGxpLmRyb3Bkb3duLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstYmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1iZy1jb2xvcjsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpLmV4dGVybmFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstaGVhZGVyLWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkbGluay1jb2xvciwgMTElKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZHJvcGRvd24tbWVudS1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtbGlzdCB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWl0ZW0tZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaGVhZGVyLXRvcC1tZW51LWRyb3Bkb3duLWRhcmstaXRlbS1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWl0ZW0taWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWl0ZW0tYmctY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZHJvcGRvd24tbWVudS1kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLWRlZmF1bHQtbWVudS1kaXZpZGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBsaS5kcm9wZG93bi1ub3RpZmljYXRpb24uZHJvcGRvd24tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItdG9wLW1lbnUtZHJvcGRvd24tZGFyay1ub3RpZmljYXRpb24tdGltZS1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGhlYWRlci10b3AtbWVudS1kcm9wZG93bi1kYXJrLW5vdGlmaWNhdGlvbi10aW1lLWJnLWNvbG9yLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuXG4gICAgICAgIC8qIEhlYWRlciBzZWFlY2ggYm94ICovXG4gICAgICAgIC5zZWFyY2gtZm9ybSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXNlYXJjaC1iZy1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1zZWFyY2gtYmctaG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXNlYXJjaC1mb250LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRoZWFkZXItc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtY29sb3IpOyBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYnRuIHsgXG4gICAgICAgICAgICAgICAgICAgIC5idG4uc3VibWl0IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zZWFyY2gtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgXG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItc2VhcmNoLWJnLWNvbG9yLW9uLW9wZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUb2dnbGVyIGJ1dHRvbiBmb3Igc2lkZWJhciBleHBhbmQvY29sbGFwc2UgYW5kIHJlc3BvbnNpdmUgc2lkZWJhciBtZW51ICovXG4gICAgICAgIC5tZW51LXRvZ2dsZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnVyZ2VyLWljb24tY29sb3ItY2hhbmdlKCRoZWFkZXItdG9nZ2xlci1jb2xvciwgJGhlYWRlci10b2dnbGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmF1bHQgSG9yaXpvbnRhbCBNZW51ICovXG5cbiAgICAucGFnZS1oZWFkZXIubmF2YmFyIHtcblxuICAgICAgICAvKiBEZWZhdWx0IE1lZ2EgTWVudSAqL1xuICAgICAgICAuaG9yLW1lbnUge1xuICAgICAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgICAgICAgIC8qIE1lZ2EgbWVudSBjb250ZW50ICovXG4gICAgICAgICAgICAgICAgPiBsaS5tZWdhLW1lbnUtZHJvcGRvd24ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGVyLWhvci1tZW51LWJveC1zaGFkb3c7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVnYS1tZW51LWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tZWdhLW1lbnUtc3VibWVudSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItaG9yLW1lbnUtbWVnYS1tZW51LWhlYWRlci1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBDbGFzc2ljIG1lbnUgKi9cbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciA+IGEsXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiA+IGEsXG4gICAgICAgICAgICAgICAgICAgID4gYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvci1vbi1ob3ZlciA7ICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1ob3ZlciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yLW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEsXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1hY3RpdmUgIWltcG9ydGFudDsgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZCB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkaGVhZGVyLWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGVyLWhvci1tZW51LWJveC1zaGFkb3c7IFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstZm9udC1jb2xvcjsgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWZvbnQtY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjsgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1pY29uLWNvbG9yLW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWZvbnQtY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstYmctY29sb3Itb24tYWN0aXZlOyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1iZy1jb2xvciwgNSUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWljb24tY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gIFxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExpZ2h0IE1lZ2EgTWVudSAqL1xuICAgICAgICAuaG9yLW1lbnUuaG9yLW1lbnUtbGlnaHQgeyBcbiAgICAgICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICAgICAgICAvKiBNZWdhIG1lbnUgY29udGVudCAqL1xuICAgICAgICAgICAgICAgID4gbGkubWVnYS1tZW51LWRyb3Bkb3duIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGhlYWRlci1saWdodC1ob3ItbWVudS1ib3gtc2hhZG93O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lZ2EtbWVudS1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVnYS1tZW51LXN1Ym1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LW1lZ2EtbWVudS1oZWFkZXItZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogQ2xhc3NpYyBtZW51ICovXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiBhLFxuICAgICAgICAgICAgICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1ob3ZlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWZvbnQtY29sb3Itb24tb25lbiAhaW1wb3J0YW50OyAgXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1vbmVuICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZGVmYXVsdC1saW5rLWljb24tY29sb3Itb24tb25lbiAhaW1wb3J0YW50OyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhLFxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1saWdodC1ob3ItbWVudS1kZWZhdWx0LWxpbmstYmctY29sb3Itb24tYWN0aXZlOyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1pY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1iZy1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWZvbnQtY29sb3I7ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWljb24tY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXI7ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saWdodC1ob3ItbWVudS1kcm9wZG93bi1tZW51LWxpbmstaWNvbi1jb2xvci1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRyb3Bkb3duLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTsgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1saW5rLWljb24tY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRoZWFkZXItbGlnaHQtaG9yLW1lbnUtZHJvcGRvd24tbWVudS1iZy1jb2xvciwgNCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkaGVhZGVyLWxpZ2h0LWhvci1tZW51LWRlZmF1bHQtbGluay1iZy1jb2xvci1vbi1vbmVuLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC5kcm9wZG93bi1tZW51IHsgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogUGFnZSBzaWRlYmFyICovXG5cbiAgICAucGFnZS1zaWRlYmFyLWNsb3NlZC5wYWdlLXNpZGViYXItZml4ZWQgLnBhZ2Utc2lkZWJhcjpob3ZlcixcbiAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yOyAgIFxuXG4gICAgICAgIC8qIERlZmF1bHQgc2lkZWJhciAqL1xuICAgICAgICAucGFnZS1zaWRlYmFyLW1lbnUge1xuXG4gICAgICAgICAgICAvKiAxc3QgbGV2ZWwgbGlua3MgKi9cblxuICAgICAgICAgICAgPiBsaSB7ICBcbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHNpZGViYXItbWVudS1kZXZpZGVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yOyAgXG5cbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1tZW51LWxpbmstaWNvbi1mb250LWNvbG9yOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gaVtjbGFzc149XCJpY29uLVwiXSxcbiAgICAgICAgICAgICAgICAgICAgPiBpW2NsYXNzKj1cImljb24tXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkdGhlbWUtbmFtZSA9PSBcImxpZ2h0XCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciwgMTUlKTsgXG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICR0aGVtZS1uYW1lID09IFwibGlnaHQyXCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciwgMTUlKTsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciwgNSUpOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgICAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLm9wZW46YmVmb3JlIHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1tZW51LWFycm93LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yLCAyMyUpOyAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtbGluay1mb250LWNvbG9yLW9uLWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1tZW51LWxpbmstaWNvbi1mb250LWNvbG9yLW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuOmJlZm9yZSB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZS5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1tZW51LWxpbmstZm9udC1jb2xvci1vbi1hY3RpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuOmJlZm9yZSB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlICsgbGkge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZS5vcGVuICsgbGkge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHNpZGViYXItbWVudS1kZXZpZGVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICAvKiBBbGwgbGlua3MgKi9cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgID4gLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuOmJlZm9yZSB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItbWVudS1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3BlbjpiZWZvcmUgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3BlbjpiZWZvcmUgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnBhZ2Utc2lkZWJhci1jbG9zZWQgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1tZW51LXN1Yi1tZW51LWxpbmstZm9udC1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWljb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpW2NsYXNzXj1cImljb24tXCJdLFxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpW2NsYXNzKj1cImljb24tXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRoZW1lLW5hbWUgPT0gXCJsaWdodFwiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkc2lkZWJhci1tZW51LWxpbmstaWNvbi1mb250LWNvbG9yLCAxNSUpOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICR0aGVtZS1uYW1lID09IFwibGlnaHQyXCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3IsIDE1JSk7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciwgNSUpOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3BlbjpiZWZvcmUgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9ICBcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4sXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItbWVudS1zdWItbWVudS1saW5rLWljb24tZm9udC1jb2xvci1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICR0aGVtZS1uYW1lID09IFwibGlnaHRcIiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzaWRlYmFyLW1lbnUtbGluay1pY29uLWZvbnQtY29sb3IsIDE1JSk7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICR0aGVtZS1uYW1lID09IFwibGlnaHQyXCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkc2lkZWJhci1tZW51LWxpbmstaWNvbi1mb250LWNvbG9yLCAxNSUpOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHNpZGViYXItbWVudS1saW5rLWljb24tZm9udC1jb2xvciwgMjAlKTsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuOmJlZm9yZSB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLW1lbnUtYXJyb3ctY29sb3Itb24taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGxpZ2h0IHNpZGViYXIgKi9cbiAgICAgICAgLnBhZ2Utc2lkZWJhci1tZW51LnBhZ2Utc2lkZWJhci1tZW51LWxpZ2h0IHsgIFxuXG4gICAgICAgICAgICAvKiAxc3QgbGV2ZWwgbGlua3MgKi9cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjsgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZS5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWZvbnQtY29sb3Itb24tYWN0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRzaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyOyBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWljb24tY29sb3Itb24tYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuOmJlZm9yZSB7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1zaWRlYmFyLW1lbnUtbGluay1hcnJvdy1jb2xvci1vbi1hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LXNpZGViYXItbWVudS1zdWItbWVudS1iZy1jb2xvcjsgXG5cbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1zaWRlYmFyLW1lbnUtc3ViLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2lkZWJhci10b2dnbGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1cmdlci1pY29uLWNvbG9yLWNoYW5nZSgkaGVhZGVyLXRvZ2dsZXItY29sb3IsICRoZWFkZXItdG9nZ2xlci1jb2xvcik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItdG9nZ2xlci1iZy1jb2xvcjsgXG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkaGVhZGVyLXRvZ2dsZXItYmctY29sb3IsIDUlKTsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTaWRlYmFyIHNlYXJjaCAqL1xuXG4gICAgICAgIC5zaWRlYmFyLXNlYXJjaCB7XG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzaWRlYmFyLXNlYXJjaC1ib3R0b20tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLXNlYXJjaC1pbnB1dC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkc2lkZWJhci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcik7IFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC1idG4geyAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItc2VhcmNoLWlucHV0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2lkZWJhci1zZWFyY2gtYm9yZGVyZWQge1xuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzaWRlYmFyLXNlYXJjaC1mdWxsLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgIFxuXG4gICAgICAgICAgICAucGFnZS1zaWRlYmFyLWNsb3NlZCAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucmVtb3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1zZWFyY2gtaW5wdXQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zaWRlYmFyLXNlYXJjaC1zb2xpZCB7XG5cbiAgICAgICAgICAgICAgICAucGFnZS1zaWRlYmFyLWNsb3NlZCAmIHsgIFxuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzaWRlYmFyLXNlYXJjaC1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItc2VhcmNoLWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItc2VhcmNoLWJnLWNvbG9yOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3BlbiAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjsgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1zaWRlYmFyLXJldmVyc2VkIHsgICBcblxuICAgICAgICAucGFnZS1zaWRlYmFyLW1lbnUucGFnZS1zaWRlYmFyLW1lbnUtbGlnaHQgeyBcbiAgICAgICAgICAgIC8qIDFzdCBsZXZlbCBsaW5rcyAqL1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZS5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGxpZ2h0LXNpZGViYXItbWVudS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJHNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqKipcbiAgICBQYWdlIEZvb3RlciBcbiAgICAqKioqKiovXG5cbiAgICAucGFnZS1mb290ZXIge1xuICAgICAgICAucGFnZS1mb290ZXItaW5uZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItZGVmYXVsdC1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAucGFnZS1mb290ZXItZml4ZWQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWZpeGVkLWJnLWNvbG9yOyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgeyAvKiA5OTJweCAqL1xuXG4gICAgICAgIC8qIFNpZGViYXIgbWVudSBjbG9zZWQgKi9cbiAgICAgICAgLnBhZ2Utc2lkZWJhci1tZW51LnBhZ2Utc2lkZWJhci1tZW51LWhvdmVyLXN1Ym1lbnUge1xuICAgICAgICAgICAgPiBsaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IHJnYmEoJHNpZGViYXItbWVudS1zdWItbWVudS1ib3gtc2hhZG93LWNvbG9yLCAwLjIpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi5zaWRlYmFyLXRvZ2dsZXItd3JhcHBlcixcbiAgICAgICAgICAgICAgICAgICAgJi5zaWRlYmFyLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1zaWRlYmFyLW1lbnUucGFnZS1zaWRlYmFyLW1lbnUtY2xvc2VkIHtcbiAgICAgICAgICAgID4gbGk6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggcmdiYSgkc2lkZWJhci1tZW51LXN1Yi1tZW51LWJveC1zaGFkb3ctY29sb3IsIDAuMik7XG5cbiAgICAgICAgICAgICAgICAmLnNpZGViYXItdG9nZ2xlci13cmFwcGVyLFxuICAgICAgICAgICAgICAgICYuc2lkZWJhci1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IHJnYmEoJHNpZGViYXItbWVudS1zdWItbWVudS1ib3gtc2hhZG93LWNvbG9yLCAwLjIpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi5zaWRlYmFyLXRvZ2dsZXItd3JhcHBlcixcbiAgICAgICAgICAgICAgICAgICAgJi5zaWRlYmFyLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAvKiBMaWdodCBzaWRlYmFyIG1lbnUgKi9cbiAgICAgICAgLnBhZ2Utc2lkZWJhci1tZW51LnBhZ2Utc2lkZWJhci1tZW51LWxpZ2h0LnBhZ2Utc2lkZWJhci1tZW51LWNsb3NlZCB7ICBcbiAgICAgICAgICAgID4gbGkuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRzaWRlYmFyLW1lbnUtZGV2aWRlci1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLyogRml4ZWQgU2lkZWJhciAqL1xuXG4gICAgICAgIC5wYWdlLXNpZGViYXItZml4ZWQ6bm90KC5wYWdlLWZvb3Rlci1maXhlZCkge1xuICAgICAgICAgICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhZ2UtZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgLnBhZ2UtZm9vdGVyLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogQm94ZWQgTGF5b3V0ICovXG5cbiAgICAgICAgLnBhZ2UtYm94ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvci1taW4tOTkycHgtcGFnZS1ib3hlZC1iZy1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAvKiBQYWdlIGNvbnRhaW5lciAqL1xuICAgICAgICAgICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZm9yLW1pbi05OTJweC1wYWdlLWJveGVkLXBhZ2UtY29udGFpbmVyLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZm9yLW1pbi05OTJweC1wYWdlLWJveGVkLXBhZ2UtY29udGFpbmVyLWJnLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhZ2Utc2lkZWJhci1yZXZlcnNlZCB7XG4gICAgICAgICAgICAgICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRmb3ItbWluLTk5MnB4LXBhZ2UtYm94ZWQtcGFnZS1jb250YWluZXItYmctY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhZ2Utc2lkZWJhci1maXhlZCB7XG4gICAgICAgICAgICAgICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhZ2Utc2lkZWJhci1yZXZlcnNlZC5wYWdlLXNpZGViYXItZml4ZWQge1xuICAgICAgICAgICAgICAgIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICBcbiAgICAgICAgICAgIC8qIFBhZ2Ugc2lkZWJhciAqL1xuXG4gICAgICAgICAgICAmLnBhZ2Utc2lkZWJhci1maXhlZCB7XG4gICAgICAgICAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGZvci1taW4tOTkycHgtcGFnZS1ib3hlZC1zaWRlYmFyLWZpeGVkLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYucGFnZS1zaWRlYmFyLXJldmVyc2VkLnBhZ2Utc2lkZWJhci1maXhlZCB7XG4gICAgICAgICAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRmb3ItbWluLTk5MnB4LXBhZ2UtYm94ZWQtc2lkZWJhci1maXhlZC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIFBhZ2UgZm9vdGVyICovXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYucGFnZS1zaWRlYmFyLWZpeGVkLnBhZ2UtZm9vdGVyLWZpeGVkIHtcbiAgICAgICAgICAgICAgICAucGFnZS1mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yLW1pbi05OTJweC1wYWdlLWJveGVkLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnBhZ2UtZm9vdGVyLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWRlZmF1bHQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICAvKiBTaWRlYmFyIE1lbnUgV2lyaCBIb3ZlcmFibGUgU3VibWVudSAqL1xuXG4gICAgICAgIC5wYWdlLXNpZGViYXItbWVudS1ob3Zlci1zdWJtZW51IHsgIFxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIgeyBcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5hcnJvdyB7ICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OjhweCBzb2xpZCAkc2lkZWJhci1tZW51LWhvdmVyLXN1Yi1tZW51LWJnLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBhZ2Utc2lkZWJhci1yZXZlcnNlZCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6OHB4IHNvbGlkICRzaWRlYmFyLW1lbnUtaG92ZXItc3ViLW1lbnUtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItbWVudS1ob3Zlci1zdWItbWVudS1iZy1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHsgLyogOTkxcHggKi9cbiAgICAgICAgLyogUGFnZSBzaWRlYmFyICovXG4gICAgICAgIC5wYWdlLXNpZGViYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vYmlsZS1zaWRlYmFyLW1lbnUtYmctY29sb3I7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5wYWdlLXNpZGViYXItbWVudSB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1vYmlsZS1zaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9iaWxlLXNpZGViYXItbWVudS1iZy1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNpZGViYXItc2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vYmlsZS1zaWRlYmFyLW1lbnUtYmctY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogbGlnaHQgc2lkZWJhciAqL1xuICAgICAgICAgICAgLnBhZ2Utc2lkZWJhci1tZW51LnBhZ2Utc2lkZWJhci1tZW51LWxpZ2h0IHsgIFxuXG4gICAgICAgICAgICAgICAgLyogMXN0IGxldmVsIGxpbmtzICovXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW9iaWxlLWxpZ2h0LXNpZGViYXItbWVudS1saW5rLWJnLWNvbG9yLW9uLWhvdmVyOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSwgIFxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZS5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1vYmlsZS1saWdodC1zaWRlYmFyLW1lbnUtbGluay1iZy1jb2xvci1vbi1hY3RpdmU7IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtbGlnaHQtc2lkZWJhci1tZW51LWxpbmstYmctY29sb3Itb24tYWN0aXZlOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtbGlnaHQtc2lkZWJhci1tZW51LXN1Yi1tZW51LWJnLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtbGlnaHQtc2lkZWJhci1tZW51LXN1Yi1tZW51LWxpbmstYmctY29sb3Itb24taG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1taW4pIHsgLyogNDgwcHggKi9cblxuICAgICAgICAucGFnZS1oZWFkZXIubmF2YmFyIHtcbiAgICAgICAgICAgIC8qIFRvcCBtZW51ICovICBcbiAgICAgICAgICAgIC50b3AtbWVudSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yOyBcblxuICAgICAgICAgICAgICAgIC5wYWdlLWhlYWRlci1maXhlZC1tb2JpbGUgJiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItYmctY29sb3I7ICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgICAgICAgICAgICA+IGxpLmRyb3Bkb3duLXVzZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRoZWFkZXItdG9wLW1lbnUtYmctaG92ZXItY29sb3IsIDElKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wYWdlLWhlYWRlci1maXhlZC1tb2JpbGUgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdG9wLW1lbnUtYmctaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcblxuICAgIC8qKioqXG4gICAgQm9ieVxuICAgICoqKiovICAgICBcbiBcbiAgICBib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjsgXG4gICAgfVxuXG4vKioqKlxuIENTUzMgU3Bpbm5lciBCYXJcbioqKiovICBcblxuLnBhZ2Utc3Bpbm5lci1iYXIgPiBkaXYsICBcbi5ibG9jay1zcGlubmVyLWJhciA+IGRpdiB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkYnJhbmQtbWFpbi1jb2xvciwgNSUpO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQW9DMkVBLDZCQUE2QjtBRXpFekI7O2dCQUVZO0FBRVosa0RBQWtEO0FBQ2xELEFBQUEsWUFBWSxBQUFBLE9BQU8sQ0FBQztFQUNoQixnQkFBZ0IsRXRDUTZDLE9BQU87RXNDTnBFLCtCQUErQjtFQStPL0IsdUJBQXVCO0VBNkJ2Qiw0RUFBNEU7Q0FJL0U7O0FBblJELEFBS1EsWUFMSSxBQUFBLE9BQU8sQ0FJZixTQUFTLENBQ0wsV0FBVyxDQUFDO0VBZ0NSLHdCQUF3QjtFQTBDeEIsa0JBQWtCO0VBcUJsQixXQUFXO0VBd0JYLFdBQVc7RUFZWCxVQUFVO0VBa0JWLGNBQWM7RUFVZCxrQkFBa0I7Q0EyRXJCOztBQS9PVCxBQVFvQixZQVJSLEFBQUEsT0FBTyxDQUlmLFNBQVMsQ0FDTCxXQUFXLEdBQ0wsRUFBRSxBQUFBLFNBQVMsQ0FDVCxnQkFBZ0IsR0FDVixDQUFDLENBQUM7RUFDQSxLQUFLLEV0Q2tGaUMsT0FBTztDc0NqRmhEOztBQVZyQixBQVlv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 */