/*
 * Bluecadet.com - Website Redesign
 * @Description - Main CSS file
 * @author Putra Roeung
 * @copyright 2014 Bluecadet, info@bluecadet.com
 ***********************************************/
/********************
** Breakpoints
********************/
/********************
** Media Queries
********************/
/********************
** Fonts
********************/
/********************
** Colors
********************/
/********************
** Images
********************/
/********************
** Transition Timing Functions
********************/
/* Links */
a.animated, p a,
p a:visited,
.faux-link.animated,
.sf-level-0.sf-option-active {
  position: relative;
  display: inline;
  white-space: inherit;
  border-bottom: solid 1px;
  padding-bottom: 1px;
  line-height: 1.3; }
  @media only screen and (min-width: 640px) {
    a.animated, p a,
    p a:visited,
    .faux-link.animated,
    .sf-level-0.sf-option-active {
      display: inline-block;
      white-space: nowrap;
      border-bottom: none;
      -webkit-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -moz-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -ms-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -o-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
      a.animated:after, p a:after,
      p a:visited:after,
      .faux-link.animated:after,
      .sf-level-0.sf-option-active:after {
        content: '';
        display: inline-block;
        height: 2px;
        background-color: currentColor;
        bottom: -4px;
        left: 0;
        right: 0;
        position: absolute;
        -webkit-transition: background-color 0.15s;
        -moz-transition: background-color 0.15s;
        -ms-transition: background-color 0.15s;
        -o-transition: background-color 0.15s;
        transition: background-color 0.15s; }
      a.animated.hover, p a.hover,
      .faux-link.animated.hover,
      .sf-level-0.sf-option-active.hover {
        -webkit-transition: color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -moz-transition: color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -ms-transition: color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -o-transition: color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        transition: color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s; }
        a.animated.hover:after, p a.hover:after,
        .faux-link.animated.hover:after,
        .sf-level-0.sf-option-active.hover:after {
          -webkit-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
          -ms-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
          -moz-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
          animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
          background-color: currentColor;
          -webkit-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
          -moz-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
          -ms-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
          -o-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
          transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s; } }

a.animated-arrow {
  padding-right: 20px;
  padding-bottom: 0;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  display: inline-block;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  -ms-transition: color 0.2s;
  -o-transition: color 0.2s;
  transition: color 0.2s;
  font-weight: 500;
  border: none;
  font-size: 16px;
  font-size: 1rem;
  line-height: 20px; }
  a.animated-arrow:before {
    content: '\66';
    font-family: f-icons;
    position: absolute;
    right: 0;
    font-size: 12px;
    line-height: 20px;
    color: #2d3338;
    -webkit-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -moz-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -ms-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -o-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s; }

@-moz-document url-prefix() {
  a.animated-arrow:before {
    line-height: 22px; } }
  a.animated-arrow:hover {
    color: #2d3338;
    -webkit-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -moz-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -ms-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    -o-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s;
    transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s; }
    a.animated-arrow:hover:before {
      -webkit-transform: translateX(6px);
      -moz-transform: translateX(6px);
      -ms-transform: translateX(6px);
      -o-transform: translateX(6px);
      transform: translateX(6px);
      color: #1638e2; }

@-webkit-keyframes oldLinkUnderline {
  0% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0px; } }

@-moz-keyframes oldLinkUnderline {
  0% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0px; } }

@-o-keyframes oldLinkUnderline {
  0% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0px; } }

@keyframes oldLinkUnderline {
  0% {
    left: 0;
    right: 0; }
  100% {
    left: 100%;
    right: 0px; } }

@-webkit-keyframes newLinkUnderline {
  0% {
    left: 0px;
    right: 100%; }
  100% {
    left: 0;
    right: 0; } }

@-moz-keyframes newLinkUnderline {
  0% {
    left: 0px;
    right: 100%; }
  100% {
    left: 0;
    right: 0; } }

@-o-keyframes newLinkUnderline {
  0% {
    left: 0px;
    right: 100%; }
  100% {
    left: 0;
    right: 0; } }

@keyframes newLinkUnderline {
  0% {
    left: 0px;
    right: 100%; }
  100% {
    left: 0;
    right: 0; } }

/* Images */
.image-wrapper {
  position: relative; }

.b-lazy,
.b-lazy-video {
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s; }
  .b-lazy.b-loaded,
  .b-lazy-video.b-loaded {
    opacity: 1; }

/* Page Transitions  */
.js #page {
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s; }
  .js #page.initial-load {
    opacity: 1; }
  .js #page #main {
    -webkit-transition: opacity 0.25s;
    -moz-transition: opacity 0.25s;
    -ms-transition: opacity 0.25s;
    -o-transition: opacity 0.25s;
    transition: opacity 0.25s; }

/* Main Nav  */
@media only screen and (min-width: 1024px) {
  .nav nav .menu-primary .menu-item a {
    padding-bottom: 3px; }
    .nav nav .menu-primary .menu-item a:after {
      content: '';
      display: inline-block;
      height: 2px;
      background-color: currentColor;
      bottom: -4px;
      left: 0;
      right: 0;
      position: absolute;
      opacity: 0;
      -webkit-transition: opacity 0.15s;
      -moz-transition: opacity 0.15s;
      -ms-transition: opacity 0.15s;
      -o-transition: opacity 0.15s;
      transition: opacity 0.15s; }
  .nav nav .menu-primary .menu-item:hover a:after, .nav nav .menu-primary .menu-item.active-menu-item a:after {
    opacity: 1; }
  .nav nav .menu-primary .menu-item.hover a:after {
    -webkit-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
    -ms-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
    -moz-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
    animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
    background-color: currentColor;
    -webkit-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
    -moz-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
    -ms-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
    -o-transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
    transition: background-color 0.1s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s; } }

/* Content Load  */
@media (max-width: 1023px) {
  .js .nav nav .menu-item {
    opacity: 0;
    -webkit-transform: translateX(50px);
    -moz-transform: translateX(50px);
    -ms-transform: translateX(50px);
    -o-transform: translateX(50px);
    transform: translateX(50px);
    -webkit-transition: transform 0.5s, opacity 0.75s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -moz-transition: transform 0.5s, opacity 0.75s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -ms-transition: transform 0.5s, opacity 0.75s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -o-transition: transform 0.5s, opacity 0.75s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    transition: transform 0.5s, opacity 0.75s cubic-bezier(0.555, 0.205, 0.295, 0.975); } }

@media (max-width: 1023px) {
  .js .nav nav .menu-primary .menu-item:nth-of-type(1) {
    transition-delay: 0.1s; }
  .js .nav nav .menu-primary .menu-item:nth-of-type(2) {
    transition-delay: 0.15s; }
  .js .nav nav .menu-primary .menu-item:nth-of-type(3) {
    transition-delay: 0.2s; }
  .js .nav nav .menu-primary .menu-item:nth-of-type(4) {
    transition-delay: 0.25s; }
  .js .nav nav .menu-primary .menu-item:nth-of-type(5) {
    transition-delay: 0.3s; } }

@media (max-width: 1023px) {
  .js .nav nav .menu-utility .menu-item:nth-of-type(1) {
    transition-delay: 0.3s; }
  .js .nav nav .menu-utility .menu-item:nth-of-type(2) {
    transition-delay: 0.35s; } }

.js ._scroll-animate {
  opacity: 0;
  visibility: visible;
  transform: translateY(20px);
  transition: opacity 1s, transform 0.75s; }
  @media only screen and (min-width: 640px) {
    .js ._scroll-animate {
      transform: translateY(40px); } }
  .js ._scroll-animate .b-loaded-parent {
    transition: background-color 0.15s 1s; }
  .js ._scroll-animate .b-lazy,
  .js ._scroll-animate .b-lazy-video {
    opacity: 0;
    transition-delay: 0.15s; }
  .js ._scroll-animate ._scroll-animate-step {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
    @media only screen and (min-width: 640px) {
      .js ._scroll-animate ._scroll-animate-step {
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px); } }
    .js ._scroll-animate ._scroll-animate-step:nth-child(0) {
      -webkit-transition: opacity 0.75s 0.1s, transform 0.65s 0s;
      -moz-transition: opacity 0.75s 0.1s, transform 0.65s 0s;
      -ms-transition: opacity 0.75s 0.1s, transform 0.65s 0s;
      -o-transition: opacity 0.75s 0.1s, transform 0.65s 0s;
      transition: opacity 0.75s 0.1s, transform 0.65s 0s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(0) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 0.5s;
        -moz-transition: background-color 0.75s 0.5s;
        -ms-transition: background-color 0.75s 0.5s;
        -o-transition: background-color 0.75s 0.5s;
        transition: background-color 0.75s 0.5s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(0) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(0) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 0.3s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(1) {
      -webkit-transition: opacity 0.75s 0.25s, transform 0.65s 0.15s;
      -moz-transition: opacity 0.75s 0.25s, transform 0.65s 0.15s;
      -ms-transition: opacity 0.75s 0.25s, transform 0.65s 0.15s;
      -o-transition: opacity 0.75s 0.25s, transform 0.65s 0.15s;
      transition: opacity 0.75s 0.25s, transform 0.65s 0.15s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(1) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 0.65s;
        -moz-transition: background-color 0.75s 0.65s;
        -ms-transition: background-color 0.75s 0.65s;
        -o-transition: background-color 0.75s 0.65s;
        transition: background-color 0.75s 0.65s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(1) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(1) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 0.45s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(2) {
      -webkit-transition: opacity 0.75s 0.4s, transform 0.65s 0.3s;
      -moz-transition: opacity 0.75s 0.4s, transform 0.65s 0.3s;
      -ms-transition: opacity 0.75s 0.4s, transform 0.65s 0.3s;
      -o-transition: opacity 0.75s 0.4s, transform 0.65s 0.3s;
      transition: opacity 0.75s 0.4s, transform 0.65s 0.3s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(2) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 0.8s;
        -moz-transition: background-color 0.75s 0.8s;
        -ms-transition: background-color 0.75s 0.8s;
        -o-transition: background-color 0.75s 0.8s;
        transition: background-color 0.75s 0.8s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(2) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(2) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 0.6s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(3) {
      -webkit-transition: opacity 0.75s 0.55s, transform 0.65s 0.45s;
      -moz-transition: opacity 0.75s 0.55s, transform 0.65s 0.45s;
      -ms-transition: opacity 0.75s 0.55s, transform 0.65s 0.45s;
      -o-transition: opacity 0.75s 0.55s, transform 0.65s 0.45s;
      transition: opacity 0.75s 0.55s, transform 0.65s 0.45s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(3) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 0.95s;
        -moz-transition: background-color 0.75s 0.95s;
        -ms-transition: background-color 0.75s 0.95s;
        -o-transition: background-color 0.75s 0.95s;
        transition: background-color 0.75s 0.95s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(3) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(3) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 0.75s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(4) {
      -webkit-transition: opacity 0.75s 0.7s, transform 0.65s 0.6s;
      -moz-transition: opacity 0.75s 0.7s, transform 0.65s 0.6s;
      -ms-transition: opacity 0.75s 0.7s, transform 0.65s 0.6s;
      -o-transition: opacity 0.75s 0.7s, transform 0.65s 0.6s;
      transition: opacity 0.75s 0.7s, transform 0.65s 0.6s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(4) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.1s;
        -moz-transition: background-color 0.75s 1.1s;
        -ms-transition: background-color 0.75s 1.1s;
        -o-transition: background-color 0.75s 1.1s;
        transition: background-color 0.75s 1.1s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(4) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(4) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 0.9s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(5) {
      -webkit-transition: opacity 0.75s 0.85s, transform 0.65s 0.75s;
      -moz-transition: opacity 0.75s 0.85s, transform 0.65s 0.75s;
      -ms-transition: opacity 0.75s 0.85s, transform 0.65s 0.75s;
      -o-transition: opacity 0.75s 0.85s, transform 0.65s 0.75s;
      transition: opacity 0.75s 0.85s, transform 0.65s 0.75s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(5) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.25s;
        -moz-transition: background-color 0.75s 1.25s;
        -ms-transition: background-color 0.75s 1.25s;
        -o-transition: background-color 0.75s 1.25s;
        transition: background-color 0.75s 1.25s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(5) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(5) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.05s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(6) {
      -webkit-transition: opacity 0.75s 1s, transform 0.65s 0.9s;
      -moz-transition: opacity 0.75s 1s, transform 0.65s 0.9s;
      -ms-transition: opacity 0.75s 1s, transform 0.65s 0.9s;
      -o-transition: opacity 0.75s 1s, transform 0.65s 0.9s;
      transition: opacity 0.75s 1s, transform 0.65s 0.9s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(6) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.4s;
        -moz-transition: background-color 0.75s 1.4s;
        -ms-transition: background-color 0.75s 1.4s;
        -o-transition: background-color 0.75s 1.4s;
        transition: background-color 0.75s 1.4s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(6) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(6) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.2s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(7) {
      -webkit-transition: opacity 0.75s 1.15s, transform 0.65s 1.05s;
      -moz-transition: opacity 0.75s 1.15s, transform 0.65s 1.05s;
      -ms-transition: opacity 0.75s 1.15s, transform 0.65s 1.05s;
      -o-transition: opacity 0.75s 1.15s, transform 0.65s 1.05s;
      transition: opacity 0.75s 1.15s, transform 0.65s 1.05s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(7) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.55s;
        -moz-transition: background-color 0.75s 1.55s;
        -ms-transition: background-color 0.75s 1.55s;
        -o-transition: background-color 0.75s 1.55s;
        transition: background-color 0.75s 1.55s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(7) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(7) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.35s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(8) {
      -webkit-transition: opacity 0.75s 1.3s, transform 0.65s 1.2s;
      -moz-transition: opacity 0.75s 1.3s, transform 0.65s 1.2s;
      -ms-transition: opacity 0.75s 1.3s, transform 0.65s 1.2s;
      -o-transition: opacity 0.75s 1.3s, transform 0.65s 1.2s;
      transition: opacity 0.75s 1.3s, transform 0.65s 1.2s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(8) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.7s;
        -moz-transition: background-color 0.75s 1.7s;
        -ms-transition: background-color 0.75s 1.7s;
        -o-transition: background-color 0.75s 1.7s;
        transition: background-color 0.75s 1.7s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(8) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(8) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.5s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(9) {
      -webkit-transition: opacity 0.75s 1.45s, transform 0.65s 1.35s;
      -moz-transition: opacity 0.75s 1.45s, transform 0.65s 1.35s;
      -ms-transition: opacity 0.75s 1.45s, transform 0.65s 1.35s;
      -o-transition: opacity 0.75s 1.45s, transform 0.65s 1.35s;
      transition: opacity 0.75s 1.45s, transform 0.65s 1.35s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(9) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 1.85s;
        -moz-transition: background-color 0.75s 1.85s;
        -ms-transition: background-color 0.75s 1.85s;
        -o-transition: background-color 0.75s 1.85s;
        transition: background-color 0.75s 1.85s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(9) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(9) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.65s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(10) {
      -webkit-transition: opacity 0.75s 1.6s, transform 0.65s 1.5s;
      -moz-transition: opacity 0.75s 1.6s, transform 0.65s 1.5s;
      -ms-transition: opacity 0.75s 1.6s, transform 0.65s 1.5s;
      -o-transition: opacity 0.75s 1.6s, transform 0.65s 1.5s;
      transition: opacity 0.75s 1.6s, transform 0.65s 1.5s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(10) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2s;
        -moz-transition: background-color 0.75s 2s;
        -ms-transition: background-color 0.75s 2s;
        -o-transition: background-color 0.75s 2s;
        transition: background-color 0.75s 2s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(10) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(10) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.8s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(11) {
      -webkit-transition: opacity 0.75s 1.75s, transform 0.65s 1.65s;
      -moz-transition: opacity 0.75s 1.75s, transform 0.65s 1.65s;
      -ms-transition: opacity 0.75s 1.75s, transform 0.65s 1.65s;
      -o-transition: opacity 0.75s 1.75s, transform 0.65s 1.65s;
      transition: opacity 0.75s 1.75s, transform 0.65s 1.65s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(11) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.15s;
        -moz-transition: background-color 0.75s 2.15s;
        -ms-transition: background-color 0.75s 2.15s;
        -o-transition: background-color 0.75s 2.15s;
        transition: background-color 0.75s 2.15s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(11) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(11) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 1.95s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(12) {
      -webkit-transition: opacity 0.75s 1.9s, transform 0.65s 1.8s;
      -moz-transition: opacity 0.75s 1.9s, transform 0.65s 1.8s;
      -ms-transition: opacity 0.75s 1.9s, transform 0.65s 1.8s;
      -o-transition: opacity 0.75s 1.9s, transform 0.65s 1.8s;
      transition: opacity 0.75s 1.9s, transform 0.65s 1.8s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(12) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.3s;
        -moz-transition: background-color 0.75s 2.3s;
        -ms-transition: background-color 0.75s 2.3s;
        -o-transition: background-color 0.75s 2.3s;
        transition: background-color 0.75s 2.3s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(12) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(12) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.1s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(13) {
      -webkit-transition: opacity 0.75s 2.05s, transform 0.65s 1.95s;
      -moz-transition: opacity 0.75s 2.05s, transform 0.65s 1.95s;
      -ms-transition: opacity 0.75s 2.05s, transform 0.65s 1.95s;
      -o-transition: opacity 0.75s 2.05s, transform 0.65s 1.95s;
      transition: opacity 0.75s 2.05s, transform 0.65s 1.95s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(13) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.45s;
        -moz-transition: background-color 0.75s 2.45s;
        -ms-transition: background-color 0.75s 2.45s;
        -o-transition: background-color 0.75s 2.45s;
        transition: background-color 0.75s 2.45s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(13) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(13) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.25s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(14) {
      -webkit-transition: opacity 0.75s 2.2s, transform 0.65s 2.1s;
      -moz-transition: opacity 0.75s 2.2s, transform 0.65s 2.1s;
      -ms-transition: opacity 0.75s 2.2s, transform 0.65s 2.1s;
      -o-transition: opacity 0.75s 2.2s, transform 0.65s 2.1s;
      transition: opacity 0.75s 2.2s, transform 0.65s 2.1s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(14) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.6s;
        -moz-transition: background-color 0.75s 2.6s;
        -ms-transition: background-color 0.75s 2.6s;
        -o-transition: background-color 0.75s 2.6s;
        transition: background-color 0.75s 2.6s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(14) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(14) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.4s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(15) {
      -webkit-transition: opacity 0.75s 2.35s, transform 0.65s 2.25s;
      -moz-transition: opacity 0.75s 2.35s, transform 0.65s 2.25s;
      -ms-transition: opacity 0.75s 2.35s, transform 0.65s 2.25s;
      -o-transition: opacity 0.75s 2.35s, transform 0.65s 2.25s;
      transition: opacity 0.75s 2.35s, transform 0.65s 2.25s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(15) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.75s;
        -moz-transition: background-color 0.75s 2.75s;
        -ms-transition: background-color 0.75s 2.75s;
        -o-transition: background-color 0.75s 2.75s;
        transition: background-color 0.75s 2.75s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(15) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(15) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.55s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(16) {
      -webkit-transition: opacity 0.75s 2.5s, transform 0.65s 2.4s;
      -moz-transition: opacity 0.75s 2.5s, transform 0.65s 2.4s;
      -ms-transition: opacity 0.75s 2.5s, transform 0.65s 2.4s;
      -o-transition: opacity 0.75s 2.5s, transform 0.65s 2.4s;
      transition: opacity 0.75s 2.5s, transform 0.65s 2.4s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(16) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 2.9s;
        -moz-transition: background-color 0.75s 2.9s;
        -ms-transition: background-color 0.75s 2.9s;
        -o-transition: background-color 0.75s 2.9s;
        transition: background-color 0.75s 2.9s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(16) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(16) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.7s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(17) {
      -webkit-transition: opacity 0.75s 2.65s, transform 0.65s 2.55s;
      -moz-transition: opacity 0.75s 2.65s, transform 0.65s 2.55s;
      -ms-transition: opacity 0.75s 2.65s, transform 0.65s 2.55s;
      -o-transition: opacity 0.75s 2.65s, transform 0.65s 2.55s;
      transition: opacity 0.75s 2.65s, transform 0.65s 2.55s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(17) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 3.05s;
        -moz-transition: background-color 0.75s 3.05s;
        -ms-transition: background-color 0.75s 3.05s;
        -o-transition: background-color 0.75s 3.05s;
        transition: background-color 0.75s 3.05s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(17) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(17) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 2.85s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(18) {
      -webkit-transition: opacity 0.75s 2.8s, transform 0.65s 2.7s;
      -moz-transition: opacity 0.75s 2.8s, transform 0.65s 2.7s;
      -ms-transition: opacity 0.75s 2.8s, transform 0.65s 2.7s;
      -o-transition: opacity 0.75s 2.8s, transform 0.65s 2.7s;
      transition: opacity 0.75s 2.8s, transform 0.65s 2.7s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(18) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 3.2s;
        -moz-transition: background-color 0.75s 3.2s;
        -ms-transition: background-color 0.75s 3.2s;
        -o-transition: background-color 0.75s 3.2s;
        transition: background-color 0.75s 3.2s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(18) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(18) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 3s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(19) {
      -webkit-transition: opacity 0.75s 2.95s, transform 0.65s 2.85s;
      -moz-transition: opacity 0.75s 2.95s, transform 0.65s 2.85s;
      -ms-transition: opacity 0.75s 2.95s, transform 0.65s 2.85s;
      -o-transition: opacity 0.75s 2.95s, transform 0.65s 2.85s;
      transition: opacity 0.75s 2.95s, transform 0.65s 2.85s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(19) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 3.35s;
        -moz-transition: background-color 0.75s 3.35s;
        -ms-transition: background-color 0.75s 3.35s;
        -o-transition: background-color 0.75s 3.35s;
        transition: background-color 0.75s 3.35s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(19) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(19) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 3.15s; }
    .js ._scroll-animate ._scroll-animate-step:nth-child(20) {
      -webkit-transition: opacity 0.75s 3.1s, transform 0.65s 3s;
      -moz-transition: opacity 0.75s 3.1s, transform 0.65s 3s;
      -ms-transition: opacity 0.75s 3.1s, transform 0.65s 3s;
      -o-transition: opacity 0.75s 3.1s, transform 0.65s 3s;
      transition: opacity 0.75s 3.1s, transform 0.65s 3s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(20) .b-loaded-parent {
        -webkit-transition: background-color 0.75s 3.5s;
        -moz-transition: background-color 0.75s 3.5s;
        -ms-transition: background-color 0.75s 3.5s;
        -o-transition: background-color 0.75s 3.5s;
        transition: background-color 0.75s 3.5s; }
      .js ._scroll-animate ._scroll-animate-step:nth-child(20) .b-lazy,
      .js ._scroll-animate ._scroll-animate-step:nth-child(20) .b-lazy-video {
        opacity: 0 !important;
        transition-delay: 3.3s; }
  .js ._scroll-animate ._scroll-animate--delay-0 {
    transition-delay: 0s; }
  .js ._scroll-animate ._scroll-animate--delay-1 {
    transition-delay: 0.1s; }
  .js ._scroll-animate ._scroll-animate--delay-2 {
    transition-delay: 0.2s; }
  .js ._scroll-animate ._scroll-animate--delay-3 {
    transition-delay: 0.3s; }
  .js ._scroll-animate ._scroll-animate--delay-4 {
    transition-delay: 0.4s; }
  .js ._scroll-animate ._scroll-animate--delay-5 {
    transition-delay: 0.5s; }
  .js ._scroll-animate ._scroll-animate--delay-6 {
    transition-delay: 0.6s; }
  .js ._scroll-animate ._scroll-animate--delay-7 {
    transition-delay: 0.7s; }
  .js ._scroll-animate ._scroll-animate--delay-8 {
    transition-delay: 0.8s; }
  .js ._scroll-animate ._scroll-animate--delay-9 {
    transition-delay: 0.9s; }
  .js ._scroll-animate ._scroll-animate--delay-10 {
    transition-delay: 1s; }
  .js ._scroll-animate ._scroll-animate--delay-11 {
    transition-delay: 1.1s; }
  .js ._scroll-animate ._scroll-animate--delay-12 {
    transition-delay: 1.2s; }
  .js ._scroll-animate ._scroll-animate--delay-13 {
    transition-delay: 1.3s; }
  .js ._scroll-animate ._scroll-animate--delay-14 {
    transition-delay: 1.4s; }
  .js ._scroll-animate ._scroll-animate--delay-15 {
    transition-delay: 1.5s; }
  .js ._scroll-animate ._scroll-animate--delay-16 {
    transition-delay: 1.6s; }
  .js ._scroll-animate ._scroll-animate--delay-17 {
    transition-delay: 1.7s; }
  .js ._scroll-animate ._scroll-animate--delay-18 {
    transition-delay: 1.8s; }
  .js ._scroll-animate ._scroll-animate--delay-19 {
    transition-delay: 1.9s; }
  .js ._scroll-animate ._scroll-animate--delay-20 {
    transition-delay: 2s; }
  .js ._scroll-animate .section-text:before {
    max-width: 0;
    -webkit-transition: max-width 0.5s 0.25s;
    -moz-transition: max-width 0.5s 0.25s;
    -ms-transition: max-width 0.5s 0.25s;
    -o-transition: max-width 0.5s 0.25s;
    transition: max-width 0.5s 0.25s; }
  .js ._scroll-animate .line {
    max-width: 0;
    float: right;
    -webkit-transition: max-width 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s;
    -moz-transition: max-width 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s;
    -ms-transition: max-width 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s;
    -o-transition: max-width 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s;
    transition: max-width 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s; }
  .js ._scroll-animate.carousel, .js ._scroll-animate.single-carousel {
    -webkit-transform: translate(100px, 0);
    -moz-transform: translate(100px, 0);
    -ms-transform: translate(100px, 0);
    -o-transform: translate(100px, 0);
    transform: translate(100px, 0);
    -webkit-transition: opacity 0.75s 0.25s, transform 1s cubic-bezier(0.555, 0.205, 0.295, 0.975), height 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -moz-transition: opacity 0.75s 0.25s, transform 1s cubic-bezier(0.555, 0.205, 0.295, 0.975), height 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -ms-transition: opacity 0.75s 0.25s, transform 1s cubic-bezier(0.555, 0.205, 0.295, 0.975), height 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -o-transition: opacity 0.75s 0.25s, transform 1s cubic-bezier(0.555, 0.205, 0.295, 0.975), height 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    transition: opacity 0.75s 0.25s, transform 1s cubic-bezier(0.555, 0.205, 0.295, 0.975), height 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
    .js ._scroll-animate.carousel ._scroll-animate-step,
    .js ._scroll-animate.carousel ._scroll-animate, .js ._scroll-animate.single-carousel ._scroll-animate-step,
    .js ._scroll-animate.single-carousel ._scroll-animate {
      -webkit-transform: none;
      -moz-transform: none;
      -ms-transform: none;
      -o-transform: none;
      transform: none; }
  .js ._scroll-animate.logo-grid ._scroll-animate-child, .js ._scroll-animate.accordion-callout__list ._scroll-animate-child {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: opacity 1s, transform 0.75s;
    -moz-transition: opacity 1s, transform 0.75s;
    -ms-transition: opacity 1s, transform 0.75s;
    -o-transition: opacity 1s, transform 0.75s;
    transition: opacity 1s, transform 0.75s; }
    @media only screen and (min-width: 640px) {
      .js ._scroll-animate.logo-grid ._scroll-animate-child, .js ._scroll-animate.accordion-callout__list ._scroll-animate-child {
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px); } }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(1), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(1) {
      transition-delay: 361ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(2), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(2) {
      transition-delay: 241ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(3), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(3) {
      transition-delay: 294ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(4), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(4) {
      transition-delay: 184ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(5), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(5) {
      transition-delay: 327ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(6), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(6) {
      transition-delay: 337ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(7), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(7) {
      transition-delay: 188ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(8), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(8) {
      transition-delay: 205ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(9), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(9) {
      transition-delay: 375ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(10), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(10) {
      transition-delay: 45ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(11), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(11) {
      transition-delay: 313ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(12), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(12) {
      transition-delay: 12ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(13), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(13) {
      transition-delay: 226ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(14), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(14) {
      transition-delay: 257ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(15), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(15) {
      transition-delay: 128ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(16), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(16) {
      transition-delay: 270ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(17), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(17) {
      transition-delay: 38ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(18), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(18) {
      transition-delay: 278ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(19), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(19) {
      transition-delay: 90ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(20), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(20) {
      transition-delay: 276ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(21), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(21) {
      transition-delay: 375ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(22), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(22) {
      transition-delay: 88ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(23), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(23) {
      transition-delay: 270ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(24), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(24) {
      transition-delay: 351ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(25), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(25) {
      transition-delay: 307ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(26), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(26) {
      transition-delay: 84ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(27), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(27) {
      transition-delay: 5ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(28), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(28) {
      transition-delay: 207ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(29), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(29) {
      transition-delay: 284ms; }
    .js ._scroll-animate.logo-grid ._scroll-animate-child:nth-of-type(30), .js ._scroll-animate.accordion-callout__list ._scroll-animate-child:nth-of-type(30) {
      transition-delay: 390ms; }
  .js ._scroll-animate ._scroll-text ._split-text-line {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(0) {
      transition: opacity 0.75s -0.15s, transform 0.75s -0.15s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(1) {
      transition: opacity 0.75s 0s, transform 0.75s 0s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(2) {
      transition: opacity 0.75s 0.15s, transform 0.75s 0.15s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(3) {
      transition: opacity 0.75s 0.3s, transform 0.75s 0.3s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(4) {
      transition: opacity 0.75s 0.45s, transform 0.75s 0.45s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(5) {
      transition: opacity 0.75s 0.6s, transform 0.75s 0.6s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(6) {
      transition: opacity 0.75s 0.75s, transform 0.75s 0.75s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(7) {
      transition: opacity 0.75s 0.9s, transform 0.75s 0.9s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(8) {
      transition: opacity 0.75s 1.05s, transform 0.75s 1.05s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(9) {
      transition: opacity 0.75s 1.2s, transform 0.75s 1.2s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(10) {
      transition: opacity 0.75s 1.35s, transform 0.75s 1.35s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(11) {
      transition: opacity 0.75s 1.5s, transform 0.75s 1.5s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(12) {
      transition: opacity 0.75s 1.65s, transform 0.75s 1.65s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(13) {
      transition: opacity 0.75s 1.8s, transform 0.75s 1.8s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(14) {
      transition: opacity 0.75s 1.95s, transform 0.75s 1.95s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(15) {
      transition: opacity 0.75s 2.1s, transform 0.75s 2.1s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(16) {
      transition: opacity 0.75s 2.25s, transform 0.75s 2.25s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(17) {
      transition: opacity 0.75s 2.4s, transform 0.75s 2.4s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(18) {
      transition: opacity 0.75s 2.55s, transform 0.75s 2.55s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(19) {
      transition: opacity 0.75s 2.7s, transform 0.75s 2.7s; }
    .js ._scroll-animate ._scroll-text ._split-text-line:nth-of-type(20) {
      transition: opacity 0.75s 2.85s, transform 0.75s 2.85s; }

.js .error-404 {
  opacity: 0; }

.js .content-loaded ._scroll-animated {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }
  .js .content-loaded ._scroll-animated .b-loaded-parent {
    background-color: transparent; }
  .js .content-loaded ._scroll-animated .b-loaded {
    opacity: 1; }
  .js .content-loaded ._scroll-animated ._scroll-animate-step {
    opacity: 1;
    transform: translateY(0); }
    .js .content-loaded ._scroll-animated ._scroll-animate-step .b-loaded {
      opacity: 1 !important; }
  .js .content-loaded ._scroll-animated .section-text:before {
    max-width: 50px; }
  .js .content-loaded ._scroll-animated .line {
    max-width: 100%; }
  .js .content-loaded ._scroll-animated.carousel, .js .content-loaded ._scroll-animated.single-carousel {
    transform: translate(0, 0) skew(0deg); }
  .js .content-loaded ._scroll-animated.logo-grid ._scroll-animate-child, .js .content-loaded ._scroll-animated.accordion-callout__list ._scroll-animate-child {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  .js .content-loaded ._scroll-animated ._scroll-text ._split-text-line {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }

.js .content-loaded .error-404 {
  opacity: 1; }

/* Navigation Animation */
.navigation-is-open .nav nav .menu-item {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0); }

.site-logo a.hover .line,
.nav-animation .site-logo .line {
  -webkit-transition: background-color 0.25s 0s;
  -moz-transition: background-color 0.25s 0s;
  -ms-transition: background-color 0.25s 0s;
  -o-transition: background-color 0.25s 0s;
  transition: background-color 0.25s 0s; }
  @media only screen and (min-width: 640px) {
    .site-logo a.hover .line,
    .nav-animation .site-logo .line {
      -webkit-transition: background-color 0s 0.25s;
      -moz-transition: background-color 0s 0.25s;
      -ms-transition: background-color 0s 0.25s;
      -o-transition: background-color 0s 0.25s;
      transition: background-color 0s 0.25s;
      -webkit-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
      -ms-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
      -moz-animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline;
      animation: 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) oldLinkUnderline, 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.25s newLinkUnderline; } }

@media only screen and (min-width: 640px) {
  .nav-trigger:hover .line:nth-child(1) {
    -webkit-animation: 0.4s ease-in navTriggerWiggle;
    -ms-animation: 0.4s ease-in navTriggerWiggle;
    -moz-animation: 0.4s ease-in navTriggerWiggle;
    animation: 0.4s ease-in navTriggerWiggle; }
  .nav-trigger:hover .line:nth-child(2) {
    -webkit-animation: 0.4s ease-in 0.08s navTriggerWiggle;
    -ms-animation: 0.4s ease-in 0.08s navTriggerWiggle;
    -moz-animation: 0.4s ease-in 0.08s navTriggerWiggle;
    animation: 0.4s ease-in 0.08s navTriggerWiggle; }
  .nav-trigger:hover .line:nth-child(3) {
    -webkit-animation: 0.4s ease-in 0.16s navTriggerWiggle;
    -ms-animation: 0.4s ease-in 0.16s navTriggerWiggle;
    -moz-animation: 0.4s ease-in 0.16s navTriggerWiggle;
    animation: 0.4s ease-in 0.16s navTriggerWiggle; } }

.navigation-is-open .nav-trigger .line,
.nav-animation .nav-trigger .line {
  -webkit-animation: none !important;
  -ms-animation: none !important;
  -moz-animation: none !important;
  animation: none !important; }

@-webkit-keyframes navTriggerWiggle {
  0% {
    left: 5px; }
  50% {
    left: 0; }
  100% {
    left: 5px; } }

@-moz-keyframes navTriggerWiggle {
  0% {
    left: 5px; }
  50% {
    left: 0; }
  100% {
    left: 5px; } }

@-o-keyframes navTriggerWiggle {
  0% {
    left: 5px; }
  50% {
    left: 0; }
  100% {
    left: 5px; } }

@keyframes navTriggerWiggle {
  0% {
    left: 5px; }
  50% {
    left: 0; }
  100% {
    left: 5px; } }

#animation-404 {
  position: absolute;
  top: 0;
  width: 250px;
  height: 250px; }
  @media only screen and (min-width: 640px) {
    #animation-404 {
      width: 500px;
      height: 500px; } }
  #animation-404 object {
    width: 100%; }
  #animation-404 .astronaut,
  #animation-404 .stars,
  #animation-404 .planet {
    position: absolute; }

@-webkit-keyframes spaceFloat {
  0% {
    top: 50%;
    right: 80%; }
  40% {
    top: 30%;
    right: 10%; }
  80% {
    top: 0%;
    right: 60%; }
  100% {
    top: 50%;
    right: 80%; } }

@-moz-keyframes spaceFloat {
  0% {
    top: 50%;
    right: 80%; }
  40% {
    top: 30%;
    right: 10%; }
  80% {
    top: 0%;
    right: 60%; }
  100% {
    top: 50%;
    right: 80%; } }

@-o-keyframes spaceFloat {
  0% {
    top: 50%;
    right: 80%; }
  40% {
    top: 30%;
    right: 10%; }
  80% {
    top: 0%;
    right: 60%; }
  100% {
    top: 50%;
    right: 80%; } }

@keyframes spaceFloat {
  0% {
    top: 50%;
    right: 80%; }
  40% {
    top: 30%;
    right: 10%; }
  80% {
    top: 0%;
    right: 60%; }
  100% {
    top: 50%;
    right: 80%; } }

@-webkit-keyframes astronautFloat {
  0% {
    transform: rotate(0deg) translate(0, 0); }
  70% {
    transform: rotate(20deg) translate(0, -30%); }
  100% {
    transform: rotate(7deg) translate(0, -10%); } }

@-moz-keyframes astronautFloat {
  0% {
    transform: rotate(0deg) translate(0, 0); }
  70% {
    transform: rotate(20deg) translate(0, -30%); }
  100% {
    transform: rotate(7deg) translate(0, -10%); } }

@-o-keyframes astronautFloat {
  0% {
    transform: rotate(0deg) translate(0, 0); }
  70% {
    transform: rotate(20deg) translate(0, -30%); }
  100% {
    transform: rotate(7deg) translate(0, -10%); } }

@keyframes astronautFloat {
  0% {
    transform: rotate(0deg) translate(0, 0); }
  70% {
    transform: rotate(20deg) translate(0, -30%); }
  100% {
    transform: rotate(7deg) translate(0, -10%); } }

@-webkit-keyframes planetSpin {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

@-moz-keyframes planetSpin {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

@-o-keyframes planetSpin {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes planetSpin {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }

/* KeyFrames */
@-webkit-keyframes fadeInOnLoad {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

@-moz-keyframes fadeInOnLoad {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

@-o-keyframes fadeInOnLoad {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

@keyframes fadeInOnLoad {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

:root {
  --project-color-theme: #1638e2;
  --project-bkg-theme: #F6F8FB; }

* {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline; }

*,
*:after,
*:before {
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html,
body {
  height: 100%; }

html {
  font-size: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth; }

body {
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 24px;
  line-height: 1.5rem;
  color: #2d3338;
  background-color: #ffffff;
  font-weight: 400; }
  body.pop-up-is-open {
    overflow: hidden; }

img,
video {
  display: block;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  -moz-user-drag: -moz-none;
  -webkit-user-drag: none;
  user-drag: none; }

picture {
  display: block; }

ul,
ol {
  list-style: none; }

a,
a:visited {
  color: inherit;
  text-decoration: none;
  position: relative; }

:focus {
  outline: 0; }

.h1,
.h2,
.h3,
.body-text h3,
.h4,
.body-text h4,
.body-text h5,
.h5 {
  font-family: "freight-text-pro", Georgia, serif;
  font-weight: 400;
  color: #2d3338;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 24px;
  line-height: 1.5rem; }

.h1 {
  font-size: 38px;
  font-size: 2.375rem;
  line-height: 45px;
  line-height: 2.8125rem; }
  @media only screen and (min-width: 1024px) {
    .h1 {
      line-height: 50px;
      line-height: 3.125rem;
      font-size: 44px;
      font-size: 2.75rem; } }
  @media only screen and (min-width: 1300px) {
    .h1 {
      font-size: 60px;
      font-size: 3.75rem;
      line-height: 72px;
      line-height: 4.5rem; } }

.h2 {
  font-size: 38px;
  font-size: 2.375rem;
  line-height: 45px;
  line-height: 2.8125rem; }
  @media only screen and (min-width: 1024px) {
    .h2 {
      font-size: 39px;
      font-size: 2.4375rem;
      line-height: 47px;
      line-height: 2.9375rem; } }
  @media only screen and (min-width: 1300px) {
    .h2 {
      font-size: 48px;
      font-size: 3rem;
      line-height: 56px;
      line-height: 3.5rem; } }


.h3,
.body-text h3 {
  font-size: 25px;
  font-size: 1.5625rem;
  line-height: 30px;
  line-height: 1.875rem; }
  @media only screen and (min-width: 1024px) {
    
    .h3,
    .body-text h3 {
      font-size: 32px;
      font-size: 2rem;
      line-height: 40px;
      line-height: 2.5rem; } }


.h4,
.body-text h4,
.body-text h5 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 25px;
  line-height: 1.5625rem; }
  @media only screen and (min-width: 1024px) {
    
    .h4,
    .body-text h4,
    .body-text h5 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 30px;
      line-height: 1.875rem; } }

.h5 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 34px;
  line-height: 2.125rem; }

@media only screen and (min-width: 640px) {
  p a,
  p a:visited {
    white-space: nowrap; } }

.body-text {
  color: #2d3338;
  line-height: 30px;
  line-height: 1.875rem; }
  .body-text h3,
  .body-text h4,
  .body-text h5 {
    margin: 10% 0 30px; }
    .body-text h3:first-child,
    .body-text h4:first-child,
    .body-text h5:first-child {
      margin-top: 0; }
  @media only screen and (min-width: 640px) {
    .body-text {
      font-size: 17px;
      font-size: 1.0625rem; } }
  .body-text p {
    font-size: 16px;
    font-size: 1rem;
    line-height: 25px;
    line-height: 1.5625rem; }
    .body-text p + p {
      margin-top: 1.63em; }
    @media only screen and (min-width: 1024px) {
      .body-text p {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 34px;
        line-height: 2.125rem; } }
  .body-text ul,
  .body-text ol {
    margin: 20px auto; }
    .body-text ul li,
    .body-text ol li {
      position: relative;
      padding-left: 40px;
      margin-bottom: 8px; }
      .body-text ul li:before,
      .body-text ol li:before {
        font-family: "sofia-pro", Helvetica, Arial, sans-serif;
        position: absolute;
        left: 0; }
  .body-text ul li:before {
    content: '\2013';
    color: #2d3338;
    line-height: 1.55; }
  .body-text ol li {
    counter-increment: custom; }
    .body-text ol li:first-child {
      counter-reset: custom; }
    .body-text ol li:before {
      content: counter(custom, decimal-leading-zero) "";
      line-height: 2.2; }
      @media only screen and (min-width: 640px) {
        .body-text ol li:before {
          line-height: 2.6; } }
      @media only screen and (min-width: 1024px) {
        .body-text ol li:before {
          line-height: 2.7; } }

.body-lede,
.body-lede p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.4; }

.quote-text {
  font-weight: 500;
  font-family: "freight-text-pro", Georgia, serif;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 36px;
  line-height: 2.25rem;
  text-indent: -0.45em; }
  @media only screen and (min-width: 640px) {
    .quote-text {
      font-size: 32px;
      font-size: 2rem;
      line-height: 48px;
      line-height: 3rem; } }
  @media only screen and (min-width: 1024px) {
    .quote-text {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 52px;
      line-height: 3.25rem; } }
  .quote-text__callout {
    font-family: "freight-text-pro", Georgia, serif;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 22px;
    line-height: 1.375rem; }

figure figcaption,
.caption {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 24px;
  line-height: 1.5rem;
  letter-spacing: 0.3px; }

.container {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
  max-width: 1200px; }
  .container::after {
    clear: both;
    content: '';
    display: table; }
  @media only screen and (min-width: 1300px) {
    .container {
      max-width: 1440px; } }
  @media (max-width: 639px) {
    .container--full-small {
      width: 100%;
      max-width: none; } }

.flex-row, .wpcf7,
.newsletter-sign-up-full {
  display: flex;
  justify-content: start;
  width: 100%;
  flex-wrap: wrap; }

.flex-row-auto {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap; }

.row {
  width: 100%; }
  .row::after {
    clear: both;
    content: '';
    display: table; }

.content-col-8 {
  width: 100%;
  margin-right: 2.5%; }
  .content-col-8:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    .content-col-8 {
      width: 82.91667%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .content-col-8:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .content-col-8 {
      width: 65.83333%;
      margin-right: 2.5%;
      margin-left: 17.08333%; }
      .content-col-8:last-child {
        margin-right: 0; } }

/*****************************
** Header
*****************************/
#header {
  position: absolute;
  width: 100%;
  height: 0;
  z-index: 9;
  background-color: transparent;
  transition: background-color 0.25s, height 0s 0.25s; }
  #header .header-inner {
    z-index: 1;
    padding-top: 30px;
    margin-bottom: 30px;
    width: 100%;
    left: 0; }
    @media only screen and (min-width: 640px) {
      #header .header-inner {
        padding-top: 60px; } }
    @media only screen and (min-width: 1300px) {
      #header .header-inner {
        padding-top: 90px; } }
  @media only screen and (min-width: 1024px) {
    #header .nav {
      opacity: 1;
      visibility: visible; } }

/*****************************
** Site Logo
*****************************/
.site-logo {
  left: 0;
  width: 115px;
  margin: 0;
  opacity: 1;
  transform: translateY(0); }
  .site-logo a {
    position: relative;
    display: block;
    text-indent: -9999px;
    height: 31px;
    width: 90px; }
    @media only screen and (min-width: 640px) {
      .site-logo a {
        height: 36px;
        width: 100px; } }
    @media only screen and (min-width: 1300px) {
      .site-logo a {
        height: 38px;
        width: 107px; } }
    .site-logo a img {
      min-height: 0;
      position: absolute; }
      .site-logo a img.light, .site-logo a img.black {
        opacity: 0; }
      .site-logo a img.dark {
        opacity: 1; }
    .site-logo a .line {
      content: '';
      display: inline-block;
      height: 2px;
      bottom: 0;
      left: -1px;
      right: 0;
      position: absolute;
      background-color: #1638e2; }

/*****************************
** Nav Trigger
*****************************/
.nav-trigger {
  position: relative;
  cursor: pointer;
  margin-top: -5px;
  height: 31px;
  width: 30px;
  display: block;
  padding: 5px;
  background-color: transparent; }
  .nav-trigger .line {
    background-color: #181a1f;
    height: 2px;
    width: 20px;
    top: 5px;
    left: 5px;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: all 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -moz-transition: all 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -ms-transition: all 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -o-transition: all 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    transition: all 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    position: absolute; }
    .nav-trigger .line:nth-child(2) {
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); }
    .nav-trigger .line:nth-child(3) {
      bottom: 5px;
      top: auto; }
  @media only screen and (min-width: 1024px) {
    .nav-trigger {
      display: none; } }

/*****************************
** Menus
*****************************/
.nav {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s 0.1s;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  perspective: 1000px;
  perspective-origin: center center;
  padding: 50px 0 32px 0; }
  @media (max-width: 1023px) {
    .nav {
      left: 0;
      z-index: -1;
      min-height: 600px; }
      .nav--desktop {
        display: none; } }
  @media only screen and (min-width: 1024px) {
    .nav--mobile {
      display: none; }
    .nav--desktop {
      position: relative;
      width: 80%;
      padding: 0; } }
  .nav .navigation-wrapper {
    height: 100%;
    position: relative;
    text-align: left;
    /*****************************
        ** Main and Utility
        *****************************/ }
    .nav .navigation-wrapper nav {
      display: inline-block;
      bottom: 30px;
      left: 0;
      position: absolute; }
      @media (max-width: 1023px) {
        .nav .navigation-wrapper nav {
          min-width: 170px; } }
      @media only screen and (min-width: 1024px) {
        .nav .navigation-wrapper nav {
          left: unset;
          bottom: unset;
          right: 0;
          -webkit-transform: translateY(32%);
          -moz-transform: translateY(32%);
          -ms-transform: translateY(32%);
          -o-transform: translateY(32%);
          transform: translateY(32%); } }
      .nav .navigation-wrapper nav .menu-primary,
      .nav .navigation-wrapper nav .menu-utility {
        font-family: "sofia-pro", Helvetica, Arial, sans-serif;
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 48px;
        line-height: 3rem;
        font-weight: 500;
        letter-spacing: 0.85px; }
        .nav .navigation-wrapper nav .menu-primary a,
        .nav .navigation-wrapper nav .menu-utility a {
          color: #efefff; }
        @media only screen and (min-width: 1024px) {
          .nav .navigation-wrapper nav .menu-primary,
          .nav .navigation-wrapper nav .menu-utility {
            font-size: 20px;
            font-size: 1.25rem;
            line-height: 30px;
            line-height: 1.875rem; }
            .nav .navigation-wrapper nav .menu-primary a,
            .nav .navigation-wrapper nav .menu-utility a {
              color: #1638e2; } }
        .nav .navigation-wrapper nav .menu-primary .menu-item,
        .nav .navigation-wrapper nav .menu-utility .menu-item {
          position: relative; }
          @media (max-width: 1023px) {
            .nav .navigation-wrapper nav .menu-primary .menu-item a,
            .nav .navigation-wrapper nav .menu-utility .menu-item a {
              -webkit-transition: color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
              -moz-transition: color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
              -ms-transition: color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
              -o-transition: color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
              transition: color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
            .nav .navigation-wrapper nav .menu-primary .menu-item a,
            .nav .navigation-wrapper nav .menu-utility .menu-item a {
              margin-bottom: 10px;
              display: block; }
            .nav .navigation-wrapper nav .menu-primary .menu-item:hover a,
            .nav .navigation-wrapper nav .menu-utility .menu-item:hover a {
              color: #b8b8cd; } }
          @media only screen and (min-width: 1024px) {
            .nav .navigation-wrapper nav .menu-primary .menu-item,
            .nav .navigation-wrapper nav .menu-utility .menu-item {
              display: inline; }
              .nav .navigation-wrapper nav .menu-primary .menu-item:not(:first-child),
              .nav .navigation-wrapper nav .menu-utility .menu-item:not(:first-child) {
                margin-left: 54px; } }
      @media only screen and (min-width: 1024px) {
        .nav .navigation-wrapper nav .menu-utility {
          display: none; } }

.nav-social {
  position: absolute;
  bottom: 0;
  left: 75%;
  z-index: 1;
  display: none;
  min-width: 170px; }
  @media only screen and (min-width: 640px) {
    .nav-social {
      display: block; } }
  @media only screen and (min-width: 1024px) {
    .nav-social {
      left: 85%; } }
  .nav-social .mailing-list-link {
    display: block;
    padding: 0 0 30px;
    max-width: 150px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 1.5px;
    color: #efefff; }
    .nav-social .mailing-list-link:hover {
      color: #b8b8cd; }

.nav-addresses {
  text-align: left;
  display: none;
  letter-spacing: 0;
  z-index: -1; }
  @media (max-width: 1023px) {
    .nav-addresses .col-item {
      padding-top: 30px;
      display: block !important; } }
  @media only screen and (min-width: 640px) {
    .nav-addresses {
      display: block;
      width: 100%;
      position: absolute;
      bottom: 0; } }
  .nav-addresses .col-item .location-label {
    padding-bottom: 20px; }
  .nav-addresses .col-item .location-label,
  .nav-addresses .col-item span {
    color: #b8b8cd;
    font-size: 15.75px;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: 0; }
  .nav-addresses .col-item .desc .address {
    display: block; }
    @media only screen and (min-width: 1024px) {
      .nav-addresses .col-item .desc .address {
        display: inline-block; }
        .nav-addresses .col-item .desc .address:first-of-type:after {
          display: inline;
          content: ','; } }
  .nav-addresses .col-item .desc .phone {
    display: block; }

.nav .primary-nav a.selected {
  color: #b8b8cd; }

.no-touchevents .cd-nav .cd-primary-nav a:hover {
  color: #b8b8cd; }

.no-js #content,
.no-js #content-current {
  height: auto;
  overflow: visible; }

.no-js .nav {
  position: static;
  visibility: visible; }

.no-js .nav .navigation-wrapper {
  height: auto;
  overflow: visible;
  padding: 100px 5%; }

/*****************************
** Content when nav is open
*****************************/
@media (max-width: 1023px) {
  .navigation-is-open #header {
    position: fixed;
    z-index: 10;
    background-color: #181a1f;
    overflow: auto;
    height: 100%;
    transition: background-color 0.25s, height 0s; } }

.navigation-is-open #header .header-inner {
  opacity: 1 !important;
  background-color: transparent !important;
  -webkit-transform: translateY(0) !important;
  -moz-transform: translateY(0) !important;
  -ms-transform: translateY(0) !important;
  -o-transform: translateY(0) !important;
  transform: translateY(0) !important; }
  @media (max-width: 1023px) {
    .navigation-is-open #header .header-inner .site-logo a img {
      -webkit-transition: opacity 0.5s;
      -moz-transition: opacity 0.5s;
      -ms-transition: opacity 0.5s;
      -o-transition: opacity 0.5s;
      transition: opacity 0.5s; }
    .navigation-is-open #header .header-inner .site-logo a .dark,
    .navigation-is-open #header .header-inner .site-logo a .black {
      opacity: 0; }
    .navigation-is-open #header .header-inner .site-logo a .light {
      opacity: 1; }
    .navigation-is-open #header .header-inner .site-logo a .line {
      background-color: #b8b8cd !important; } }

.navigation-is-open .nav-trigger .line {
  background-color: #b8b8cd; }
  .navigation-is-open .nav-trigger .line:nth-child(1) {
    -webkit-transform: translate(0, 10px) rotate(45deg);
    -moz-transform: translate(0, 10px) rotate(45deg);
    -ms-transform: translate(0, 10px) rotate(45deg);
    -o-transform: translate(0, 10px) rotate(45deg);
    transform: translate(0, 10px) rotate(45deg); }
  .navigation-is-open .nav-trigger .line:nth-child(2) {
    width: 0px;
    opacity: 0; }
  .navigation-is-open .nav-trigger .line:nth-child(3) {
    -webkit-transform: translate(0, -9px) rotate(-45deg);
    -moz-transform: translate(0, -9px) rotate(-45deg);
    -ms-transform: translate(0, -9px) rotate(-45deg);
    -o-transform: translate(0, -9px) rotate(-45deg);
    transform: translate(0, -9px) rotate(-45deg); }

.navigation-is-open .nav {
  opacity: 1;
  visibility: visible; }

.navigation-is-open #content {
  position: relative;
  z-index: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  backface-visibility: hidden; }

/*****************************
** Post Specific Header
*****************************/
[page-color='dark'] .header-inner .site-logo a .light {
  opacity: 1; }

[page-color='dark'] .header-inner .site-logo a .dark,
[page-color='dark'] .header-inner .site-logo a .black {
  opacity: 0; }

[page-color='dark'] .header-inner .site-logo a .line {
  background-color: #b8b8cd; }

[page-color='dark'] .header-inner .nav-trigger .line {
  background-color: #b8b8cd; }

[page-color='dark'] .nav .navigation-wrapper nav .menu-primary a {
  color: #efefff; }

[page-color='project'] .header-inner .site-logo a .light {
  opacity: 0; }

[page-color='project'] .header-inner .site-logo a .dark {
  opacity: 0; }

[page-color='project'] .header-inner .site-logo a .black {
  opacity: 1; }

[page-color='project'] .header-inner .site-logo a .line {
  background-color: #181a1f; }

[page-color='project'] .header-inner .nav-trigger .line {
  background-color: #181a1f; }

[page-color='project'] .nav .navigation-wrapper nav .menu-primary a {
  color: #181a1f; }

footer .locations__container,
footer .menu__container {
  width: 100%;
  margin-right: 2.5%; }
  footer .locations__container:last-child,
  footer .menu__container:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 1024px) {
    footer .locations__container,
    footer .menu__container {
      width: 48.75%;
      margin-right: 2.5%; }
      footer .locations__container:last-child,
      footer .menu__container:last-child {
        margin-right: 0; } }

footer .footer-module.contact {
  padding: 30px 0 30px 0;
  margin-top: -8px; }
  @media only screen and (min-width: 640px) {
    footer .footer-module.contact {
      padding: 20px 0;
      margin: 0; } }
  @media only screen and (min-width: 1024px) {
    footer .footer-module.contact {
      padding: 80px 0 70px 0;
      margin: 0; } }
  @media only screen and (min-width: 1024px) {
    footer .footer-module.contact .flex-row, footer .footer-module.contact .wpcf7,
    footer .footer-module.contact .newsletter-sign-up-full {
      flex-wrap: nowrap; } }
  @media (max-width: 1023px) {
    footer .footer-module.contact .contact__content {
      width: 100%; } }
  footer .footer-module.contact .contact__content-text {
    font-size: 37px;
    font-size: 2.3125rem;
    line-height: 45px;
    line-height: 2.8125rem; }
    @media only screen and (min-width: 480px) {
      footer .footer-module.contact .contact__content-text {
        max-width: 85%; } }
    @media only screen and (min-width: 640px) {
      footer .footer-module.contact .contact__content-text {
        max-width: 100%; } }
    @media only screen and (min-width: 1024px) {
      footer .footer-module.contact .contact__content-text {
        text-align: left;
        margin-top: -10px;
        max-width: 75%;
        font-size: 48px;
        font-size: 3rem;
        line-height: 56px;
        line-height: 3.5rem; } }
    @media only screen and (min-width: 1300px) {
      footer .footer-module.contact .contact__content-text {
        margin-top: -15px; } }
  @media only screen and (min-width: 1024px) {
    footer .footer-module.contact .contact__content-cta {
      margin-top: 40px; } }

footer .footer-module.newsletter {
  padding: 80px 0; }
  @media only screen and (min-width: 1300px) {
    footer .footer-module.newsletter .container {
      max-width: 900px; } }
  footer .footer-module.newsletter .flex-row, footer .footer-module.newsletter .wpcf7,
  footer .footer-module.newsletter .newsletter-sign-up-full {
    justify-content: space-between; }
  footer .footer-module.newsletter .newsletter__content-heading {
    color: #1638e2; }
  footer .footer-module.newsletter .newsletter__content-subheading {
    font-weight: 400;
    font-size: 15px;
    font-size: 0.9375rem; }
  footer .footer-module.newsletter .newsletter__input {
    margin-top: 4rem;
    width: 100%;
    margin-right: 2.5%;
    position: relative;
    align-self: center; }
    footer .footer-module.newsletter .newsletter__input:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      footer .footer-module.newsletter .newsletter__input {
        margin-top: 1px;
        width: 53.02083%;
        margin-right: 2.5%; }
        footer .footer-module.newsletter .newsletter__input:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      footer .footer-module.newsletter .newsletter__input {
        width: 57.29167%;
        margin-right: 2.5%; }
        footer .footer-module.newsletter .newsletter__input:last-child {
          margin-right: 0; } }
    footer .footer-module.newsletter .newsletter__input .mc-field-group.text {
      margin: 0; }
      footer .footer-module.newsletter .newsletter__input .mc-field-group.text input {
        border-color: #1638e2; }
        @media (max-width: 639px) {
          footer .footer-module.newsletter .newsletter__input .mc-field-group.text input {
            min-height: 30px;
            line-height: 30px; } }
        footer .footer-module.newsletter .newsletter__input .mc-field-group.text input:-webkit-autofill {
          -webkit-box-shadow: inset 0 0 0px 9999px #1638e2; }
        footer .footer-module.newsletter .newsletter__input .mc-field-group.text input::placeholder {
          color: #2d3338;
          font-size: 15px;
          font-size: 0.9375rem; }
    footer .footer-module.newsletter .newsletter__input div.mce_inline_error {
      font-size: 16px;
      font-size: 1rem;
      padding: 5px 0 0 !important; }
    footer .footer-module.newsletter .newsletter__input #mce-responses {
      font-size: 15px;
      font-size: 0.9375rem;
      line-height: 17px;
      line-height: 1.0625rem; }
      @media only screen and (min-width: 1024px) {
        footer .footer-module.newsletter .newsletter__input #mce-responses {
          height: 0; } }
      footer .footer-module.newsletter .newsletter__input #mce-responses .response {
        padding-top: 40px; }
    footer .footer-module.newsletter .newsletter__input .form-actions {
      position: absolute;
      right: 0;
      top: 0;
      z-index: 2; }
      footer .footer-module.newsletter .newsletter__input .form-actions .submit {
        margin-right: 0;
        height: 28px;
        width: 28px;
        position: relative;
        display: block;
        overflow: visible; }
        @media only screen and (min-width: 640px) {
          footer .footer-module.newsletter .newsletter__input .form-actions .submit {
            height: 43px;
            width: 43px; } }
        footer .footer-module.newsletter .newsletter__input .form-actions .submit:hover:before {
          transform: translateX(8px); }
        footer .footer-module.newsletter .newsletter__input .form-actions .submit:before {
          line-height: 30px;
          z-index: -1;
          color: #1638e2;
          -webkit-transition: 0.2s ease-out;
          -moz-transition: 0.2s ease-out;
          -ms-transition: 0.2s ease-out;
          -o-transition: 0.2s ease-out;
          transition: 0.2s ease-out; }
          @media only screen and (min-width: 640px) {
            footer .footer-module.newsletter .newsletter__input .form-actions .submit:before {
              line-height: 45px; } }
        footer .footer-module.newsletter .newsletter__input .form-actions .submit input {
          margin-top: 0;
          padding: 0;
          border: none;
          height: 100%;
          width: 100%; }

footer .footer-columns.background-color {
  padding: 70px 0; }
  @media only screen and (min-width: 1024px) {
    footer .footer-columns.background-color {
      padding: 4% 0 3% 0; } }

@media (max-width: 1023px) {
  footer .footer-columns .footer-column:last-child {
    margin-top: 40px; } }

footer .footer-columns .footer-column .footer-menu.make-columns {
  flex-direction: column;
  max-width: 75%;
  max-height: 200px; }
  @media only screen and (min-width: 640px) {
    footer .footer-columns .footer-column .footer-menu.make-columns {
      max-width: 45%; } }
  @media only screen and (min-width: 1024px) {
    footer .footer-columns .footer-column .footer-menu.make-columns {
      max-width: 75%; } }

@media only screen and (min-width: 1300px) {
  footer .footer-columns .footer-column .footer-locations {
    justify-content: flex-end; } }

footer .footer-columns .footer-column .footer-locations.make-columns {
  flex-direction: row; }

footer .footer-columns .footer-column .footer-locations .location {
  display: flex;
  align-items: flex-start;
  margin-bottom: 24px; }
  footer .footer-columns .footer-column .footer-locations .location .label {
    line-height: 1;
    font-size: 20px;
    font-size: 1.25rem; }

footer .footer-columns .footer-column .footer-locations li {
  width: 100%;
  margin-right: 2.5%; }
  footer .footer-columns .footer-column .footer-locations li:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    footer .footer-columns .footer-column .footer-locations li {
      width: 40.20833%;
      margin-right: 2.5%; }
      footer .footer-columns .footer-column .footer-locations li:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    footer .footer-columns .footer-column .footer-locations li:first-of-type {
      margin-right: 30px; } }
  @media (max-width: 1023px) {
    footer .footer-columns .footer-column .footer-locations li:first-of-type {
      margin-bottom: 60px; } }
  @media only screen and (min-width: 1300px) {
    footer .footer-columns .footer-column .footer-locations li:first-of-type {
      margin-right: 70px; } }
  @media only screen and (min-width: 640px) {
    footer .footer-columns .footer-column .footer-locations li:last-child {
      width: inherit; } }

footer .footer-columns .footer-column .footer-locations .address,
footer .footer-columns .footer-column .footer-locations .phone {
  font-size: 15px;
  font-size: 0.9375rem; }

footer .footer-columns .footer-column .footer-locations .address {
  margin-top: -10px; }

footer .footer-columns .footer-column .footer-locations .address,
footer .footer-columns .footer-column .footer-locations .label,
footer .footer-columns .footer-column .footer-locations .phone {
  color: #efefff; }
  @media only screen and (min-width: 1024px) {
    footer .footer-columns .footer-column .footer-locations .address,
    footer .footer-columns .footer-column .footer-locations .label,
    footer .footer-columns .footer-column .footer-locations .phone {
      display: block; } }

footer .footer-columns .footer-column__label {
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 2px;
  margin-bottom: 8px;
  color: #b8b8cd; }
  @media only screen and (min-width: 640px) {
    footer .footer-columns .footer-column__label {
      margin-bottom: 35px; } }

footer .footer-columns .footer-column ul.make-columns {
  position: relative;
  display: flex;
  flex-wrap: wrap; }

footer .footer-columns .footer-column ul .menu-item {
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  color: #2d3338;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  margin-bottom: 25px;
  margin-right: 50px; }
  @media only screen and (min-width: 1024px) {
    footer .footer-columns .footer-column ul .menu-item {
      margin-right: 25px; } }
  footer .footer-columns .footer-column ul .menu-item a {
    color: #efefff; }

footer .footer-bottom {
  padding: 30px 0 40px; }
  footer .footer-bottom .flex-row, footer .footer-bottom .wpcf7,
  footer .footer-bottom .newsletter-sign-up-full {
    align-items: flex-end; }
    @media only screen and (min-width: 640px) {
      footer .footer-bottom .flex-row, footer .footer-bottom .wpcf7,
      footer .footer-bottom .newsletter-sign-up-full {
        align-items: center; } }
  @media only screen and (min-width: 640px) {
    footer .footer-bottom {
      padding: 25px 0; } }
  footer .footer-bottom .footer-social {
    display: flex;
    justify-content: start;
    width: 48.75%;
    margin-right: 2.5%; }
    footer .footer-bottom .footer-social:last-child {
      margin-right: 0; }
    footer .footer-bottom .footer-social li {
      position: relative;
      text-indent: -9999px;
      margin-right: 15px; }
      footer .footer-bottom .footer-social li:before {
        -webkit-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -moz-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -ms-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -o-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
      footer .footer-bottom .footer-social li:hover:before {
        -webkit-transform: translateY(-3px);
        -moz-transform: translateY(-3px);
        -ms-transform: translateY(-3px);
        -o-transform: translateY(-3px);
        transform: translateY(-3px); }
      footer .footer-bottom .footer-social li a {
        width: 22px;
        height: 20px;
        display: block; }
  footer .footer-bottom .footer-soda {
    position: relative;
    height: 45px;
    text-align: center;
    display: inline-block;
    width: 48.75%;
    margin-right: 2.5%; }
    footer .footer-bottom .footer-soda:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      footer .footer-bottom .footer-soda {
        float: right;
        height: 28px;
        text-align: right; } }
    @media (max-width: 639px) {
      footer .footer-bottom .footer-soda .soda-text {
        display: none; } }
    footer .footer-bottom .footer-soda span,
    footer .footer-bottom .footer-soda .image-wrapper {
      position: absolute;
      bottom: 0; }
      @media only screen and (min-width: 640px) {
        footer .footer-bottom .footer-soda span,
        footer .footer-bottom .footer-soda .image-wrapper {
          bottom: inherit;
          top: 50%;
          transform: translateY(-50%); } }
    footer .footer-bottom .footer-soda span {
      right: 40px;
      font-size: 12px;
      font-size: 0.75rem;
      color: #efefff; }
      @media only screen and (min-width: 640px) {
        footer .footer-bottom .footer-soda span {
          font-size: 17px;
          font-size: 1.0625rem; } }
    footer .footer-bottom .footer-soda .image-wrapper {
      width: 20px;
      right: 0;
      background-color: transparent; }
      @media only screen and (min-width: 640px) {
        footer .footer-bottom .footer-soda .image-wrapper {
          width: 24px; } }

/********************
** Reponsive Container
********************/
#page,
#footer {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  zoom: 1; }

#page {
  min-height: 100%;
  height: auto;
  overflow: hidden; }

#page[page-color='project'] {
  background-color: #F6F8FB;
  background-color: var(--project-bkg-theme); }

article {
  min-height: 70vh; }

/*! Flickity v2.0.11
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }
  .flickity-slider .slide {
    width: 100%;
    overflow: hidden; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

/*****************************
** Dots
*****************************/
.flickity-page-dots {
  line-height: 0;
  text-align: center;
  margin-top: 15px !important; }
  @media only screen and (min-width: 640px) {
    .flickity-page-dots {
      margin-top: 25px !important; } }
  .flickity-page-dots li {
    display: inline-block;
    margin: 0 5px 10px 0;
    width: 50px;
    height: 2px;
    cursor: pointer;
    background-color: #f7f9fc; }
    @media only screen and (min-width: 640px) {
      .flickity-page-dots li {
        width: 100px; } }
    .flickity-page-dots li.is-selected {
      background-color: #66b1d8; }

/*****************************
** Arrows
*****************************/
.flickity-prev-next-button {
  position: absolute;
  display: block;
  top: 0;
  text-indent: -999em;
  width: 30%;
  height: 100%;
  background-color: transparent;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  @media (max-width: 639px) {
    .flickity-prev-next-button {
      display: none; } }
  .flickity-prev-next-button:before {
    position: absolute;
    display: block;
    top: 50%;
    margin-top: -32px;
    text-indent: -999em;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: rgba(184, 184, 205, 0.9);
    text-align: center;
    color: #2d3338;
    font-family: f-icons;
    font-size: 25px;
    font-size: 1.5625rem;
    line-height: 55px;
    text-indent: 0; }
  .flickity-prev-next-button.previous {
    left: 0; }
    .flickity-prev-next-button.previous:before {
      left: -10%;
      -webkit-transition: left 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -moz-transition: left 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -ms-transition: left 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -o-transition: left 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      transition: left 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -webkit-transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      transform: rotate(180deg); }
  .flickity-prev-next-button.next {
    right: 0; }
    .flickity-prev-next-button.next:before {
      -webkit-transition: right 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -moz-transition: right 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -ms-transition: right 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -o-transition: right 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      transition: right 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      right: -10%; }
  .flickity-prev-next-button:hover {
    opacity: 1; }
    .flickity-prev-next-button:hover.previous:before {
      left: 10%; }
    .flickity-prev-next-button:hover.next:before {
      right: 10%; }

/*****************************
** Carousels
*****************************/
.single-carousel {
  margin: 0 -22px;
  -webkit-transition: height 0.5s;
  -moz-transition: height 0.5s;
  -ms-transition: height 0.5s;
  -o-transition: height 0.5s;
  transition: height 0.5s;
  height: 55vh !important; }
  .single-carousel .slide {
    padding: 0 22px;
    max-width: 99%;
    width: auto;
    opacity: 0.8;
    -webkit-transition: opacity 0.25s;
    -moz-transition: opacity 0.25s;
    -ms-transition: opacity 0.25s;
    -o-transition: opacity 0.25s;
    transition: opacity 0.25s; }
    .single-carousel .slide figure {
      width: auto;
      height: 50vh; }
      .single-carousel .slide figure img,
      .single-carousel .slide figure video {
        height: 100%;
        width: auto;
        min-width: 0; }
    .single-carousel .slide .counter {
      margin-top: 10px;
      opacity: 0;
      font-size: 16px;
      font-size: 1rem;
      letter-spacing: 1px;
      -webkit-transition: opacity 0.25s;
      -moz-transition: opacity 0.25s;
      -ms-transition: opacity 0.25s;
      -o-transition: opacity 0.25s;
      transition: opacity 0.25s; }
    .single-carousel .slide.is-selected {
      opacity: 1; }
      .single-carousel .slide.is-selected .counter {
        opacity: 1; }

.flickity.autoplay .slide {
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.1s 0.6s, visibility 0s 0.7s; }
  .flickity.autoplay .slide figure {
    width: 100%; }
  .flickity.autoplay .slide.is-selected {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.1s 0s, visibility 0s 0s; }

article {
  padding-top: 105px;
  padding-bottom: 1px;
  margin-bottom: -1px; }
  @media only screen and (min-width: 640px) {
    article {
      padding-top: 125px; } }
  @media only screen and (min-width: 1024px) {
    article {
      padding-top: 165px; } }
  @media only screen and (min-width: 1300px) {
    article.page.News {
      padding-top: 275px; } }
  article[page-color='secondary'] {
    background-color: #f7f9fc; }

.page-module {
  margin: 30px auto; }
  .page-module:after {
    content: '';
    clear: both;
    display: table; }
  .page-module:first-of-type {
    margin-top: 0; }
  .page-module:last-of-type {
    margin-bottom: 0; }
  @media only screen and (min-width: 640px) {
    .page-module {
      margin: 6% auto; } }
  @media only screen and (min-width: 1300px) {
    .page-module {
      margin: 5.5% auto; } }
  .page-module.background-color {
    padding: 50px 0; }
    @media only screen and (min-width: 1024px) {
      .page-module.background-color {
        padding: 80px 0; } }
  .page-module__subheading {
    margin-top: 20px; }
    @media only screen and (min-width: 1300px) {
      .page-module__subheading {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 34px;
        line-height: 2.125rem; } }
  .page-module-label {
    display: inline-block;
    position: relative; }
  .page-module.link-cta .cta-links {
    text-align: center; }
  @media only screen and (min-width: 1024px) {
    .page-module.post-callout + .page-module.link-cta {
      margin-top: -1%; } }
  @media only screen and (min-width: 1300px) {
    .page-module.post-callout + .page-module.link-cta {
      margin-top: -3%; } }
  .page-module__large-ctas {
    padding: 30px 0 15px 0; }
    @media only screen and (min-width: 640px) {
      .page-module__large-ctas {
        padding: 45px 0 5px 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module__large-ctas {
        padding: 60px 0 5px 0; } }
    .page-module__large-ctas .cta-links {
      width: 100%;
      font-size: 16px;
      font-size: 1rem;
      text-align: center;
      color: #2d3338; }
      @media only screen and (min-width: 640px) {
        .page-module__large-ctas .cta-links {
          font-size: 20px;
          font-size: 1.25rem; } }
      .page-module__large-ctas .cta-links span {
        display: inline-block; }
        .page-module__large-ctas .cta-links span a {
          display: inline-block; }
  .page-module__small-ctas .cta-links {
    margin: 20px 0 10px 0;
    color: #1638e2;
    font-size: 16px;
    font-size: 1rem; }
    @media only screen and (min-width: 640px) {
      .page-module__small-ctas .cta-links {
        font-size: 20px;
        font-size: 1.25rem;
        text-align: left; } }
    .page-module__small-ctas .cta-links span {
      display: inline-block; }
    .page-module__small-ctas .cta-links a:after {
      background-color: #1638e2;
      height: 2px; }
  .page-module__list {
    margin-top: 40px; }
    @media only screen and (min-width: 1024px) {
      .page-module__list {
        margin-top: 5%; } }
    .page-module__list-item {
      font-size: 18px;
      font-size: 1.125rem;
      font-family: "sofia-pro", Helvetica, Arial, sans-serif;
      font-weight: 500;
      position: relative;
      margin-bottom: 20px; }
      @media only screen and (min-width: 1300px) {
        .page-module__list-item {
          font-size: 20px;
          font-size: 1.25rem; } }
      @media only screen and (min-width: 1024px) {
        .page-module__list-item {
          margin-bottom: 30px; } }
      @media only screen and (min-width: 1300px) {
        .page-module__list-item {
          margin-bottom: 40px; } }
      .page-module__list-item span {
        padding-top: 5px;
        position: relative;
        display: block;
        width: 100%; }
        .page-module__list-item span:before {
          content: '';
          border-top: 1px solid #b8b8cd;
          max-width: 60%;
          width: 100px;
          position: absolute;
          top: 0; }
  .page-module .logo-grid li:nth-child(1n + 10) {
    display: none; }
  @media only screen and (min-width: 1024px) {
    .page-module .logo-grid li:nth-child(1n + 10) {
      display: block; }
    .page-module .logo-grid li:nth-child(1n + 16) {
      display: none; } }
  @media only screen and (min-width: 1300px) {
    .page-module .logo-grid li:nth-child(1n + 16) {
      display: block; } }
  .page-module .logo-grid-inner {
    width: 100%;
    margin-right: 2.5%; }
    .page-module .logo-grid-inner:last-child {
      margin-right: 0; }
  .page-module .logo-grid .grid {
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 639px) {
      .page-module .logo-grid .grid {
        margin-top: 1px; } }
  .page-module .logo-grid .grid-item {
    text-align: center;
    padding: 4% 3%;
    max-width: 220px; }
    .page-module .logo-grid .grid-item figure .image-wrapper {
      background-color: transparent; }
    @supports (-ms-ime-align: auto) {
      .page-module .logo-grid .grid-item {
        padding: 10px 5%; }
        @media only screen and (min-width: 1024px) {
          .page-module .logo-grid .grid-item {
            padding: 40px 5%; } } }
    @supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {
      .page-module .logo-grid .grid-item {
        padding: 10px 5%; }
        @media only screen and (min-width: 1024px) {
          .page-module .logo-grid .grid-item {
            padding: 40px 5%; } } }
    @media only screen and (min-width: 1024px) {
      .page-module .logo-grid .grid-item {
        max-width: none;
        width: 16.71875%;
        margin-right: 2.5%; }
        .page-module .logo-grid .grid-item:last-child {
          margin-right: 0; }
        .page-module .logo-grid .grid-item:nth-child(5n) {
          margin-right: 0; } }

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .page-module .logo-grid .grid-item {
    width: 31.66667%;
    margin-right: 2.5%; }
    .page-module .logo-grid .grid-item:last-child {
      margin-right: 0; }
    .page-module .logo-grid .grid-item:nth-child(3n) {
      margin-right: 0; } }
    @media (max-width: 639px) {
      .page-module .logo-grid .grid-item {
        width: 31.66667%;
        margin-right: 2.5%; }
        .page-module .logo-grid .grid-item:last-child {
          margin-right: 0; }
        .page-module .logo-grid .grid-item:nth-child(2n) {
          margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .page-module.list-callout .flex-row, .page-module.list-callout .wpcf7,
    .page-module.list-callout .newsletter-sign-up-full {
      width: 82.91667%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .page-module.list-callout .flex-row:last-child, .page-module.list-callout .wpcf7:last-child,
      .page-module.list-callout .newsletter-sign-up-full:last-child {
        margin-right: 0; } }
  .page-module.list-callout .list-callout__text h1,
  .page-module.list-callout .list-callout__text > div {
    width: 100%;
    margin-right: 2.5%; }
    .page-module.list-callout .list-callout__text h1:last-child,
    .page-module.list-callout .list-callout__text > div:last-child {
      margin-right: 0; }
  @media only screen and (min-width: 1024px) {
    .page-module.list-callout .list-callout__text {
      width: 82.91667%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .page-module.list-callout .list-callout__text:last-child {
        margin-right: 0; } }
  @media (max-width: 639px) {
    .page-module.list-callout .page-module__list-item {
      width: 100%;
      margin-right: 2.5%; }
      .page-module.list-callout .page-module__list-item:last-child {
        margin-right: 0; } }

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .page-module.list-callout .page-module__list-item {
    width: 48.75%;
    margin-right: 2.5%; }
    .page-module.list-callout .page-module__list-item:last-child {
      margin-right: 0; }
    .page-module.list-callout .page-module__list-item:nth-child(2n) {
      margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .page-module.list-callout .page-module__list-item {
      width: 31.66667%;
      margin-right: 2.5%; }
      .page-module.list-callout .page-module__list-item:last-child {
        margin-right: 0; }
      .page-module.list-callout .page-module__list-item:nth-child(3n) {
        margin-right: 0; } }
  .page-module.media-text-grid .media-text-grid__text {
    width: 100%;
    margin-right: 2.5%; }
    .page-module.media-text-grid .media-text-grid__text:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module.media-text-grid .media-text-grid__text {
        width: 65.83333%;
        margin-right: 2.5%; }
        .page-module.media-text-grid .media-text-grid__text:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .media-text-grid__text {
        width: 40.20833%;
        margin-right: 2.5%; }
        .page-module.media-text-grid .media-text-grid__text:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .media-text-grid__text.left_align {
        margin-left: 8.54167%; } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .media-text-grid__text.right_align {
        margin-left: 51.25%; } }
  .page-module.media-text-grid .media-text-grid__full-image figure {
    width: 100%;
    margin-right: 2.5%; }
    .page-module.media-text-grid .media-text-grid__full-image figure:last-child {
      margin-right: 0; }
  .page-module.media-text-grid .media-text-grid__two-images figure {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      .page-module.media-text-grid .media-text-grid__two-images figure {
        width: calc(50% - 13px); } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .media-text-grid__two-images figure {
        width: calc(50% - 20px); } }
    @media (max-width: 639px) {
      .page-module.media-text-grid .media-text-grid__two-images figure + figure {
        margin-top: 40px; } }
    @media only screen and (min-width: 640px) {
      .page-module.media-text-grid .media-text-grid__two-images figure + figure {
        margin-left: 25px; } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .media-text-grid__two-images figure + figure {
        margin-left: 40px; } }
  .page-module.media-text-grid .flex-row + .flex-row, .page-module.media-text-grid .wpcf7 + .flex-row, .page-module.media-text-grid .newsletter-sign-up-full + .flex-row, .page-module.media-text-grid .flex-row + .wpcf7, .page-module.media-text-grid .wpcf7 + .wpcf7, .page-module.media-text-grid .newsletter-sign-up-full + .wpcf7,
  .page-module.media-text-grid .flex-row + .newsletter-sign-up-full,
  .page-module.media-text-grid .wpcf7 + .newsletter-sign-up-full,
  .page-module.media-text-grid .newsletter-sign-up-full + .newsletter-sign-up-full,
  .page-module.media-text-grid .flex-row + figure,
  .page-module.media-text-grid .wpcf7 + figure,
  .page-module.media-text-grid .newsletter-sign-up-full + figure {
    margin-top: 40px; }
    @media only screen and (min-width: 640px) {
      .page-module.media-text-grid .flex-row + .flex-row, .page-module.media-text-grid .wpcf7 + .flex-row, .page-module.media-text-grid .newsletter-sign-up-full + .flex-row, .page-module.media-text-grid .flex-row + .wpcf7, .page-module.media-text-grid .wpcf7 + .wpcf7, .page-module.media-text-grid .newsletter-sign-up-full + .wpcf7,
      .page-module.media-text-grid .flex-row + .newsletter-sign-up-full,
      .page-module.media-text-grid .wpcf7 + .newsletter-sign-up-full,
      .page-module.media-text-grid .newsletter-sign-up-full + .newsletter-sign-up-full,
      .page-module.media-text-grid .flex-row + figure,
      .page-module.media-text-grid .wpcf7 + figure,
      .page-module.media-text-grid .newsletter-sign-up-full + figure {
        margin-top: 25px; } }
    @media only screen and (min-width: 1024px) {
      .page-module.media-text-grid .flex-row + .flex-row, .page-module.media-text-grid .wpcf7 + .flex-row, .page-module.media-text-grid .newsletter-sign-up-full + .flex-row, .page-module.media-text-grid .flex-row + .wpcf7, .page-module.media-text-grid .wpcf7 + .wpcf7, .page-module.media-text-grid .newsletter-sign-up-full + .wpcf7,
      .page-module.media-text-grid .flex-row + .newsletter-sign-up-full,
      .page-module.media-text-grid .wpcf7 + .newsletter-sign-up-full,
      .page-module.media-text-grid .newsletter-sign-up-full + .newsletter-sign-up-full,
      .page-module.media-text-grid .flex-row + figure,
      .page-module.media-text-grid .wpcf7 + figure,
      .page-module.media-text-grid .newsletter-sign-up-full + figure {
        margin-top: 40px; } }
  .page-module.two-column-text .col-left,
  .page-module.two-column-text .col-right {
    width: 100%;
    margin-right: 2.5%; }
    .page-module.two-column-text .col-left:last-child,
    .page-module.two-column-text .col-right:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module.two-column-text .col-left,
      .page-module.two-column-text .col-right {
        width: 40.20833%;
        margin-right: 2.5%; }
        .page-module.two-column-text .col-left:last-child,
        .page-module.two-column-text .col-right:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module.two-column-text .col-left,
      .page-module.two-column-text .col-right {
        width: 23.125%;
        margin-right: 2.5%; }
        .page-module.two-column-text .col-left:last-child,
        .page-module.two-column-text .col-right:last-child {
          margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .page-module.two-column-text .col-left {
      margin-left: 8.54167%; } }
  .page-module.two-column-text .col-right {
    margin-top: 25%; }
    @media only screen and (min-width: 480px) {
      .page-module.two-column-text .col-right {
        margin-top: 20%; } }
    @media only screen and (min-width: 640px) {
      .page-module.two-column-text .col-right {
        margin-top: 0%;
        margin-left: 8.54167%; } }
  @media only screen and (min-width: 1024px) {
    .page-module.logo-callout .logo-callout__heading,
    .page-module.logo-callout .logo-callout__description {
      width: 40.20833%;
      margin-right: 2.5%;
      max-width: 475px; }
      .page-module.logo-callout .logo-callout__heading:last-child,
      .page-module.logo-callout .logo-callout__description:last-child {
        margin-right: 0; } }
  .page-module.logo-callout .grid {
    background-color: transparent;
    margin-top: 2%; }
  .page-module.logo-callout .grid-item {
    padding: 2% 3%; }
    @supports (-ms-ime-align: auto) {
      .page-module.logo-callout .grid-item {
        padding: 7px 6%; }
        @media only screen and (min-width: 1024px) {
          .page-module.logo-callout .grid-item {
            padding: 30px 6%; } } }
    @supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {
      .page-module.logo-callout .grid-item {
        padding: 7px 6%; }
        @media only screen and (min-width: 1024px) {
          .page-module.logo-callout .grid-item {
            padding: 30px 6%; } } }
  .page-module.two-column-image-text .column {
    width: 100%;
    margin-right: 2.5%;
    margin-bottom: 10%; }
    .page-module.two-column-image-text .column:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module.two-column-image-text .column {
        width: 48.75%;
        margin-right: 2.5%;
        margin-bottom: 0; }
        .page-module.two-column-image-text .column:last-child {
          margin-right: 0; } }
  .page-module.two-column-image-text .image-wrapper {
    margin-bottom: 25px; }
  @media (max-width: 639px) {
    .page-module.two-column-image-text p {
      font-size: 16px;
      font-size: 1rem; } }
  .page-module.social-callout .social-callout-wrapper {
    padding: 10px 0; }
    @media only screen and (min-width: 1024px) {
      .page-module.social-callout .social-callout-wrapper {
        width: 65.83333%;
        margin-right: 2.5%;
        margin-left: 8.54167%; }
        .page-module.social-callout .social-callout-wrapper:last-child {
          margin-right: 0; } }
  .page-module.social-callout li {
    margin-right: 35px; }
    .page-module.social-callout li:before {
      font-size: 22px;
      font-size: 1.375rem;
      color: #1638e2; }
      @media only screen and (min-width: 640px) {
        .page-module.social-callout li:before {
          font-size: 26px;
          font-size: 1.625rem; } }
    .page-module.social-callout li:hover:before {
      color: #b8b8cd; }
  .page-module.slideshow-callout .slideshow-callout {
    align-items: center; }
    .page-module.slideshow-callout .slideshow-callout.switch-order .slideshow-callout__slideshow {
      order: 1;
      margin-top: 40px; }
      @media only screen and (min-width: 800px) {
        .page-module.slideshow-callout .slideshow-callout.switch-order .slideshow-callout__slideshow {
          margin-left: 8.54167%;
          margin-top: 0; } }
    @media only screen and (min-width: 800px) {
      .page-module.slideshow-callout .slideshow-callout.switch-order .slideshow-callout__text {
        margin-left: 0%; } }
    @media only screen and (min-width: 1024px) {
      .page-module.slideshow-callout .slideshow-callout.switch-order .slideshow-callout__text {
        margin-left: 8.54167%; } }
    .page-module.slideshow-callout .slideshow-callout__slideshow {
      margin-bottom: 40px;
      width: 100%;
      margin-right: 2.5%;
      width: 100%;
      margin-right: 2.5%; }
      @media only screen and (min-width: 640px) {
        .page-module.slideshow-callout .slideshow-callout__slideshow {
          margin-bottom: 10px; } }
      .page-module.slideshow-callout .slideshow-callout__slideshow:last-child {
        margin-right: 0; }
      @media only screen and (min-width: 800px) {
        .page-module.slideshow-callout .slideshow-callout__slideshow {
          width: 48.75%;
          margin-right: 2.5%;
          margin-bottom: 0px; }
          .page-module.slideshow-callout .slideshow-callout__slideshow:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .page-module.slideshow-callout .slideshow-callout__slideshow {
          width: 40.20833%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .page-module.slideshow-callout .slideshow-callout__slideshow:last-child {
            margin-right: 0; } }
      .page-module.slideshow-callout .slideshow-callout__slideshow:last-child {
        margin-right: 0; }
    .page-module.slideshow-callout .slideshow-callout__image img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%; }
    @media only screen and (min-width: 800px) {
      .page-module.slideshow-callout .slideshow-callout__text {
        width: 40.20833%;
        margin-right: 2.5%;
        margin-left: 8.54167%; }
        .page-module.slideshow-callout .slideshow-callout__text:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module.slideshow-callout .slideshow-callout__text {
        width: 31.66667%;
        margin-right: 2.5%; }
        .page-module.slideshow-callout .slideshow-callout__text:last-child {
          margin-right: 0; } }
  .page-module.post-callout-grid {
    margin-top: 50px; }
    @media only screen and (min-width: 640px) {
      .page-module.post-callout-grid {
        margin-top: 0; } }
    @media only screen and (min-width: 1300px) {
      .page-module.post-callout-grid {
        margin-top: 20px; } }
    .page-module.post-callout-grid .full-width-callout .teaser-tile {
      width: 100%;
      margin-right: 2.5%; }
      .page-module.post-callout-grid .full-width-callout .teaser-tile:last-child {
        margin-right: 0; }
    .page-module.post-callout-grid .two-callouts-with-focus .teaser-tile {
      width: 100%;
      margin-right: 2.5%;
      margin-right: 0; }
      .page-module.post-callout-grid .two-callouts-with-focus .teaser-tile:last-child {
        margin-right: 0; }
      .page-module.post-callout-grid .two-callouts-with-focus .teaser-tile:not(:first-of-type) {
        margin-top: 15%; }
        @supports (-ms-ime-align: auto) {
          .page-module.post-callout-grid .two-callouts-with-focus .teaser-tile:not(:first-of-type) {
            margin-top: 35px; } }
    @media only screen and (min-width: 640px) {
      .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile {
        margin-top: 0; }
        .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:first-of-type {
          width: 57.29167%;
          margin-right: 2.5%; }
          .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:first-of-type:last-child {
            margin-right: 0; }
        .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:last-of-type {
          padding-top: 5%;
          width: 31.66667%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          @supports (-ms-ime-align: auto) {
            .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:last-of-type {
              padding-top: 50px; } }
          @supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {
            .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:last-of-type {
              padding-top: 50px; } }
          .page-module.post-callout-grid .two-callouts-with-focus.left_post .teaser-tile:last-of-type:last-child {
            margin-right: 0; }
      .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile {
        margin-top: 0; }
        .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:last-of-type {
          width: 57.29167%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:last-of-type:last-child {
            margin-right: 0; }
        .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:first-of-type {
          padding-top: 5%;
          width: 31.66667%;
          margin-right: 2.5%; }
          @supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {
            .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:first-of-type {
              padding-top: 50px; } }
          @supports (-ms-ime-align: auto) {
            .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:first-of-type {
              padding-top: 50px; } }
          .page-module.post-callout-grid .two-callouts-with-focus.right_post .teaser-tile:first-of-type:last-child {
            margin-right: 0; } }
    .page-module.post-callout-grid .two-callouts-no-focus .teaser-tile {
      margin-top: 50px;
      width: 100%;
      margin-right: 2.5%;
      margin-right: 0; }
      .page-module.post-callout-grid .two-callouts-no-focus .teaser-tile:last-child {
        margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module.post-callout-grid .two-callouts-no-focus .teaser-tile {
        margin-top: 0;
        width: 48.75%;
        margin-right: 2.5%; }
        .page-module.post-callout-grid .two-callouts-no-focus .teaser-tile:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 640px) {
      .page-module.post-callout-grid .flex-row + .flex-row, .page-module.post-callout-grid .wpcf7 + .flex-row, .page-module.post-callout-grid .newsletter-sign-up-full + .flex-row, .page-module.post-callout-grid .flex-row + .wpcf7, .page-module.post-callout-grid .wpcf7 + .wpcf7, .page-module.post-callout-grid .newsletter-sign-up-full + .wpcf7,
      .page-module.post-callout-grid .flex-row + .newsletter-sign-up-full,
      .page-module.post-callout-grid .wpcf7 + .newsletter-sign-up-full,
      .page-module.post-callout-grid .newsletter-sign-up-full + .newsletter-sign-up-full {
        margin-top: 25px; } }
    @media only screen and (min-width: 1024px) {
      .page-module.post-callout-grid .flex-row + .flex-row, .page-module.post-callout-grid .wpcf7 + .flex-row, .page-module.post-callout-grid .newsletter-sign-up-full + .flex-row, .page-module.post-callout-grid .flex-row + .wpcf7, .page-module.post-callout-grid .wpcf7 + .wpcf7, .page-module.post-callout-grid .newsletter-sign-up-full + .wpcf7,
      .page-module.post-callout-grid .flex-row + .newsletter-sign-up-full,
      .page-module.post-callout-grid .wpcf7 + .newsletter-sign-up-full,
      .page-module.post-callout-grid .newsletter-sign-up-full + .newsletter-sign-up-full {
        margin-top: 75px; } }
    .page-module.post-callout-grid .page-module__large-ctas a {
      color: #1638e2; }
  .page-module.post-callout .post-callout__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
    @media only screen and (min-width: 1024px) {
      .page-module.post-callout .post-callout__inner {
        align-items: center;
        flex-direction: row; }
        .page-module.post-callout .post-callout__inner .post-callout__image-wrapper,
        .page-module.post-callout .post-callout__inner .post-callout__content {
          width: 48.75%;
          margin-right: 2.5%; }
          .page-module.post-callout .post-callout__inner .post-callout__image-wrapper:last-child,
          .page-module.post-callout .post-callout__inner .post-callout__content:last-child {
            margin-right: 0; }
        .page-module.post-callout .post-callout__inner.left_align .post-callout__content {
          order: 1; } }
    @media only screen and (min-width: 1024px) and (min-width: 640px) {
      .page-module.post-callout .post-callout__inner.left_align .post-callout__content {
        padding-right: 2rem;
        padding-left: 0; } }
    @media only screen and (min-width: 1024px) and (min-width: 1300px) {
      .page-module.post-callout .post-callout__inner.left_align .post-callout__content {
        padding-right: 8%; } }
    @media only screen and (min-width: 1024px) {
        .page-module.post-callout .post-callout__inner.left_align .post-callout__image-wrapper {
          order: 2; }
        .page-module.post-callout .post-callout__inner.right_align .post-callout__content {
          order: 2; } }
    @media only screen and (min-width: 1024px) and (min-width: 1024px) {
      .page-module.post-callout .post-callout__inner.right_align .post-callout__content {
        padding-right: 0;
        padding-left: 45px; } }
    @media only screen and (min-width: 1024px) and (min-width: 1300px) {
      .page-module.post-callout .post-callout__inner.right_align .post-callout__content {
        padding-left: 8%; } }
    @media only screen and (min-width: 1024px) {
        .page-module.post-callout .post-callout__inner.right_align .post-callout__image-wrapper {
          order: 1; } }
    @media only screen and (min-width: 1024px) and (min-width: 1300px) {
      .page-module.post-callout .post-callout__inner.right_align .post-callout__image-wrapper {
        margin-right: 2.5% !important; } }
    @media only screen and (min-width: 1300px) {
      .page-module.post-callout .post-callout__inner .post-callout__image-wrapper {
        width: 57.29167%;
        margin-right: 2.5%; }
        .page-module.post-callout .post-callout__inner .post-callout__image-wrapper:last-child {
          margin-right: 0; }
      .page-module.post-callout .post-callout__inner .post-callout__content {
        width: 40.20833%;
        margin-right: 2.5%; }
        .page-module.post-callout .post-callout__inner .post-callout__content:last-child {
          margin-right: 0; }
      .page-module.post-callout .post-callout__inner.right_align .post-callout__content {
        margin-right: 0; }
      .page-module.post-callout .post-callout__inner.left_algin .post-callout__image-wrapper {
        margin-right: 0; } }
  .page-module.post-callout .post-callout__image-wrapper {
    width: 100%; }
  .page-module.post-callout .post-callout__content {
    order: 2;
    margin-top: 20px; }
    .page-module.post-callout .post-callout__content .desc {
      margin-top: 10px;
      font-size: 16px;
      font-size: 1rem;
      line-height: 25px;
      line-height: 1.5625rem; }
      @media only screen and (min-width: 1024px) {
        .page-module.post-callout .post-callout__content .desc {
          margin-top: 1rem;
          font-size: 18px;
          font-size: 1.125rem;
          line-height: 28px;
          line-height: 1.75rem; } }
      @media only screen and (min-width: 1300px) {
        .page-module.post-callout .post-callout__content .desc {
          margin-top: 1rem;
          max-width: 400px;
          font-size: 20px;
          font-size: 1.25rem;
          line-height: 34px;
          line-height: 2.125rem; } }
    @media only screen and (min-width: 1024px) {
      .page-module.post-callout .post-callout__content {
        padding-right: 6rem;
        margin-top: 0; } }
    .page-module.post-callout .post-callout__content .cta-links {
      margin-top: 2.5rem;
      color: #1638e2; }
      @media only screen and (min-width: 640px) {
        .page-module.post-callout .post-callout__content .cta-links {
          margin-top: 1rem; } }
      @media only screen and (min-width: 1024px) {
        .page-module.post-callout .post-callout__content .cta-links {
          font-size: 20px;
          font-size: 1.25rem; } }
      @media only screen and (min-width: 1300px) {
        .page-module.post-callout .post-callout__content .cta-links {
          margin-top: 3.5rem; } }
  .page-module.post-callout.background-color {
    margin-top: 30px; }
    @media only screen and (min-width: 640px) {
      .page-module.post-callout.background-color {
        margin-top: 80px; } }
    @media only screen and (min-width: 1300px) {
      .page-module.post-callout.background-color {
        padding: 90px 0; } }
  @media only screen and (min-width: 640px) {
    .page-module.three-media-callout .three-media-callout__media--sm {
      display: none; } }
  .page-module.three-media-callout .three-media-callout__media--lg {
    display: none; }
    @media only screen and (min-width: 640px) {
      .page-module.three-media-callout .three-media-callout__media--lg {
        display: block; } }
  .page-module.three-media-callout .three-media-callout__media--lg__item {
    width: 31.6666667%;
    margin-right: 2.5%; }
    .page-module.three-media-callout .three-media-callout__media--lg__item:last-child {
      margin-right: 0; }
  .page-module.three-media-callout .slide {
    width: 100%; }
  .page-module.three-post-callout {
    margin-top: 30px; }
    @media only screen and (min-width: 1024px) {
      .page-module.three-post-callout {
        margin-top: 80px;
        margin-bottom: 0px; } }
    @media only screen and (min-width: 1300px) {
      .page-module.three-post-callout.background-color {
        padding-top: 80px 0; } }
    .page-module.three-post-callout .page-module-label {
      margin-bottom: 0; }
      @media (max-width: 639px) {
        .page-module.three-post-callout .page-module-label {
          font-family: "freight-text-pro", Georgia, serif;
          font-size: 32px;
          font-size: 2rem;
          line-height: 40px;
          line-height: 2.5rem;
          text-transform: capitalize;
          letter-spacing: 0; } }
    .page-module.three-post-callout .flex-row, .page-module.three-post-callout .wpcf7,
    .page-module.three-post-callout .newsletter-sign-up-full {
      margin-top: 20px;
      position: relative; }
      .page-module.three-post-callout .flex-row .teaser-tile-news__subheading, .page-module.three-post-callout .wpcf7 .teaser-tile-news__subheading, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile-news__subheading {
        display: none; }
      @media (max-width: 1023px) {
        .page-module.three-post-callout .flex-row .teaser-tile, .page-module.three-post-callout .wpcf7 .teaser-tile, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile {
          width: 50%; }
          .page-module.three-post-callout .flex-row .teaser-tile:first-child, .page-module.three-post-callout .wpcf7 .teaser-tile:first-child, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile:first-child {
            padding-right: 2%; }
          .page-module.three-post-callout .flex-row .teaser-tile:nth-child(2), .page-module.three-post-callout .wpcf7 .teaser-tile:nth-child(2), .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile:nth-child(2) {
            padding-left: 2%; }
          .page-module.three-post-callout .flex-row .teaser-tile:last-child, .page-module.three-post-callout .wpcf7 .teaser-tile:last-child, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile:last-child {
            display: none; } }
      @media only screen and (min-width: 1024px) {
        .page-module.three-post-callout .flex-row, .page-module.three-post-callout .wpcf7,
        .page-module.three-post-callout .newsletter-sign-up-full {
          margin-bottom: 0; }
          .page-module.three-post-callout .flex-row *, .page-module.three-post-callout .wpcf7 *, .page-module.three-post-callout .newsletter-sign-up-full * {
            overflow: visible; }
          .page-module.three-post-callout .flex-row .teaser-image-wrapper, .page-module.three-post-callout .wpcf7 .teaser-image-wrapper, .page-module.three-post-callout .newsletter-sign-up-full .teaser-image-wrapper {
            overflow: hidden; }
          .page-module.three-post-callout .flex-row .teaser-tile, .page-module.three-post-callout .wpcf7 .teaser-tile, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile {
            width: 33.3%;
            padding: 0 0.45%; }
            .page-module.three-post-callout .flex-row .teaser-tile:first-of-type, .page-module.three-post-callout .wpcf7 .teaser-tile:first-of-type, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile:first-of-type {
              padding-right: 0.85%;
              padding-left: 0; }
            .page-module.three-post-callout .flex-row .teaser-tile:last-of-type, .page-module.three-post-callout .wpcf7 .teaser-tile:last-of-type, .page-module.three-post-callout .newsletter-sign-up-full .teaser-tile:last-of-type {
              padding-left: 0.85%;
              padding-right: 0; } }
    .page-module.three-post-callout .page-module__large-ctas a {
      color: #1638e2; }
  @media only screen and (min-width: 1024px) {
    .page-module.text-callout .text-callout__text {
      width: 48.75%;
      margin-right: 2.5%;
      margin-left: 36.72917%; }
      .page-module.text-callout .text-callout__text:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1300px) {
    .page-module.text-callout-small {
      padding: 5% 0; } }
  @media only screen and (min-width: 1024px) {
    .page-module .text-callout-small__inner {
      padding: 0 8.54%;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center; }
      .page-module .text-callout-small__inner .text-callout-small__text {
        margin-right: 8.54%; }
      .page-module .text-callout-small__inner .text-callout-small__link .page-module__small-ctas .cta-links {
        margin-top: 0; } }
  .page-module.custom-shortcode .view-label {
    color: #1638e2; }
  .page-module.client-grid, .page-module.blocktext {
    width: 100%;
    margin-right: 2.5%; }
    .page-module.client-grid:last-child, .page-module.blocktext:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module.client-grid, .page-module.blocktext {
        margin-left: 8.54167%;
        width: 82.91667%;
        margin-right: 2.5%; }
        .page-module.client-grid:last-child, .page-module.blocktext:last-child {
          margin-right: 0; } }
  .page-module .blockquote__inner {
    width: 100%;
    margin-right: 2.5%; }
    .page-module .blockquote__inner:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .page-module .blockquote__inner {
        margin-left: 8.54167%;
        width: 82.91667%;
        margin-right: 2.5%; }
        .page-module .blockquote__inner:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .page-module .blockquote__inner {
        margin-left: 17.08333%;
        width: 65.83333%;
        margin-right: 2.5%; }
        .page-module .blockquote__inner:last-child {
          margin-right: 0; } }
    .page-module .blockquote__inner .attribution {
      margin-top: 30px; }
  .page-module.client-grid .client-grid__heading {
    margin-bottom: 3rem; }
  .page-module.two-image-row .figure-wrapper {
    width: 100%; }
    .page-module.two-image-row .figure-wrapper:nth-child(2) {
      margin-top: 40px; }
    @media only screen and (min-width: 640px) {
      .page-module.two-image-row .figure-wrapper {
        width: 48.75%;
        margin-right: 2.5%; }
        .page-module.two-image-row .figure-wrapper:last-child {
          margin-right: 0; }
        .page-module.two-image-row .figure-wrapper:nth-child(2) {
          margin-top: 0; } }
  .page-module.media-grid .media-grid__wrapper {
    display: grid;
    grid-gap: 15px;
    grid-template-columns: repeat(12, 1fr);
    margin-bottom: -10px; }
    @media only screen and (min-width: 1024px) {
      .page-module.media-grid .media-grid__wrapper {
        padding: 20px 0;
        margin-bottom: -30px; } }
  .page-module.media-grid .media-grid__entry--image {
    display: none; }
  .page-module.media-grid .media-grid__entry--top-left {
    grid-column: span 12; }
  @media only screen and (min-width: 1024px) {
    .page-module.media-grid .media-grid__entry {
      width: auto; }
      .page-module.media-grid .media-grid__entry--image {
        display: block; }
      .page-module.media-grid .media-grid__entry--bottom-right {
        grid-column: 9 / span 3;
        grid-row: 2; }
      .page-module.media-grid .media-grid__entry--bottom-left {
        grid-column: 3 / span 6;
        grid-row: 2;
        margin-top: -29%; }
      .page-module.media-grid .media-grid__entry--top-right {
        grid-column: 9 / span 4;
        grid-row: 1; }
      .page-module.media-grid .media-grid__entry--top-left {
        grid-column: 1 / span 8;
        grid-row: 1;
        margin-top: -5%; } }
  @media only screen and (min-width: 1200px) {
    .page-module.media-grid .media-grid__entry--bottom-left {
      margin-top: -30%; } }
  @media only screen and (min-width: 640px) {
    .page-module.quote-callout .flex-row, .page-module.quote-callout .wpcf7,
    .page-module.quote-callout .newsletter-sign-up-full {
      flex-wrap: nowrap; } }
  @media only screen and (min-width: 1024px) {
    .page-module.quote-callout .flex-row, .page-module.quote-callout .wpcf7,
    .page-module.quote-callout .newsletter-sign-up-full {
      width: 48.75%;
      margin-right: 2.5%; }
      .page-module.quote-callout .flex-row:last-child, .page-module.quote-callout .wpcf7:last-child,
      .page-module.quote-callout .newsletter-sign-up-full:last-child {
        margin-right: 0; }
    .page-module.quote-callout .Right {
      float: right; } }
  .page-module.quote-callout .quote-callout__img {
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    background-color: #e4ebf5;
    margin-top: -2px; }
    .page-module.quote-callout .quote-callout__img--mobile {
      width: 50px;
      height: 50px;
      display: inline-block; }
      @media only screen and (min-width: 1024px) {
        .page-module.quote-callout .quote-callout__img--mobile {
          display: none; } }
    .page-module.quote-callout .quote-callout__img--desktop {
      display: none; }
      @media only screen and (min-width: 1024px) {
        .page-module.quote-callout .quote-callout__img--desktop {
          min-width: 110px;
          height: 110px;
          display: block; } }
  .page-module.quote-callout .quote-callout__text {
    width: 100%;
    margin-right: 2.5%;
    position: relative; }
    .page-module.quote-callout .quote-callout__text:last-child {
      margin-right: 0; }
    .page-module.quote-callout .quote-callout__text:before {
      content: '\201C';
      position: absolute;
      left: -8px;
      top: 0;
      font-family: "freight-text-pro", Georgia, serif;
      font-weight: 400; }
    @media only screen and (min-width: 1024px) {
      .page-module.quote-callout .quote-callout__text {
        margin-left: 30px;
        width: 65.83333%;
        margin-right: 2.5%; }
        .page-module.quote-callout .quote-callout__text:last-child {
          margin-right: 0; } }
  .page-module.quote-callout .quote {
    margin-bottom: 35px; }
  .page-module.quote-callout .attribution {
    align-items: center; }
    .page-module.quote-callout .attribution__details {
      font-size: 14px;
      font-size: 0.875rem;
      display: inline-block;
      margin-left: 15px; }
      @media only screen and (min-width: 1024px) {
        .page-module.quote-callout .attribution__details {
          margin-left: 0; } }
    .page-module.quote-callout .attribution__name {
      font-weight: 600;
      color: #2d3338;
      line-height: 1; }
  .page-module.text-grid .text-grid, .page-module.media-text-grid .text-grid {
    font-size: 16px;
    font-size: 1rem;
    line-height: 25px;
    line-height: 1.5625rem; }
    @media only screen and (min-width: 1024px) {
      .page-module.text-grid .text-grid, .page-module.media-text-grid .text-grid {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 34px;
        line-height: 2.125rem; } }
    .page-module.text-grid .text-grid .header, .page-module.media-text-grid .text-grid .header {
      margin-bottom: 32px; }
      @media only screen and (min-width: 1024px) {
        .page-module.text-grid .text-grid .header, .page-module.media-text-grid .text-grid .header {
          margin-bottom: 40px;
          width: 40%; } }
    .page-module.text-grid .text-grid__heading, .page-module.media-text-grid .text-grid__heading {
      margin-bottom: 30px; }
    .page-module.text-grid .text-grid__subheading, .page-module.media-text-grid .text-grid__subheading {
      font-weight: 700; }
  .page-module.text-grid .section, .page-module.media-text-grid .section {
    margin-top: 32px;
    position: relative;
    max-width: 650px; }
    .page-module.text-grid .section:first-child, .page-module.media-text-grid .section:first-child {
      margin-top: 0; }
    .page-module.text-grid .section .callout-line, .page-module.media-text-grid .section .callout-line {
      position: absolute;
      left: 0; }
      @media only screen and (min-width: 1024px) {
        .page-module.text-grid .section .callout-line, .page-module.media-text-grid .section .callout-line {
          top: 2px; }
          .page-module.text-grid .section .callout-line .line, .page-module.media-text-grid .section .callout-line .line {
            display: block; } }
    @media only screen and (min-width: 1024px) {
      .page-module.text-grid .section, .page-module.media-text-grid .section {
        padding-left: 8.54%;
        padding-right: 8.54%;
        width: 48.75%;
        margin-right: 2.5%; }
        .page-module.text-grid .section:first-child, .page-module.text-grid .section:nth-child(2), .page-module.media-text-grid .section:first-child, .page-module.media-text-grid .section:nth-child(2) {
          margin-top: 0; }
        .page-module.text-grid .section:last-child, .page-module.media-text-grid .section:last-child {
          margin-right: 0; }
        .page-module.text-grid .section:nth-child(odd), .page-module.media-text-grid .section:nth-child(odd) {
          margin-right: 2.5%; }
        .page-module.text-grid .section:nth-child(even), .page-module.media-text-grid .section:nth-child(even) {
          margin-right: 0; } }
    .page-module.text-grid .section ul, .page-module.media-text-grid .section ul {
      margin-top: 15px; }
      .page-module.text-grid .section ul li, .page-module.media-text-grid .section ul li {
        list-style: initial;
        margin-left: 40px; }
  @media only screen and (min-width: 1024px) {
    .page-module.text-block .text {
      width: 48.75%;
      margin-right: 2.5%; }
      .page-module.text-block .text:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .page-module.text-block .left_align {
      margin-left: 8.54167%; } }
  @media only screen and (min-width: 1024px) {
    .page-module.text-block .right_align {
      margin-left: 42.70833%; } }
  .page-module.headline-callout {
    margin-bottom: 4%; }
    .page-module.headline-callout.page-module + .page-module {
      margin: 50px 0 50px 0; }
      @media only screen and (min-width: 1024px) {
        .page-module.headline-callout.page-module + .page-module {
          margin: 100px 0 100px 0; } }
      .page-module.headline-callout.page-module + .page-module.background-color {
        margin: 0; }
    .page-module.headline-callout .headline-callout__line {
      width: calc(6.04167% + 8vw);
      margin-left: -8vw;
      margin-right: 2.5%;
      overflow: hidden;
      transform: translateY(0) !important; }
      @media only screen and (min-width: 1714px) {
        .page-module.headline-callout .headline-callout__line {
          width: 12.08%;
          margin-left: -6.04%; } }
      .page-module.headline-callout .headline-callout__line.callout-line--small {
        width: 6.04%;
        margin-left: 0; }
        @media only screen and (min-width: 1024px) {
          .page-module.headline-callout .headline-callout__line.callout-line--small {
            width: 12.08%; } }
      .page-module.headline-callout .headline-callout__line.line-wrapper {
        position: relative; }
        .page-module.headline-callout .headline-callout__line.line-wrapper .line {
          width: 100%;
          height: 2px;
          background-color: #1638e2;
          display: none;
          float: left; }
          @media only screen and (min-width: 1024px) {
            .page-module.headline-callout .headline-callout__line.line-wrapper .line {
              display: block;
              margin-top: 15px; } }
    .page-module.headline-callout .headline-callout__text {
      width: 100%;
      margin-right: 2.5%; }
      .page-module.headline-callout .headline-callout__text:last-child {
        margin-right: 0; }
      @media only screen and (min-width: 1024px) {
        .page-module.headline-callout .headline-callout__text {
          width: 65.83333%;
          margin-right: 2.5%; }
          .page-module.headline-callout .headline-callout__text:last-child {
            margin-right: 0; } }
      .page-module.headline-callout .headline-callout__text-subheading {
        font-size: 18px;
        font-size: 1.125rem;
        font-family: "sofia-pro", Helvetica, Arial, sans-serif;
        margin-bottom: 0.75rem; }
      .page-module.headline-callout .headline-callout__text-headline {
        max-width: 1080px; }
      .page-module.headline-callout .headline-callout__text-description {
        max-width: 700px;
        margin-top: 10px;
        font-size: 16px;
        font-size: 1rem;
        line-height: 25px;
        line-height: 1.5625rem; }
        @media only screen and (min-width: 640px) {
          .page-module.headline-callout .headline-callout__text-description {
            font-size: 20px;
            font-size: 1.25rem;
            line-height: 34px;
            line-height: 2.125rem; } }
        @media only screen and (min-width: 1300px) {
          .page-module.headline-callout .headline-callout__text-description {
            margin-top: 15px; } }

.careers-callout {
  margin-bottom: 3rem; }
  @media only screen and (min-width: 1024px) {
    .careers-callout {
      margin-bottom: 8rem;
      margin-left: 17.08333%;
      width: 40.20833%;
      margin-right: 2.5%; }
      .careers-callout:last-child {
        margin-right: 0; } }
  .careers-callout__desc {
    margin-top: 20px; }

.post-652 .search-filter-results {
  margin-top: 0; }

.people-view__person {
  width: 100%;
  margin-bottom: 30px; }

@media only screen and (min-width: 480px) and (max-width: 639px) {
  .people-view__person {
    width: 48.75%;
    margin-right: 2.5%; }
    .people-view__person:last-child {
      margin-right: 0; }
    .people-view__person:nth-child(2n) {
      margin-right: 0; } }
  @media only screen and (min-width: 640px) {
    .people-view__person {
      margin-bottom: 40px; } }
  @media only screen and (min-width: 640px) and (max-width: 1023px) {
    .people-view__person {
      width: 31.66667%;
      margin-right: 2.5%; }
      .people-view__person:last-child {
        margin-right: 0; }
      .people-view__person:nth-child(3n) {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .people-view__person {
      width: 23.125%;
      margin-right: 2.5%; }
      .people-view__person:last-child {
        margin-right: 0; }
      .people-view__person:nth-child(4n) {
        margin-right: 0; } }

.media-grid-with-copy__col-push-right,
.media-grid-with-copy__col-push-left,
.media-grid-with-copy__col-push-left-2 {
  display: none; }

.media-grid-with-copy__col .figure-wrapper {
  margin: 0 -10% 5%; }

@media only screen and (min-width: 640px) {
  .media-grid-with-copy__col-push-right,
  .media-grid-with-copy__col-push-left,
  .media-grid-with-copy__col-push-left-2 {
    display: block; }
  .media-grid-with-copy__col {
    width: 48.75%;
    margin-right: 2.5%; }
    .media-grid-with-copy__col:last-child {
      margin-right: 0; }
    .media-grid-with-copy__col .figure-wrapper {
      margin: 0 0 5%; }
    .media-grid-with-copy__col .media-grid-with-copy__col-push-right {
      padding-left: 17.08%; }
    .media-grid-with-copy__col .media-grid-with-copy__col-push-left {
      padding-right: 17.08%; }
    .media-grid-with-copy__col .media-grid-with-copy__col-push-left-2 {
      padding-right: 34.16%; }
    .media-grid-with-copy__col .media-grid-with-copy__col-push-both {
      padding: 30px 17.08%; } }

.content_grid__heading {
  margin-bottom: 2rem; }

.content_grid__item {
  width: 100%;
  margin-right: 2.5%;
  margin-bottom: 3rem; }
  .content_grid__item:last-child {
    margin-right: 0; }
  .content_grid__item .image-wrapper {
    margin-bottom: 1.5rem; }
  .content_grid__item h3 {
    text-transform: uppercase;
    color: #1638e2;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 15px;
    line-height: 0.9375rem; }
  .content_grid__item li {
    position: relative; }
    .content_grid__item li:before {
      content: '-';
      color: #1638e2;
      position: absolute;
      left: -15px;
      top: -1px;
      display: block; }
      @media only screen and (min-width: 1024px) {
        .content_grid__item li:before {
          left: -20px; } }
    @media only screen and (min-width: 1024px) {
      .content_grid__item li {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 34px;
        line-height: 2.125rem; } }

@media only screen and (min-width: 1024px) {
  .content_grid_row--2 .content_grid__item {
    width: 48.75%;
    margin-right: 2.5%; }
    .content_grid_row--2 .content_grid__item:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 1024px) {
  .content_grid_row--3 .content_grid__item {
    width: 31.66667%;
    margin-right: 2.5%; }
    .content_grid_row--3 .content_grid__item:last-child {
      margin-right: 0; } }

.labs-callout .page-module__subheading {
  margin-bottom: 32px; }
  @media only screen and (min-width: 640px) {
    .labs-callout .page-module__subheading {
      width: 75%; } }
  @media only screen and (min-width: 1024px) {
    .labs-callout .page-module__subheading {
      width: 68%;
      margin-bottom: 64px; } }
  @media only screen and (min-width: 1300px) {
    .labs-callout .page-module__subheading {
      width: 60%; } }

.labs-callout .cta-links {
  text-align: center;
  margin: 32px 0 5px 0; }
  @media only screen and (min-width: 1300px) {
    .labs-callout .cta-links {
      margin: 48px 0; } }

.flickity-tiles__item {
  width: 84%;
  margin-right: 10px;
  max-width: 550px; }
  @media only screen and (min-width: 640px) {
    .flickity-tiles__item {
      width: 50%;
      margin-right: 24px; } }
  @media only screen and (min-width: 1024px) {
    .flickity-tiles__item {
      width: 40%; } }

.work-view__accordion-header {
  position: relative;
  border-bottom: 1px solid #D8D8D8;
  display: flex;
  justify-content: space-between; }
  @media only screen and (min-width: 640px) {
    .work-view__accordion-header {
      display: none; } }

.work-view__accordion-button {
  background-color: transparent;
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  position: relative;
  width: auto;
  height: 44px;
  padding-right: 24px; }
  article[page-color="dark"] .work-view__accordion-button {
    color: #b8b8cd; }
    article[page-color="dark"] .work-view__accordion-button path {
      stroke: #b8b8cd; }
  .work-view__accordion-button:hover {
    cursor: pointer; }

.work-view__accordion-button--inner {
  width: 44px;
  padding: 0;
  position: absolute;
  bottom: 10px;
  right: 9px;
  z-index: 2; }
  .work-view__accordion-button--inner:hover {
    cursor: pointer; }
  @media only screen and (min-width: 640px) {
    .work-view__accordion-button--inner {
      display: none; } }
  .work-view__accordion-button--inner .work-view__accordion-icon {
    position: static;
    top: auto;
    right: auto;
    transform: translateY(0); }
  article[page-color="dark"] .work-view__accordion-button--inner path {
    stroke: #1638e2; }

.work-view__accordion-icon {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%); }
  .work-view__accordion-icon svg {
    transform: rotate(180deg);
    transition: transfoem 0.15s ease-in-out; }
  .is-open .work-view__accordion-icon svg {
    transform: rotate(0); }

.work-view__accordion-title {
  color: #1638e2;
  font-size: 15px;
  font-size: 0.9375rem;
  border-bottom: 2px solid #1638e2;
  height: 44px;
  display: flex;
  align-items: center; }
  article[page-color="dark"] .work-view__accordion-title {
    color: #ffffff;
    border-color: #ffffff; }

.work-view__buttons-wrapper {
  position: relative;
  margin-bottom: 64px; }
  @media only screen and (min-width: 1024px) {
    .work-view__buttons-wrapper {
      margin-bottom: 80px; } }

.work-view__button-row {
  display: none;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: -18px;
  right: -18px;
  background-color: #ffffff;
  z-index: 20;
  align-items: flex-start;
  padding-bottom: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); }
  .work-view__button-row.is-open {
    display: flex;
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
  .work-view__button-row.is-ready {
    opacity: 1; }
  @media only screen and (min-width: 640px) {
    .work-view__button-row {
      display: flex !important;
      border-bottom: 2px solid #D8D8D8;
      padding-bottom: 0;
      background-color: transparent;
      flex-direction: row;
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      box-shadow: none;
      opacity: 0;
      visibility: visible;
      transform: translateY(40px);
      transition: opacity 1s, transform 0.75s; }
      .work-view__button-row.is-open {
        opacity: 1;
        transform: translate3d(0, 0, 0); }
      .work-view__button-row.work-view__button-row--animated {
        opacity: 1;
        transform: translateY(0); } }
  @media only screen and (min-width: 640px) {
    article[page-color="dark"] .work-view__button-row {
      border-color: #7A8493; } }

.work-view__button {
  background-color: transparent;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.66;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  text-align: left;
  margin-left: 18px;
  width: 100%;
  width: calc(100% - 18px);
  height: 46px;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: visible;
  transform: translate3d(10px, 0, 0); }
  .work-view__button:nth-child(0) {
    transition: opacity 0.75s 0.02s, transform 0.65s 0.02s; }
  .work-view__button:nth-child(1) {
    transition: opacity 0.75s 0.06s, transform 0.65s 0.08s; }
  .work-view__button:nth-child(2) {
    transition: opacity 0.75s 0.1s, transform 0.65s 0.14s; }
  .work-view__button:nth-child(3) {
    transition: opacity 0.75s 0.14s, transform 0.65s 0.2s; }
  .work-view__button:nth-child(4) {
    transition: opacity 0.75s 0.18s, transform 0.65s 0.26s; }
  .work-view__button:nth-child(5) {
    transition: opacity 0.75s 0.22s, transform 0.65s 0.32s; }
  .work-view__button:nth-child(6) {
    transition: opacity 0.75s 0.26s, transform 0.65s 0.38s; }
  .work-view__button:nth-child(7) {
    transition: opacity 0.75s 0.3s, transform 0.65s 0.44s; }
  .work-view__button:nth-child(8) {
    transition: opacity 0.75s 0.34s, transform 0.65s 0.5s; }
  .work-view__button:nth-child(9) {
    transition: opacity 0.75s 0.38s, transform 0.65s 0.56s; }
  .work-view__button:nth-child(10) {
    transition: opacity 0.75s 0.42s, transform 0.65s 0.62s; }
  .work-view__button:nth-child(11) {
    transition: opacity 0.75s 0.46s, transform 0.65s 0.68s; }
  .work-view__button:nth-child(12) {
    transition: opacity 0.75s 0.5s, transform 0.65s 0.74s; }
  .work-view__button:nth-child(13) {
    transition: opacity 0.75s 0.54s, transform 0.65s 0.8s; }
  .work-view__button:nth-child(14) {
    transition: opacity 0.75s 0.58s, transform 0.65s 0.86s; }
  .work-view__button:nth-child(15) {
    transition: opacity 0.75s 0.62s, transform 0.65s 0.92s; }
  .work-view__button:nth-child(16) {
    transition: opacity 0.75s 0.66s, transform 0.65s 0.98s; }
  .work-view__button:nth-child(17) {
    transition: opacity 0.75s 0.7s, transform 0.65s 1.04s; }
  .work-view__button:nth-child(18) {
    transition: opacity 0.75s 0.74s, transform 0.65s 1.1s; }
  .work-view__button:nth-child(19) {
    transition: opacity 0.75s 0.78s, transform 0.65s 1.16s; }
  .work-view__button:nth-child(20) {
    transition: opacity 0.75s 0.82s, transform 0.65s 1.22s; }
  .work-view__button:first-of-type {
    margin-top: 5px; }
  .is-ready .work-view__button {
    opacity: 1;
    transform: translate3d(0, 0, 0); }
  @media only screen and (min-width: 640px) {
    .work-view__button {
      display: block;
      margin-left: 0;
      padding: 0 10px;
      width: auto;
      height: 54px;
      transform: translate3d(0, 40px, 0);
      transition: opacity 1s, transform 0.75s; }
      .work-view__button:nth-child(0) {
        transition: opacity 0.75s 0.2s, transform 0.65s 0.1s; }
      .work-view__button:nth-child(1) {
        transition: opacity 0.75s 0.28s, transform 0.65s 0.18s; }
      .work-view__button:nth-child(2) {
        transition: opacity 0.75s 0.36s, transform 0.65s 0.26s; }
      .work-view__button:nth-child(3) {
        transition: opacity 0.75s 0.44s, transform 0.65s 0.34s; }
      .work-view__button:nth-child(4) {
        transition: opacity 0.75s 0.52s, transform 0.65s 0.42s; }
      .work-view__button:nth-child(5) {
        transition: opacity 0.75s 0.6s, transform 0.65s 0.5s; }
      .work-view__button:nth-child(6) {
        transition: opacity 0.75s 0.68s, transform 0.65s 0.58s; }
      .work-view__button:nth-child(7) {
        transition: opacity 0.75s 0.76s, transform 0.65s 0.66s; }
      .work-view__button:nth-child(8) {
        transition: opacity 0.75s 0.84s, transform 0.65s 0.74s; }
      .work-view__button:nth-child(9) {
        transition: opacity 0.75s 0.92s, transform 0.65s 0.82s; }
      .work-view__button:nth-child(10) {
        transition: opacity 0.75s 1s, transform 0.65s 0.9s; }
      .work-view__button:nth-child(11) {
        transition: opacity 0.75s 1.08s, transform 0.65s 0.98s; }
      .work-view__button:nth-child(12) {
        transition: opacity 0.75s 1.16s, transform 0.65s 1.06s; }
      .work-view__button:nth-child(13) {
        transition: opacity 0.75s 1.24s, transform 0.65s 1.14s; }
      .work-view__button:nth-child(14) {
        transition: opacity 0.75s 1.32s, transform 0.65s 1.22s; }
      .work-view__button:nth-child(15) {
        transition: opacity 0.75s 1.4s, transform 0.65s 1.3s; }
      .work-view__button:nth-child(16) {
        transition: opacity 0.75s 1.48s, transform 0.65s 1.38s; }
      .work-view__button:nth-child(17) {
        transition: opacity 0.75s 1.56s, transform 0.65s 1.46s; }
      .work-view__button:nth-child(18) {
        transition: opacity 0.75s 1.64s, transform 0.65s 1.54s; }
      .work-view__button:nth-child(19) {
        transition: opacity 0.75s 1.72s, transform 0.65s 1.62s; }
      .work-view__button:nth-child(20) {
        transition: opacity 0.75s 1.8s, transform 0.65s 1.7s; }
      .work-view__button:first-of-type {
        margin-top: 0; }
      .work-view__button-row--animated .work-view__button {
        opacity: 1;
        transform: translate3d(0, 0, 0); } }
  @media only screen and (min-width: 1024px) {
    .work-view__button {
      font-size: 18px;
      font-size: 1.125rem; } }
  .work-view__button span {
    color: #828282;
    transition: color 0.18s ease-in-out, opacity 0.75s 0.55s, transform 0.65s 0.45s !important;
    padding-bottom: 4px; }
    @media only screen and (min-width: 640px) {
      .work-view__button span {
        padding-bottom: 0; } }
  @media only screen and (min-width: 640px) {
    .work-view__button + .work-view__button {
      margin-left: 24px; } }
  @media only screen and (min-width: 1024px) {
    .work-view__button + .work-view__button {
      margin-left: 7.5%; } }
  .work-view__button:hover span, .work-view__button:focus span {
    color: #2d3338; }
  .work-view__button:hover {
    cursor: pointer; }
  .work-view__button.is-active span {
    border-bottom: 2px solid #1638e2;
    color: #1638e2; }
    @media only screen and (min-width: 640px) {
      .work-view__button.is-active span {
        border: 0; } }
  article[page-color="dark"] .work-view__button span {
    color: #7A8493; }
  article[page-color="dark"] .work-view__button.is-active span {
    color: #1638e2; }
    @media only screen and (min-width: 640px) {
      article[page-color="dark"] .work-view__button.is-active span {
        color: #ffffff; } }
  @media only screen and (min-width: 640px) {
    article[page-color="dark"] .work-view__button:hover span, article[page-color="dark"] .work-view__button:focus span {
      color: #ffffff; } }

.work-view__active-marker {
  display: none; }
  @media only screen and (min-width: 640px) {
    .work-view__active-marker {
      display: block;
      position: absolute;
      background-color: #1638e2;
      bottom: -2px;
      height: 2px;
      transition: width 0.3s cubic-bezier(0.57, 0.29, 0.06, 0.96) 0.1s, left 0.5s cubic-bezier(0.57, 0.29, 0.06, 0.96); } }
  article[page-color="dark"] .work-view__active-marker {
    background-color: #efefff; }

.work-view__content {
  position: relative; }

.work-view__panel {
  display: none;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-bottom: 24px; }
  .work-view__panel.is-ready {
    display: block;
    transition: opacity 0.2s ease-in-out; }
  .work-view__panel.is-active {
    opacity: 1; }

.work-view__teaser {
  margin-bottom: 52px; }
  @media only screen and (min-width: 1024px) {
    .work-view__teaser {
      margin-bottom: 64px; } }
  @media only screen and (min-width: 640px) {
    .work-view__teaser:nth-child(3n+2) {
      margin-right: 0; } }
  .work-view__teaser:last-child {
    margin-bottom: 0; }

.work-view__teaser--half {
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .work-view__teaser--half {
      width: 48.75%;
      margin-right: 2.5%; }
      .work-view__teaser--half:last-child {
        margin-right: 0; } }

.work-view__teaser--full {
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .work-view__teaser--full .work-view__teaser-title {
      width: 80%; } }
  @media only screen and (min-width: 1024px) {
    .work-view__teaser--full .work-view__teaser-title {
      width: 60%; } }

.work-view__teaser-inner {
  display: flex;
  flex-direction: column; }

.work-view__teaser-client {
  order: 2;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #1638e2;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 6px;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif; }
  @media only screen and (min-width: 640px) {
    .work-view__teaser-client {
      order: 1;
      font-size: 13px;
      font-size: 0.8125rem;
      margin-bottom: 10px; } }

.work-view__teaser-image {
  order: 1;
  margin-bottom: 24px; }
  @media only screen and (min-width: 640px) {
    .work-view__teaser-image {
      order: 2; } }

.work-view__teaser-title {
  order: 3;
  font-size: 25px;
  font-size: 1.5625rem;
  line-height: 1.25;
  font-family: "freight-text-pro", Georgia, serif;
  font-weight: 400;
  margin-bottom: 10px; }
  @media only screen and (min-width: 640px) {
    .work-view__teaser-title {
      font-size: 32px;
      font-size: 2rem; } }

.work-view__teaser-services {
  display: none; }

.work-view__teaser-services-text {
  font-size: 14px;
  font-size: 0.875rem;
  color: #5C6675; }

.lined-callout-lockup__lined-column,
.lined-callout-lockup__image-grid {
  width: 100%;
  margin-right: 2.5%; }
  .lined-callout-lockup__lined-column:last-child,
  .lined-callout-lockup__image-grid:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    .lined-callout-lockup__lined-column,
    .lined-callout-lockup__image-grid {
      width: 48.75%;
      margin-right: 2.5%; }
      .lined-callout-lockup__lined-column:last-child,
      .lined-callout-lockup__image-grid:last-child {
        margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .lined-callout-lockup__callouts {
    width: 75%; } }

.lined-callout-lockup__callout {
  padding-left: 40px; }
  @media only screen and (min-width: 640px) {
    .lined-callout-lockup__callout {
      position: relative; } }
  @media only screen and (min-width: 1024px) {
    .lined-callout-lockup__callout {
      padding-left: 106px;
      position: relative; } }
  .lined-callout-lockup__callout:after {
    display: block;
    content: '';
    width: 0;
    max-width: 100%;
    height: 2px;
    background-color: #1638e2;
    position: absolute;
    top: 13px;
    left: 0;
    will-change: width;
    transition: width 0.24s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.45s; }
  .lined-callout-lockup__callout._scroll-animated:after {
    width: 24px; }
    @media only screen and (min-width: 1024px) {
      .lined-callout-lockup__callout._scroll-animated:after {
        width: 78px; } }
  .lined-callout-lockup__callout + .lined-callout-lockup__callout {
    margin-top: 40px; }
    @media only screen and (min-width: 640px) {
      .lined-callout-lockup__callout + .lined-callout-lockup__callout {
        margin-top: 80px; } }

.lined-callout-lockup__title,
.lined-callout-lockup p,
.lined-callout-lockup li,
.lined-callout-lockup * {
  font-size: 18px;
  line-height: 1.6; }

@media only screen and (min-width: 640px) {
  .lined-callout-lockup__image-grid-row {
    display: flex;
    flex-wrap: wrap; } }

.lined-callout-lockup__image--top {
  margin-bottom: 22px; }

.lined-callout-lockup__image--mid {
  margin-bottom: 22px; }
  @media only screen and (min-width: 640px) {
    .lined-callout-lockup__image--mid {
      margin-bottom: 0;
      flex: 0 0 70%;
      max-width: 70%;
      order: 2;
      padding-left: 22px; } }

.lined-callout-lockup__image--bot {
  margin-bottom: 22px; }
  @media only screen and (min-width: 640px) {
    .lined-callout-lockup__image--bot {
      margin-bottom: 0;
      flex: 0 0 30%;
      max-width: 30%;
      width: 100%;
      order: 1;
      padding-top: 15vh; } }

@media only screen and (min-width: 640px) {
  .lined-callout-lockup--left .lined-callout-lockup__lined-column {
    order: 2;
    margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .lined-callout-lockup--left .lined-callout-lockup__image-grid {
    order: 1;
    margin-right: 2.5%; } }

@media only screen and (min-width: 640px) {
  .lined-callout-lockup--left .lined-callout-lockup__image-grid .lined-callout-lockup__image--top {
    padding-right: 103px; } }

.lined-callout-lockup__lined-column--right .lined-callout-lockup__callout {
  transition-delay: 0.2s; }
  .lined-callout-lockup__lined-column--right .lined-callout-lockup__callout._scroll-animated:after {
    transition-delay: 0.64s; }

.work-view__teaser-client,
.teaser-tile-project__client-name {
  transition: all 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  position: relative; }
  .work-view__teaser-client:before,
  .teaser-tile-project__client-name:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    height: 2px;
    width: 0;
    background-color: #1638e2;
    will-change: width;
    transition: all 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
    [page-color='dark'] .work-view__teaser-client:before, [page-color='dark']
    .teaser-tile-project__client-name:before {
      background-color: #b8b8cd; }

.teaser-tile-project__client-name:before {
  top: 8px; }

.work-view__teaser-inner:hover .work-view__teaser-client,
.work-view__teaser-inner:hover .teaser-tile-project__client-name, .work-view__teaser-inner:focus .work-view__teaser-client,
.work-view__teaser-inner:focus .teaser-tile-project__client-name,
.teaser-tile-project__inner:hover .work-view__teaser-client,
.teaser-tile-project__inner:hover .teaser-tile-project__client-name,
.teaser-tile-project__inner:focus .work-view__teaser-client,
.teaser-tile-project__inner:focus .teaser-tile-project__client-name {
  padding-left: 54px; }
  .work-view__teaser-inner:hover .work-view__teaser-client:before,
  .work-view__teaser-inner:hover .teaser-tile-project__client-name:before, .work-view__teaser-inner:focus .work-view__teaser-client:before,
  .work-view__teaser-inner:focus .teaser-tile-project__client-name:before,
  .teaser-tile-project__inner:hover .work-view__teaser-client:before,
  .teaser-tile-project__inner:hover .teaser-tile-project__client-name:before,
  .teaser-tile-project__inner:focus .work-view__teaser-client:before,
  .teaser-tile-project__inner:focus .teaser-tile-project__client-name:before {
    width: 44px;
    transition: all 0.5s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0.02s; }

#two-column-image-text-3 {
  margin-bottom: 50px; }
  @media only screen and (min-width: 1024px) {
    #two-column-image-text-3 {
      margin-bottom: 80px; } }

@media only screen and (min-width: 1024px) {
  #media-grid-1 {
    margin: 20px 0 -30px 0; } }

.page-heading {
  padding-bottom: 0px; }
  @media only screen and (min-width: 640px) {
    .page-heading {
      padding-bottom: 30px; } }
  @media only screen and (min-width: 1024px) {
    .page-heading {
      padding-bottom: 70px; } }
  @media only screen and (min-width: 1300px) {
    .page-heading {
      padding: 40px 0 50px 0; } }
  @media only screen and (min-width: 1024px) {
    .page-heading.project-body {
      padding-bottom: 80px; } }
  [page-color='dark'] .page-heading .page-heading__text {
    color: #b8b8cd !important; }
  [page-color='dark'] .page-heading__ctas {
    color: #b8b8cd; }
    [page-color='dark'] .page-heading__ctas a {
      color: #b8b8cd; }
      [page-color='dark'] .page-heading__ctas a:after {
        background-color: #b8b8cd; }
  .page-heading__text {
    width: 100%;
    margin-right: 2.5%; }
    .page-heading__text:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 1024px) {
      .page-heading__text {
        width: 65.83333%;
        margin-right: 2.5%; }
        .page-heading__text:last-child {
          margin-right: 0; } }
    .page-heading__text-subtitle {
      font-family: "sofia-pro", Helvetica, Arial, sans-serif; }
    .page-heading__text-headline {
      max-width: 1080px; }
    .page-heading__text-content {
      margin-top: 10px;
      font-size: 16px;
      font-size: 1rem;
      line-height: 25px;
      line-height: 1.5625rem; }
      @media only screen and (min-width: 640px) {
        .page-heading__text-content {
          font-size: 20px;
          font-size: 1.25rem;
          line-height: 34px;
          line-height: 2.125rem; } }
      @media only screen and (min-width: 1024px) {
        .page-heading__text-content {
          margin-top: 18px;
          width: 75%; } }
      @media only screen and (min-width: 1300px) {
        .page-heading__text-content {
          font-size: 24px;
          font-size: 1.5rem;
          line-height: 38px;
          line-height: 2.375rem; } }
      .page-heading__text-content._scroll-text {
        transition: opacity 0.75s 0.375s, transform 0.75s 0.375s;
        opacity: 0;
        transform: translateY(30px); }
    .page-heading__text._scroll-animated .page-heading__text-content._scroll-text {
      opacity: 1;
      transform: translateY(0); }
    .page-heading__text-ctas {
      color: #1638e2;
      margin-top: 20px; }
      .page-heading__text-ctas span {
        display: inline-block;
        margin-left: 8px; }
        .page-heading__text-ctas span:first-of-type {
          margin-left: 0; }
      .page-heading__text-ctas a:after {
        background-color: #1638e2;
        height: 2px; }
  .page-heading.Work {
    margin-bottom: -10px; }
    @media only screen and (min-width: 640px) {
      .page-heading.Work {
        margin-bottom: -30px; } }
    @media only screen and (min-width: 1024px) {
      .page-heading.Work {
        margin-bottom: -40px; } }
    @media only screen and (min-width: 1300px) {
      .page-heading.Work {
        margin-bottom: 0px; } }
  .page-heading.Careers {
    margin-bottom: 50px; }
    @media only screen and (min-width: 640px) {
      .page-heading.Careers {
        margin-bottom: -10px; } }
    @media only screen and (min-width: 1300px) {
      .page-heading.Careers {
        margin-bottom: 50px; } }
  .page-heading.Contact {
    margin-bottom: 70px; }
    @media only screen and (min-width: 640px) {
      .page-heading.Contact {
        margin-bottom: 0px; } }
    .page-heading.Contact a {
      transition: color 0.35s ease-in-out; }
      .page-heading.Contact a:hover {
        color: #1638e2; }
  .page-heading.About {
    margin-bottom: 40px; }
    @media only screen and (min-width: 640px) {
      .page-heading.About {
        margin-bottom: 20px; } }
  .page-heading.Approach {
    margin-bottom: 40px; }
    @media only screen and (min-width: 640px) {
      .page-heading.Approach {
        margin-bottom: 20px; } }
  .page-heading:not(.is-home-page) .callout-line {
    width: 6.04167%;
    margin-right: 2.5%;
    margin-left: 0;
    margin-top: 15px; }
    .page-heading:not(.is-home-page) .callout-line:last-child {
      margin-right: 0; }

#text-block-2 {
  margin-bottom: 0; }

@font-face {
  font-family: f-icons;
  src: url("fonts/bluecadetcom.eot");
  src: url("fonts/bluecadetcom.eot?#iefix") format("embedded-opentype"), url("fonts/bluecadetcom.woff") format("woff"), url("fonts/bluecadetcom.ttf") format("truetype"), url("fonts/bluecadetcom.svg#bluecadetcom") format("svg");
  font-weight: normal;
  font-style: normal; }

[data-icon]:before {
  font-size: 18px;
  vertical-align: top;
  text-align: center;
  -moz-transition: color 0.1s ease-in 0;
  -webkit-transition: color 0.1s ease-in 0;
  display: inline-block;
  font-family: f-icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  speak: none;
  position: absolute;
  width: 100%;
  text-indent: 0;
  display: block; }

[class^='icon-']:before,
[class*=' icon-']:before {
  font-size: 18px;
  vertical-align: top;
  text-align: center;
  -moz-transition: color 0.1s ease-in 0;
  -webkit-transition: color 0.1s ease-in 0;
  display: inline-block;
  font-family: f-icons;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  speak: none;
  position: absolute;
  width: 100%;
  text-indent: 0;
  display: block; }

.icon-arrow:before, a.animated-arrow:hover:before, .flickity-prev-next-button:before, .teaser-tile.person a:hover .cta:before {
  content: '\61'; }

.icon-linkedin:before {
  content: '\65'; }

.icon-twitter:before {
  content: '\63'; }

.icon-instagram:before {
  content: '\64'; }

.icon-chevron-right:before {
  content: '\66'; }

.icon-play:before {
  content: '\67'; }

figure {
  width: 100%; }
  figure .image-wrapper {
    overflow: hidden; }
    figure .image-wrapper__16_9 {
      padding-bottom: 56.25%; }
    figure .image-wrapper__6_4 {
      padding-bottom: 66.7%; }
    figure .image-wrapper__1_1 {
      padding-bottom: 99.16%; }
    figure .image-wrapper__other video[poster] {
      object-fit: cover; }
    figure .image-wrapper:not(.image-wrapper__other) picture,
    figure .image-wrapper:not(.image-wrapper__other) img,
    figure .image-wrapper:not(.image-wrapper__other) video,
    figure .image-wrapper:not(.image-wrapper__other) .b-lazy-video-fallback {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @supports (-ms-ime-align: auto) {
        figure .image-wrapper:not(.image-wrapper__other) picture,
        figure .image-wrapper:not(.image-wrapper__other) img,
        figure .image-wrapper:not(.image-wrapper__other) video,
        figure .image-wrapper:not(.image-wrapper__other) .b-lazy-video-fallback {
          top: 50%;
          min-height: 100%;
          min-width: 100%;
          height: 100%;
          width: auto;
          left: 50%;
          transform: translate(-50%, -50%) translateZ(0); }
          figure .image-wrapper:not(.image-wrapper__other) picture img,
          figure .image-wrapper:not(.image-wrapper__other) img img,
          figure .image-wrapper:not(.image-wrapper__other) video img,
          figure .image-wrapper:not(.image-wrapper__other) .b-lazy-video-fallback img {
            left: 0;
            top: 0;
            transform: translate(0, 0) translateZ(0); } }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        figure .image-wrapper:not(.image-wrapper__other) picture,
        figure .image-wrapper:not(.image-wrapper__other) img,
        figure .image-wrapper:not(.image-wrapper__other) video,
        figure .image-wrapper:not(.image-wrapper__other) .b-lazy-video-fallback {
          top: 50%;
          min-height: 100%;
          min-width: 100%;
          height: 100%;
          width: auto;
          left: 50%;
          transform: translate(-50%, -50%) translateZ(0); }
          figure .image-wrapper:not(.image-wrapper__other) picture img,
          figure .image-wrapper:not(.image-wrapper__other) img img,
          figure .image-wrapper:not(.image-wrapper__other) video img,
          figure .image-wrapper:not(.image-wrapper__other) .b-lazy-video-fallback img {
            left: 0;
            top: 0;
            transform: translate(0, 0) translateZ(0); } }
    figure .image-wrapper .gif-image {
      display: block; }
      @media only screen and (min-width: 640px) {
        figure .image-wrapper .gif-image {
          display: none; } }
      figure .image-wrapper .gif-image + .gif {
        display: none; }
        @media only screen and (min-width: 640px) {
          figure .image-wrapper .gif-image + .gif {
            display: block; } }
  figure figcaption {
    margin-top: 7px;
    max-width: 680px; }
    @media only screen and (min-width: 1024px) {
      figure figcaption {
        margin-top: 13px; } }
    figure figcaption p {
      line-height: 1.4;
      font-size: 12px;
      font-size: 0.75rem; }
      @media only screen and (min-width: 1024px) {
        figure figcaption p {
          line-height: 1.5;
          font-size: 16px;
          font-size: 1rem; } }
  figure.hide {
    display: none; }
    @media only screen and (min-width: 640px) {
      figure.hide {
        display: block; } }
  figure.show_image picture {
    display: block; }
    @media only screen and (min-width: 640px) {
      figure.show_image picture {
        display: none; } }
  figure.show_image video {
    display: none; }
    @media only screen and (min-width: 640px) {
      figure.show_image video {
        display: block; } }
  figure.video_toggle ._vid-reveal-remove {
    display: block; }
    @media only screen and (min-width: 640px) {
      figure.video_toggle ._vid-reveal-remove {
        display: none; } }
  figure.video_toggle picture {
    z-index: 1; }
  figure.video_toggle video {
    display: none; }
    @media only screen and (min-width: 640px) {
      figure.video_toggle video {
        display: block; } }

.video-button {
  z-index: 4;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
  background-color: transparent;
  font-weight: 600;
  border-radius: 50%;
  height: 68px;
  width: 68px;
  overflow: hidden; }
  .video-button:hover {
    cursor: pointer; }
    .video-button:hover .play-expand {
      border-radius: 50px;
      transform: scale(10);
      transform-origin: center;
      background-color: rgba(45, 51, 56, 0.5);
      background-color: var(--project-bkg-theme); }
    .video-button:hover .play-icon:after {
      transform: translate(-54%, -50%) scale(0.85, 0.85);
      border-color: transparent transparent transparent var(--project-color-theme); }
    .video-button:hover .play-text {
      color: #ffffff; }
  .video-button div {
    height: 100%;
    overflow: hidden;
    position: relative;
    background: rgba(45, 51, 56, 0.5);
    height: 68px;
    width: 68px;
    border-radius: 50%; }
  .video-button .play-expand {
    transform: scale(1, 1);
    position: absolute;
    left: 19px;
    top: 19px;
    background: transparent;
    height: 30px;
    width: 30px;
    transition: transform 0.5s ease-in-out, border-radius 0.5s ease-in-out, left 0.15s 0.5s ease-in-out;
    border-radius: 100%; }
  .video-button .play-icon:after {
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    left: 56%;
    top: 50%;
    transform: translate(-54%, -50%) scale(1, 1);
    border-style: solid;
    border-width: 17px 0 17px 30px;
    border-color: transparent transparent transparent #ffffff;
    transition: transform 0.5s ease-in-out; }
  .video-button .play-text {
    margin-left: 6px;
    line-height: 1.5;
    z-index: 10;
    transition: color 0.45s ease-in-out; }

.menu-social li {
  position: relative;
  display: inline-block;
  text-indent: -9999px;
  margin-right: 30px;
  color: #b8b8cd; }
  .menu-social li:before {
    -webkit-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -moz-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -ms-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -o-transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    transition: color 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
  .menu-social li:hover:before {
    color: #b8b8cd;
    -webkit-transform: translateY(-3px);
    -moz-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    -o-transform: translateY(-3px);
    transform: translateY(-3px); }
  .menu-social li a {
    width: 22px;
    height: 20px;
    display: block;
    text-align: center; }

a.link-all {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  text-indent: -999em;
  z-index: 5; }

/* Background Colors */
.background-secondary {
  background-color: #f7f9fc; }

.background-white {
  background-color: #ffffff; }

.background-dark, article[page-color='dark'], .background-black {
  background-color: #181a1f;
  color: #b8b8cd; }
  .background-dark a, article[page-color='dark'] a, .background-black a,
  .background-dark .faux-link,
  article[page-color='dark'] .faux-link,
  .background-black .faux-link {
    color: #efefff; }
  .background-dark p, article[page-color='dark'] p, .background-black p {
    color: #b8b8cd; }
  .background-dark .h1, article[page-color='dark'] .h1, .background-black .h1,
  .background-dark .h2,
  article[page-color='dark'] .h2,
  .background-black .h2,
  .background-dark .h3,
  article[page-color='dark'] .h3,
  .background-black .h3,
  .background-dark .body-text h3,
  .body-text .background-dark h3,
  article[page-color='dark'] .body-text h3,
  .body-text article[page-color='dark'] h3,
  .background-black .body-text h3,
  .body-text .background-black h3,
  .background-dark .h4,
  article[page-color='dark'] .h4,
  .background-black .h4,
  .background-dark .body-text h4,
  .body-text .background-dark h4,
  article[page-color='dark'] .body-text h4,
  .body-text article[page-color='dark'] h4,
  .background-black .body-text h4,
  .body-text .background-black h4,
  .background-dark .body-text h5,
  .body-text .background-dark h5,
  article[page-color='dark'] .body-text h5,
  .body-text article[page-color='dark'] h5,
  .background-black .body-text h5,
  .body-text .background-black h5,
  .background-dark .h5,
  article[page-color='dark'] .h5,
  .background-black .h5,
  .background-dark .h6,
  article[page-color='dark'] .h6,
  .background-black .h6,
  .background-dark h3,
  article[page-color='dark'] h3,
  .background-black h3,
  .background-dark h4,
  article[page-color='dark'] h4,
  .background-black h4,
  .background-dark h5,
  article[page-color='dark'] h5,
  .background-black h5,
  .background-dark h6,
  article[page-color='dark'] h6,
  .background-black h6,
  .background-dark .text-grid__subheading,
  article[page-color='dark'] .text-grid__subheading,
  .background-black .text-grid__subheading {
    color: #efefff; }
  .background-dark figure figcaption, article[page-color='dark'] figure figcaption, .background-black figure figcaption,
  .background-dark .caption,
  article[page-color='dark'] .caption,
  .background-black .caption,
  .background-dark .quote-text,
  article[page-color='dark'] .quote-text,
  .background-black .quote-text,
  .background-dark .page-module-label,
  article[page-color='dark'] .page-module-label,
  .background-black .page-module-label {
    color: #b8b8cd; }
  .background-dark .background-white, article[page-color='dark'] .background-white, .background-black .background-white,
  .background-dark .background-secondary,
  article[page-color='dark'] .background-secondary,
  .background-black .background-secondary {
    color: #2d3338; }
    .background-dark .background-white .h1, article[page-color='dark'] .background-white .h1, .background-black .background-white .h1,
    .background-dark .background-white .h2,
    article[page-color='dark'] .background-white .h2,
    .background-black .background-white .h2,
    .background-dark .background-white .h3,
    article[page-color='dark'] .background-white .h3,
    .background-black .background-white .h3,
    .background-dark .background-white .body-text h3,
    .body-text .background-dark .background-white h3,
    article[page-color='dark'] .background-white .body-text h3,
    .body-text article[page-color='dark'] .background-white h3,
    .background-black .background-white .body-text h3,
    .body-text .background-black .background-white h3,
    .background-dark .background-white .h4,
    article[page-color='dark'] .background-white .h4,
    .background-black .background-white .h4,
    .background-dark .background-white .body-text h4,
    .body-text .background-dark .background-white h4,
    article[page-color='dark'] .background-white .body-text h4,
    .body-text article[page-color='dark'] .background-white h4,
    .background-black .background-white .body-text h4,
    .body-text .background-black .background-white h4,
    .background-dark .background-white .body-text h5,
    .body-text .background-dark .background-white h5,
    article[page-color='dark'] .background-white .body-text h5,
    .body-text article[page-color='dark'] .background-white h5,
    .background-black .background-white .body-text h5,
    .body-text .background-black .background-white h5,
    .background-dark .background-white .h5,
    article[page-color='dark'] .background-white .h5,
    .background-black .background-white .h5,
    .background-dark .background-white .h6,
    article[page-color='dark'] .background-white .h6,
    .background-black .background-white .h6,
    .background-dark .background-white h3,
    article[page-color='dark'] .background-white h3,
    .background-black .background-white h3,
    .background-dark .background-white h4,
    article[page-color='dark'] .background-white h4,
    .background-black .background-white h4,
    .background-dark .background-white h5,
    article[page-color='dark'] .background-white h5,
    .background-black .background-white h5,
    .background-dark .background-white h6,
    article[page-color='dark'] .background-white h6,
    .background-black .background-white h6,
    .background-dark .background-white a,
    article[page-color='dark'] .background-white a,
    .background-black .background-white a,
    .background-dark .background-white .faux-link,
    article[page-color='dark'] .background-white .faux-link,
    .background-black .background-white .faux-link,
    .background-dark .background-secondary .h1,
    article[page-color='dark'] .background-secondary .h1,
    .background-black .background-secondary .h1,
    .background-dark .background-secondary .h2,
    article[page-color='dark'] .background-secondary .h2,
    .background-black .background-secondary .h2,
    .background-dark .background-secondary .h3,
    article[page-color='dark'] .background-secondary .h3,
    .background-black .background-secondary .h3,
    .background-dark .background-secondary .body-text h3,
    .body-text .background-dark .background-secondary h3,
    article[page-color='dark'] .background-secondary .body-text h3,
    .body-text article[page-color='dark'] .background-secondary h3,
    .background-black .background-secondary .body-text h3,
    .body-text .background-black .background-secondary h3,
    .background-dark .background-secondary .h4,
    article[page-color='dark'] .background-secondary .h4,
    .background-black .background-secondary .h4,
    .background-dark .background-secondary .body-text h4,
    .body-text .background-dark .background-secondary h4,
    article[page-color='dark'] .background-secondary .body-text h4,
    .body-text article[page-color='dark'] .background-secondary h4,
    .background-black .background-secondary .body-text h4,
    .body-text .background-black .background-secondary h4,
    .background-dark .background-secondary .body-text h5,
    .body-text .background-dark .background-secondary h5,
    article[page-color='dark'] .background-secondary .body-text h5,
    .body-text article[page-color='dark'] .background-secondary h5,
    .background-black .background-secondary .body-text h5,
    .body-text .background-black .background-secondary h5,
    .background-dark .background-secondary .h5,
    article[page-color='dark'] .background-secondary .h5,
    .background-black .background-secondary .h5,
    .background-dark .background-secondary .h6,
    article[page-color='dark'] .background-secondary .h6,
    .background-black .background-secondary .h6,
    .background-dark .background-secondary h3,
    article[page-color='dark'] .background-secondary h3,
    .background-black .background-secondary h3,
    .background-dark .background-secondary h4,
    article[page-color='dark'] .background-secondary h4,
    .background-black .background-secondary h4,
    .background-dark .background-secondary h5,
    article[page-color='dark'] .background-secondary h5,
    .background-black .background-secondary h5,
    .background-dark .background-secondary h6,
    article[page-color='dark'] .background-secondary h6,
    .background-black .background-secondary h6,
    .background-dark .background-secondary a,
    article[page-color='dark'] .background-secondary a,
    .background-black .background-secondary a,
    .background-dark .background-secondary .faux-link,
    article[page-color='dark'] .background-secondary .faux-link,
    .background-black .background-secondary .faux-link {
      color: #2d3338; }

.background-black {
  background-color: #000000 !important;
  color: #efefff !important; }
  .background-black a {
    color: #efefff; }

/* Font */
.section-heading {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: 30px;
  display: inline-block; }
  @media only screen and (min-width: 640px) {
    .section-heading {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 24px;
      line-height: 1.5rem; } }
  @media only screen and (min-width: 1024px) {
    .section-heading {
      margin-bottom: 40px; } }

.section-title, .body-text ol li:before {
  text-transform: uppercase;
  color: #1638e2;
  font-weight: 500;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 1.75px;
  margin-bottom: 20px; }
  .section-title.taxonomy, .body-text ol li.taxonomy:before {
    font-size: 11px;
    font-size: 0.6875rem;
    letter-spacing: 2px; }

.aside-title,
.label {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 15px;
  line-height: 0.9375rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 500;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  margin-bottom: 10px; }

.add-quotation-marks {
  position: relative; }
  .add-quotation-marks p {
    display: inline; }
  .add-quotation-marks:before {
    content: '\201C';
    position: absolute;
    right: calc(100% + 2px); }
  .add-quotation-marks:after {
    content: '\201D';
    display: inline;
    font-family: "freight-text-pro", Georgia, serif; }

/* Page Navigations */
#page-nav {
  position: relative;
  z-index: 1; }
  @media (max-width: 1299px) {
    #page-nav.people {
      width: 100%; } }
  #page-nav.people .next,
  #page-nav.people .prev {
    top: 200px; }
    @media only screen and (min-width: 640px) {
      #page-nav.people .next,
      #page-nav.people .prev {
        top: 230px; } }
    @media only screen and (min-width: 1024px) {
      #page-nav.people .next,
      #page-nav.people .prev {
        top: 325px; } }
  #page-nav .next,
  #page-nav .prev {
    top: 200px;
    position: absolute;
    color: #b8b8cd;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 18px;
    line-height: 1.125rem;
    cursor: pointer; }
    @media only screen and (min-width: 640px) {
      #page-nav .next,
      #page-nav .prev {
        top: 280px; } }
    @media only screen and (min-width: 1024px) {
      #page-nav .next,
      #page-nav .prev {
        top: 325px; } }
    #page-nav .next .icon-arrow, #page-nav .next a.animated-arrow:hover:before, #page-nav .next .flickity-prev-next-button:before, #page-nav .next .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next .cta:before,
    #page-nav .prev .icon-arrow,
    #page-nav .prev a.animated-arrow:hover:before,
    #page-nav .prev .flickity-prev-next-button:before,
    #page-nav .prev .teaser-tile.person a:hover .cta:before,
    .teaser-tile.person a:hover #page-nav .prev .cta:before {
      height: 2px;
      display: block;
      width: 55px;
      background-color: #b8b8cd;
      -webkit-transition: background-color 0.2s;
      -moz-transition: background-color 0.2s;
      -ms-transition: background-color 0.2s;
      -o-transition: background-color 0.2s;
      transition: background-color 0.2s; }
      #page-nav .next .icon-arrow:before, #page-nav .next a.animated-arrow:hover:before, #page-nav .next .flickity-prev-next-button:before, #page-nav .next .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next .cta:before,
      #page-nav .prev .icon-arrow:before,
      #page-nav .prev a.animated-arrow:hover:before,
      #page-nav .prev .flickity-prev-next-button:before,
      #page-nav .prev .teaser-tile.person a:hover .cta:before,
      .teaser-tile.person a:hover #page-nav .prev .cta:before {
        top: -8px;
        left: 0;
        color: #1638e2;
        opacity: 0;
        -webkit-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), opacity 0.25s;
        -moz-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), opacity 0.25s;
        -ms-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), opacity 0.25s;
        -o-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), opacity 0.25s;
        transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), opacity 0.25s; }
    #page-nav .next .name,
    #page-nav .prev .name {
      padding-top: 15px;
      width: 85px;
      font-weight: 500;
      -webkit-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -moz-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -ms-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -o-transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      transition: transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
    #page-nav .next:hover .icon-arrow, #page-nav .next:hover a.animated-arrow:hover:before, #page-nav .next:hover .flickity-prev-next-button:before, #page-nav .next:hover .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next:hover .cta:before,
    #page-nav .prev:hover .icon-arrow,
    #page-nav .prev:hover a.animated-arrow:hover:before,
    #page-nav .prev:hover .flickity-prev-next-button:before,
    #page-nav .prev:hover .teaser-tile.person a:hover .cta:before,
    .teaser-tile.person a:hover #page-nav .prev:hover .cta:before {
      background-color: transparent; }
      #page-nav .next:hover .icon-arrow:before, #page-nav .next:hover a.animated-arrow:hover:before, #page-nav .next:hover .flickity-prev-next-button:before, #page-nav .next:hover .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next:hover .cta:before,
      #page-nav .prev:hover .icon-arrow:before,
      #page-nav .prev:hover a.animated-arrow:hover:before,
      #page-nav .prev:hover .flickity-prev-next-button:before,
      #page-nav .prev:hover .teaser-tile.person a:hover .cta:before,
      .teaser-tile.person a:hover #page-nav .prev:hover .cta:before {
        opacity: 1; }
    #page-nav .next:hover .name,
    #page-nav .prev:hover .name {
      color: #1638e2; }
  #page-nav .next {
    right: 0; }
    #page-nav .next .icon-arrow, #page-nav .next a.animated-arrow:hover:before, #page-nav .next .flickity-prev-next-button:before, #page-nav .next .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next .cta:before {
      float: right; }
    #page-nav .next .name {
      padding-right: 30px; }
    #page-nav .next:hover .icon-arrow:before, #page-nav .next:hover a.animated-arrow:hover:before, #page-nav .next:hover .flickity-prev-next-button:before, #page-nav .next:hover .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover #page-nav .next:hover .cta:before {
      -webkit-transform: translateX(-25px);
      -moz-transform: translateX(-25px);
      -ms-transform: translateX(-25px);
      -o-transform: translateX(-25px);
      transform: translateX(-25px); }
    #page-nav .next:hover .name {
      -webkit-transform: translateX(5px);
      -moz-transform: translateX(5px);
      -ms-transform: translateX(5px);
      -o-transform: translateX(5px);
      transform: translateX(5px); }
  #page-nav .prev {
    left: 0; }
    
    #page-nav .prev .icon-arrow:before,
    #page-nav .prev a.animated-arrow:hover:before,
    #page-nav .prev .flickity-prev-next-button:before,
    #page-nav .prev .teaser-tile.person a:hover .cta:before,
    .teaser-tile.person a:hover #page-nav .prev .cta:before {
      -webkit-transform: translateX(-30px) rotate(180deg);
      -moz-transform: translateX(-30px) rotate(180deg);
      -ms-transform: translateX(-30px) rotate(180deg);
      -o-transform: translateX(-30px) rotate(180deg);
      transform: translateX(-30px) rotate(180deg); }
    #page-nav .prev .name {
      padding-left: 30px; }
    
    #page-nav .prev:hover .icon-arrow:before,
    #page-nav .prev:hover a.animated-arrow:hover:before,
    #page-nav .prev:hover .flickity-prev-next-button:before,
    #page-nav .prev:hover .teaser-tile.person a:hover .cta:before,
    .teaser-tile.person a:hover #page-nav .prev:hover .cta:before {
      -webkit-transform: translateX(-7px) rotate(180deg);
      -moz-transform: translateX(-7px) rotate(180deg);
      -ms-transform: translateX(-7px) rotate(180deg);
      -o-transform: translateX(-7px) rotate(180deg);
      transform: translateX(-7px) rotate(180deg); }
    #page-nav .prev:hover .name {
      -webkit-transform: translateX(-5px);
      -moz-transform: translateX(-5px);
      -ms-transform: translateX(-5px);
      -o-transform: translateX(-5px);
      transform: translateX(-5px); }

/*Embed Wrappers */
.oembed-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto; }
  .oembed-wrapper iframe,
  .oembed-wrapper object,
  .oembed-wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* Masonry Grid */
.masonry-grid {
  margin: 0 -0.85%;
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .masonry-grid {
      width: calc(100% + 36px);
      margin-left: -16px; } }
  .masonry-grid .grid-item {
    width: 100%;
    margin-bottom: 30px; }
    @media only screen and (min-width: 640px) {
      .masonry-grid .grid-item {
        width: 50%;
        padding-left: 16px;
        padding-right: 16px;
        margin-bottom: 36px; } }
    @media only screen and (min-width: 1024px) {
      .masonry-grid .grid-item {
        width: 33.333333%; } }

/* Search and Filter */
.searchandfilter {
  display: flex;
  justify-content: start;
  width: 100%;
  flex-wrap: wrap;
  max-width: 1200px; }
  @media only screen and (min-width: 1300px) {
    .searchandfilter {
      max-width: 1440px; } }
  @media only screen and (min-width: 1024px) {
    .searchandfilter > ul {
      margin-left: 17.08333%;
      display: flex;
      justify-content: start;
      width: 100%;
      align-items: 10;
      flex-wrap: wrap; } }
  .searchandfilter > ul li {
    padding: 0; }
  .searchandfilter .sf-level-0 {
    padding: 0;
    margin-bottom: 5px;
    display: inline-block;
    margin-right: 20px; }
    .searchandfilter .sf-level-0:hover {
      cursor: pointer; }
    @media only screen and (min-width: 640px) {
      .searchandfilter .sf-level-0.sf-option-active:after {
        height: 2px;
        background-color: #2d3338; } }
  .searchandfilter input {
    display: none; }
    .searchandfilter input:checked + label {
      color: #2d3338;
      font-weight: 600; }
  .searchandfilter label {
    font-weight: 400;
    letter-spacing: 0.5px;
    padding: 0 !important;
    cursor: pointer;
    line-height: 26px;
    line-height: 1.625rem;
    color: #888b8e; }

.search-filter-results {
  margin-top: 20px; }
  @media only screen and (min-width: 640px) {
    .search-filter-results {
      margin-top: 20px; } }
  @media only screen and (min-width: 1024px) {
    .search-filter-results {
      margin-top: 45px; } }
  .post-652 .search-filter-results .search-filter-results-list {
    display: flex;
    justify-content: start;
    width: 100%;
    align-items: start;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (min-width: 1024px) {
      .post-652 .search-filter-results .search-filter-results-list {
        width: 100%;
        margin-right: 2.5%;
        margin-left: 0%; }
        .post-652 .search-filter-results .search-filter-results-list:last-child {
          margin-right: 0; } }
    .post-652 .search-filter-results .search-filter-results-list .wp-pagenavi {
      padding-top: 30px;
      border-top: 1px solid #dedede;
      margin-top: 2rem; }
      @media only screen and (min-width: 640px) {
        .post-652 .search-filter-results .search-filter-results-list .wp-pagenavi {
          margin-top: 4rem; } }
      @media only screen and (min-width: 1024px) {
        .post-652 .search-filter-results .search-filter-results-list .wp-pagenavi {
          padding: 30px 0; } }
  @media only screen and (min-width: 1024px) {
    .search-filter-results .search-filter-results-list {
      width: 65.83333%;
      margin-right: 2.5%;
      margin-left: 17.08333%; }
      .search-filter-results .search-filter-results-list:last-child {
        margin-right: 0; } }
  .search-filter-results .no-results h3 {
    color: #b8b8cd !important; }
  .search-filter-results .back-to-top {
    margin-top: 0;
    margin-bottom: 30px; }
    .search-filter-results .back-to-top .cta-links {
      margin-top: 20px; }
    @media only screen and (min-width: 1024px) {
      .search-filter-results .back-to-top {
        display: none; } }

.wp-pagenavi {
  width: 100%;
  padding-top: 30px;
  text-align: center;
  color: #888b8e; }
  @media (max-width: 639px) {
    .wp-pagenavi {
      position: relative; } }
  .wp-pagenavi a,
  .wp-pagenavi .current {
    margin-right: 20px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 18px;
    line-height: 1.125rem; }
  .wp-pagenavi .current {
    font-weight: 400;
    color: #1638e2;
    position: relative;
    padding: 0 4px; }
    .wp-pagenavi .current:after {
      content: '';
      width: 100%;
      background: #1638e2;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0; }
  .wp-pagenavi a:hover {
    color: #1638e2; }

.error-404 {
  position: absolute;
  width: 100%;
  height: 100%; }
  .error-404 article {
    position: absolute;
    width: 100%; }
    .error-404 article .background-color,
    .error-404 article .page-heading {
      background-color: transparent !important; }
    .error-404 article h1,
    .error-404 article section div {
      z-index: 1; }
  .error-404 .view-label {
    font-weight: 400;
    width: 80%; }
    .error-404 .view-label a:after {
      background-color: #b8b8cd;
      bottom: -2px; }
    @media (max-width: 1299px) {
      .error-404 .view-label {
        margin-top: 30px; } }

.line-header {
  font-size: 15px;
  line-height: 2;
  font-weight: 700;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  display: inline-block;
  color: #2d3338;
  text-transform: uppercase;
  min-width: 180px;
  letter-spacing: 1px;
  margin-bottom: 50px; }
  .line-header:before {
    content: '';
    display: block;
    height: 2px;
    background-color: #2d3338;
    margin-bottom: 16px; }

.callout-line {
  width: calc(6.04167% + 8vw);
  margin-left: -8vw;
  margin-right: 2.5%;
  overflow: hidden;
  transform: translateY(0) !important; }
  @media only screen and (min-width: 1714px) {
    .callout-line {
      width: 12.08%;
      margin-left: -6.04%; } }
  .callout-line.callout-line--small {
    width: 6.04%;
    margin-left: 0; }
    @media only screen and (min-width: 1024px) {
      .callout-line.callout-line--small {
        width: 12.08%; } }
  .callout-line.line-wrapper {
    position: relative; }
    .callout-line.line-wrapper .line {
      width: 100%;
      height: 2px;
      background-color: #1638e2;
      display: none;
      float: left; }
      @media only screen and (min-width: 1024px) {
        .callout-line.line-wrapper .line {
          display: block;
          margin-top: 15px; } }

.sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

.teaser-tile .teaser-image-wrapper {
  transition: transform 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  overflow: hidden;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1); }
  .teaser-tile .teaser-image-wrapper .teaser-image-inner {
    transition: transform 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }

.teaser-tile-project__inner, .teaser-tile-news__inner {
  display: flex;
  flex-direction: column; }

.teaser-tile-project__client-name, .teaser-tile-project__subheading, .teaser-tile-project__website, .teaser-tile-news__client-name, .teaser-tile-news__subheading, .teaser-tile-news__website {
  color: #1638e2;
  margin-bottom: 10px; }
  @media only screen and (min-width: 1024px) {
    .teaser-tile-project__client-name, .teaser-tile-project__subheading, .teaser-tile-project__website, .teaser-tile-news__client-name, .teaser-tile-news__subheading, .teaser-tile-news__website {
      order: 0;
      margin-bottom: 15px; } }

.teaser-tile-project__subheading, .teaser-tile-project__website, .teaser-tile-news__subheading, .teaser-tile-news__website {
  -webkit-transition: color 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  -moz-transition: color 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  -ms-transition: color 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  -o-transition: color 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975);
  transition: color 0.4s cubic-bezier(0.555, 0.205, 0.295, 0.975); }

.teaser-tile-project .teaser-image-wrapper, .teaser-tile-news .teaser-image-wrapper {
  order: 0;
  margin-bottom: 15px; }
  @media only screen and (min-width: 1024px) {
    .teaser-tile-project .teaser-image-wrapper, .teaser-tile-news .teaser-image-wrapper {
      order: 1;
      margin-bottom: 25px; } }
  .teaser-tile-project .teaser-image-wrapper .image-wrapper video, .teaser-tile-news .teaser-image-wrapper .image-wrapper video {
    perspective: 1000;
    backface-visibility: hidden; }

.teaser-tile-project .title, .teaser-tile-news .title {
  order: 2; }

.teaser-tile-project .services, .teaser-tile-news .services {
  order: 3;
  display: inline-block; }
  .teaser-tile-project .services .service, .teaser-tile-news .services .service {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 18px;
    line-height: 1.125rem;
    text-transform: capitalize;
    display: inline-block;
    color: #5c6675; }

.teaser-tile-project:hover .teaser-tile-project__client-name,
.teaser-tile-project:hover .teaser-tile-news__subheading, .teaser-tile-news:hover .teaser-tile-project__client-name,
.teaser-tile-news:hover .teaser-tile-news__subheading {
  color: #1638e2; }

.teaser-tile.labs .excerpt {
  margin-left: 8px;
  font-weight: 500;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 22px;
  line-height: 1.375rem;
  color: #979797;
  margin-top: 6px; }
  @media only screen and (min-width: 1024px) {
    .teaser-tile.labs .excerpt {
      font-size: 18px;
      font-size: 1.125rem; } }

.teaser-tile.person > a {
  display: block; }

.teaser-tile.person .image-wrapper {
  position: relative;
  margin-bottom: 15px;
  padding-bottom: calc(99.16% + 18%); }
  .teaser-tile.person .image-wrapper img {
    padding-top: 18%;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .teaser-tile.person .image-wrapper img.b-loaded {
      background-color: #ffffff; }

.teaser-tile.person .meta-data {
  margin-top: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #2d3338; }
  @media only screen and (min-width: 1300px) {
    .teaser-tile.person .meta-data {
      font-size: 0.9rem; } }

.teaser-tile.person .cta {
  color: #1638e2;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 12px;
  display: inline-block;
  padding-right: 15px;
  position: relative; }
  .teaser-tile.person .cta:before {
    content: '';
    font-family: f-icons;
    position: absolute;
    top: 1px;
    right: 1px;
    font-size: 12px;
    opacity: 0;
    color: #2d3338;
    -webkit-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s, opacity 0.2s;
    -moz-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s, opacity 0.2s;
    -ms-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s, opacity 0.2s;
    -o-transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s, opacity 0.2s;
    transition: transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), color 0.2s, opacity 0.2s; }

.teaser-tile.person a:hover .teaser-image-wrapper {
  -webkit-transform: scale(0.96);
  -moz-transform: scale(0.96);
  -ms-transform: scale(0.96);
  -o-transform: scale(0.96);
  transform: scale(0.96); }
  .teaser-tile.person a:hover .teaser-image-wrapper .teaser-image-inner {
    -webkit-transform: scale(1.04);
    -moz-transform: scale(1.04);
    -ms-transform: scale(1.04);
    -o-transform: scale(1.04);
    transform: scale(1.04); }

.teaser-tile.person a:hover .cta:before {
  -webkit-transform: translateX(6px);
  -moz-transform: translateX(6px);
  -ms-transform: translateX(6px);
  -o-transform: translateX(6px);
  transform: translateX(6px);
  opacity: 1;
  color: #1638e2; }

.teaser-tile-news .teaser-content-wrapper {
  display: flex;
  flex-direction: column;
  order: 2; }

.teaser-tile-news__type {
  color: #1638e2;
  margin-top: 3px; }

.teaser-tile-news__cta {
  font-size: 16px;
  font-size: 1rem; }
  .teaser-tile-news__cta-wrap {
    display: none; }
    @media only screen and (min-width: 1024px) {
      .teaser-tile-news__cta-wrap {
        display: block;
        order: 3; } }

.teaser-tile-service {
  width: 100%; }
  .teaser-tile-service:not(:last-child) .teaser-tile-service__inner {
    margin-bottom: 8rem; }
    @media only screen and (min-width: 640px) {
      .teaser-tile-service:not(:last-child) .teaser-tile-service__inner {
        margin-bottom: 10rem; } }
  .teaser-tile-service__inner {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .teaser-tile-service__inner .teaser-content-wrapper {
      order: 2;
      margin-top: 2rem; }
      .teaser-tile-service__inner .teaser-content-wrapper .desc,
      .teaser-tile-service__inner .teaser-content-wrapper .cta-links {
        margin-top: 1rem; }
      .teaser-tile-service__inner .teaser-content-wrapper .cta-links a {
        color: #b8b8cd; }
      .teaser-tile-service__inner .teaser-content-wrapper .desc {
        display: none; }
        @media only screen and (min-width: 1024px) {
          .teaser-tile-service__inner .teaser-content-wrapper .desc {
            display: block; } }
    .teaser-tile-service__inner .teaser-image-wrapper,
    .teaser-tile-service__inner .teaser-content-wrapper {
      width: 100%;
      margin-right: 2.5%; }
      .teaser-tile-service__inner .teaser-image-wrapper:last-child,
      .teaser-tile-service__inner .teaser-content-wrapper:last-child {
        margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .teaser-tile-service__inner {
        flex-direction: row; }
        .teaser-tile-service__inner .teaser-content-wrapper {
          width: 40.20833%;
          margin-right: 2.5%;
          margin-top: 0; }
          .teaser-tile-service__inner .teaser-content-wrapper:last-child {
            margin-right: 0; }
        .teaser-tile-service__inner .teaser-image-wrapper {
          width: 48.75%;
          margin-right: 2.5%; }
          .teaser-tile-service__inner .teaser-image-wrapper:last-child {
            margin-right: 0; } }
  @media only screen and (min-width: 640px) {
    .teaser-tile-service:nth-child(odd) .teaser-content-wrapper {
      order: 2;
      padding-left: 6rem;
      padding-right: 0; }
    .teaser-tile-service:nth-child(odd) .teaser-image-wrapper {
      order: 1; }
    .teaser-tile-service:nth-child(even) .teaser-content-wrapper {
      order: 1;
      padding-right: 6rem;
      margin-left: 8.54167%; }
    .teaser-tile-service:nth-child(even) .teaser-image-wrapper {
      order: 2; } }
  @media only screen and (min-width: 1024px) {
    .teaser-tile-service:nth-child(even) .teaser-content-wrapper {
      margin-left: 17.08333%; } }

.teaser-list-item.news {
  position: relative;
  padding-bottom: 20px;
  width: 100%; }
  .teaser-list-item.news:not(:last-of-type) {
    margin-bottom: 50px; }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.news {
      width: 48.75%;
      margin-right: 2.5%;
      margin-right: 0; }
      .teaser-list-item.news:nth-of-type(0n + 1), .teaser-list-item.news:nth-of-type(0n + 2) {
        width: 100%;
        margin-right: 2.5%;
        margin-right: 0; }
        .teaser-list-item.news:nth-of-type(0n + 1):last-child, .teaser-list-item.news:nth-of-type(0n + 2):last-child {
          margin-right: 0; }
      .teaser-list-item.news:not(:last-of-type) {
        margin-bottom: 50px; }
      .teaser-list-item.news:last-child {
        margin-right: 0; } }
  .teaser-list-item.news .line-wrapper {
    position: relative;
    margin-bottom: 2px;
    display: none; }
    @media only screen and (min-width: 1024px) {
      .teaser-list-item.news .line-wrapper {
        margin-bottom: 6px; } }
    .teaser-list-item.news .line-wrapper .line {
      width: 100%;
      height: 2px;
      background-color: #1638e2;
      float: left; }
  .teaser-list-item.news .cta-links {
    color: #1638e2;
    margin-top: 10px; }
    @media only screen and (min-width: 1024px) {
      .teaser-list-item.news .cta-links {
        margin-top: 28px;
        font-size: 18px;
        font-size: 1.125rem; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.news .teaser-tile-news__inner {
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between; }
      .teaser-list-item.news .teaser-tile-news__inner .teaser-image-wrapper {
        flex: 0 0 47.5%; }
      .teaser-list-item.news .teaser-tile-news__inner .teaser-content-wrapper {
        flex: 0 0 47.5%; } }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.news:nth-of-type(0n + 1) .cta-links, .teaser-list-item.news:nth-of-type(0n + 2) .cta-links {
      margin-top: 40px; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.news:nth-of-type(0n + 1) .line-wrapper, .teaser-list-item.news:nth-of-type(0n + 2) .line-wrapper {
      display: block;
      position: absolute;
      width: 11.5%;
      left: 0;
      top: 9px; } }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news__inner, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news__inner {
      flex-direction: row-reverse;
      align-items: flex-start; }
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-image-wrapper, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-image-wrapper {
      width: 40.20833%;
      margin-right: 2.5%;
      margin-right: 0 !important; }
      .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-image-wrapper:last-child, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-image-wrapper:last-child {
        margin-right: 0; }
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-content-wrapper, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-content-wrapper {
      width: 57.29167%;
      margin-right: 2.5%;
      margin-right: 2.5% !important;
      padding-right: 30px; }
      .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-content-wrapper:last-child, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-content-wrapper:last-child {
        margin-right: 0; }
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .title.h4, .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .body-text h4.title, .body-text .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news h4.title,
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .body-text h5.title, .body-text .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news h5.title, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .title.h4, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .body-text h4.title, .body-text .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news h4.title,
    .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .body-text h5.title, .body-text .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news h5.title {
      font-size: 32px;
      font-size: 2rem;
      line-height: 36px;
      line-height: 2.25rem; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-content-wrapper, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-content-wrapper {
      width: 48.75%;
      margin-right: 2.5%;
      padding-left: 8.54167%; }
      .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .teaser-content-wrapper:last-child, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .teaser-content-wrapper:last-child {
        margin-right: 0; }
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .title.h4, .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .body-text h4.title, .body-text .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news h4.title,
    .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news .body-text h5.title, .body-text .teaser-list-item.news:nth-of-type(0n + 1) .teaser-tile-news h5.title, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .title.h4, .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .body-text h4.title, .body-text .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news h4.title,
    .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news .body-text h5.title, .body-text .teaser-list-item.news:nth-of-type(0n + 2) .teaser-tile-news h5.title {
      font-size: 48px;
      font-size: 3rem;
      line-height: 56px;
      line-height: 3.5rem; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.news:nth-of-type(0n + 2) {
      margin-bottom: 100px; } }
  .teaser-list-item.news .teaser-tile-news__excerpt {
    display: none; }
  .teaser-list-item.news .teaser-tile-news .cta-links {
    order: 4; }
  .teaser-list-item.news .teaser-tile-news .title {
    order: 3; }
  .teaser-list-item.news .teaser-tile-news__website {
    order: 2; }
  .teaser-list-item.news .teaser-tile-news__date {
    order: 4;
    display: flex;
    justify-content: start;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 0.5rem; }
    .teaser-list-item.news .teaser-tile-news__date span {
      color: #2d3338; }
  .teaser-list-item.news .teaser-tile-news .teaser-image-wrapper {
    margin-bottom: 1rem; }
  .teaser-list-item.news:hover h3 {
    color: #1638e2; }

.teaser-list-item.talks {
  padding: 16px 50px 45px 0; }

.teaser-list-item.career, .teaser-list-item.talks {
  border-top: 1.5px solid rgba(195, 197, 198, 0.5);
  position: relative; }
  .teaser-list-item.career .icon-arrow:before, .teaser-list-item.career a.animated-arrow:hover:before, .teaser-list-item.career .flickity-prev-next-button:before, .teaser-list-item.career .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover .teaser-list-item.career .cta:before, .teaser-list-item.talks .icon-arrow:before, .teaser-list-item.talks a.animated-arrow:hover:before, .teaser-list-item.talks .flickity-prev-next-button:before, .teaser-list-item.talks .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover .teaser-list-item.talks .cta:before {
    position: absolute;
    font-size: 22px;
    font-size: 1.375rem;
    right: 0;
    width: 30px;
    top: 23px;
    color: #1638e2;
    opacity: 0;
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -moz-transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -ms-transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    -o-transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975);
    transition: opacity 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
  @media (max-width: 639px) {
    .teaser-list-item.career, .teaser-list-item.talks {
      border-top: none;
      position: relative; }
      .teaser-list-item.career:before, .teaser-list-item.talks:before {
        content: '';
        display: block;
        height: 1.5px;
        width: 100%;
        left: 0;
        background-color: rgba(195, 197, 198, 0.5);
        top: 0;
        position: absolute; } }
  .teaser-list-item.career:not(.no-link):hover h2,
  .teaser-list-item.career:not(.no-link):hover h3,
  .teaser-list-item.career:not(.no-link):hover h4,
  .teaser-list-item.career:not(.no-link):hover h5, .teaser-list-item.talks:not(.no-link):hover h2,
  .teaser-list-item.talks:not(.no-link):hover h3,
  .teaser-list-item.talks:not(.no-link):hover h4,
  .teaser-list-item.talks:not(.no-link):hover h5 {
    color: #1638e2; }
  .teaser-list-item.career:not(.no-link):hover .icon-arrow:before, .teaser-list-item.career:not(.no-link):hover a.animated-arrow:hover:before, .teaser-list-item.career:not(.no-link):hover .flickity-prev-next-button:before, .teaser-list-item.career:not(.no-link):hover .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover .teaser-list-item.career:not(.no-link):hover .cta:before, .teaser-list-item.talks:not(.no-link):hover .icon-arrow:before, .teaser-list-item.talks:not(.no-link):hover a.animated-arrow:hover:before, .teaser-list-item.talks:not(.no-link):hover .flickity-prev-next-button:before, .teaser-list-item.talks:not(.no-link):hover .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover .teaser-list-item.talks:not(.no-link):hover .cta:before {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }

.teaser-list-item.career {
  padding: 16px 0px 20px 0; }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.career {
      padding-bottom: 26px; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.career .icon-arrow:before, .teaser-list-item.career a.animated-arrow:hover:before, .teaser-list-item.career .flickity-prev-next-button:before, .teaser-list-item.career .teaser-tile.person a:hover .cta:before, .teaser-tile.person a:hover .teaser-list-item.career .cta:before {
      top: 36px; } }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.career .title {
      font-size: 40px;
      font-size: 2.5rem;
      line-height: 45px;
      line-height: 2.8125rem;
      margin-bottom: 10px; } }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item.career .title {
      font-size: 48px;
      font-size: 3rem;
      line-height: 56px;
      line-height: 3.5rem; } }
  .teaser-list-item.career .career__title {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0px; }
    @media only screen and (min-width: 640px) {
      .teaser-list-item.career .career__title {
        font-size: 26px;
        line-height: 32px; } }
  .teaser-list-item.career .section-title.taxonomy, .teaser-list-item.career .body-text ol li.taxonomy:before, .body-text ol .teaser-list-item.career li.taxonomy:before {
    font-weight: 600; }
    @media only screen and (min-width: 1024px) {
      .teaser-list-item.career .section-title.taxonomy, .teaser-list-item.career .body-text ol li.taxonomy:before, .body-text ol .teaser-list-item.career li.taxonomy:before {
        font-size: 14px; } }

.teaser-list-item__content {
  margin-top: 20px; }
  .teaser-list-item__content p {
    color: #888b8e; }
  @media only screen and (min-width: 1024px) {
    .teaser-list-item__content {
      max-width: 480px; } }
  @media only screen and (min-width: 1300px) {
    .teaser-list-item__content {
      max-width: 600px; } }

.teaser-list-item.default:not(:last-of-type) {
  margin-bottom: 50px; }

@media only screen and (min-width: 640px) {
  .teaser-list-item.default:not(:last-of-type) {
    margin-bottom: 60px; } }

.teaser-list-item.default .taxonomy {
  min-width: 90px;
  max-width: 90px; }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.default .taxonomy {
      margin-top: 10px;
      position: absolute; } }

.teaser-list-item.default .title {
  position: relative; }
  @media only screen and (min-width: 640px) {
    .teaser-list-item.default .title {
      margin-left: 150px;
      display: inline-block; } }
  .teaser-list-item.default .title:before {
    content: '';
    background-color: #181a1f;
    height: 2px;
    width: 35px;
    display: block;
    position: absolute;
    top: calc(100% + 15px);
    -webkit-transition: width 0.4s ease-out 0.2s, transform 0.15s ease-out;
    -moz-transition: width 0.4s ease-out 0.2s, transform 0.15s ease-out;
    -ms-transition: width 0.4s ease-out 0.2s, transform 0.15s ease-out;
    -o-transition: width 0.4s ease-out 0.2s, transform 0.15s ease-out;
    transition: width 0.4s ease-out 0.2s, transform 0.15s ease-out; }
    @media only screen and (min-width: 640px) {
      .teaser-list-item.default .title:before {
        top: 20px;
        right: calc(100% + 10px); } }
    @media only screen and (min-width: 1024px) {
      .teaser-list-item.default .title:before {
        right: calc(100% + 12px); } }

@media only screen and (min-width: 640px) {
  .teaser-list-item.default:hover .title:before {
    -webkit-transform: translateX(-15px);
    -moz-transform: translateX(-15px);
    -ms-transform: translateX(-15px);
    -o-transform: translateX(-15px);
    transform: translateX(-15px); } }

article.people {
  padding: 0; }
  article.people .aside-title {
    color: #1638e2; }
  article.people .person-header,
  article.people .people-body {
    margin-bottom: 50px; }
    @media only screen and (min-width: 640px) {
      article.people .person-header,
      article.people .people-body {
        margin-bottom: 70px; } }
    @media only screen and (min-width: 1024px) {
      article.people .person-header,
      article.people .people-body {
        margin-bottom: 100px; } }
  article.people .person-header {
    background-color: #f1f4f7;
    padding-top: 105px;
    overflow: hidden; }
    @media only screen and (min-width: 640px) {
      article.people .person-header {
        padding-top: 125px; } }
    @media only screen and (min-width: 1024px) {
      article.people .person-header {
        padding-top: 165px; } }
    @media only screen and (min-width: 1024px) {
      article.people .person-header {
        padding-top: 240px; } }
  @media only screen and (min-width: 640px) {
    article.people .person-title {
      margin-right: 2.5%;
      width: 40.20833%;
      float: left;
      margin-left: 8.54167%; }
      article.people .person-title:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    article.people .person-title {
      padding-left: 0;
      margin-right: 2.5%;
      width: 31.66667%;
      float: left; }
      article.people .person-title:last-child {
        margin-right: 0; } }
  article.people .person-title--mobile {
    margin-bottom: 36px; }
    @media only screen and (min-width: 640px) {
      article.people .person-title--mobile {
        display: none; } }
  article.people .person-title--desktop {
    display: none; }
    @media only screen and (min-width: 640px) {
      article.people .person-title--desktop {
        display: block; } }
  article.people .person-image {
    width: 100%;
    margin-top: -6%; }
    @media only screen and (min-width: 640px) {
      article.people .person-image {
        margin-right: 2.5%;
        width: 40.20833%;
        float: left;
        margin-left: 8.54167%;
        padding-right: 36px; }
        article.people .person-image:last-child {
          margin-right: 0; } }
    article.people .person-image .person-image-wrapper {
      height: auto;
      max-width: 300px;
      margin: 0 auto; }
      @media only screen and (min-width: 640px) {
        article.people .person-image .person-image-wrapper {
          max-width: 400px; } }
      article.people .person-image .person-image-wrapper .image-wrapper {
        background-color: transparent; }
    article.people .person-image img {
      backface-visibility: hidden; }
  article.people .people-content {
    margin-bottom: 50px; }
    @media only screen and (min-width: 640px) {
      article.people .people-content {
        width: 82.91667%;
        margin-right: 2.5%;
        margin-left: 8.54167%; }
        article.people .people-content:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      article.people .people-content {
        margin-bottom: 0;
        width: 40.20833%;
        margin-right: 2.5%;
        margin-left: 8.54167%; }
        article.people .people-content:last-child {
          margin-right: 0; } }
    article.people .people-content p {
      font-family: "sofia-pro", Helvetica, Arial, sans-serif;
      font-size: inherit; }
  article.people .people-connect {
    color: #181a1f; }
    @media only screen and (min-width: 640px) {
      article.people .people-connect {
        margin-left: 8.54167%;
        width: 82.91667%;
        margin-right: 2.5%; }
        article.people .people-connect:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      article.people .people-connect {
        width: 31.66667%;
        margin-right: 2.5%; }
        article.people .people-connect:last-child {
          margin-right: 0; } }
    article.people .people-connect ul {
      margin-left: 0;
      margin-top: 15px; }
      @media only screen and (min-width: 1300px) {
        article.people .people-connect ul {
          margin-top: 20px; } }
    article.people .people-connect li {
      margin-left: 0; }
  article.people .contact-info {
    margin-bottom: 30px; }
    @media only screen and (min-width: 640px) {
      article.people .contact-info {
        margin-bottom: 50px; } }
    article.people .contact-info p {
      margin-top: 10px; }
      @media only screen and (min-width: 1300px) {
        article.people .contact-info p {
          margin-top: 15px; } }
  article.people .talks-and-writings .aside-title,
  article.people .talks-and-writings .article-list {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      article.people .talks-and-writings .aside-title,
      article.people .talks-and-writings .article-list {
        width: 91.45833%;
        margin-right: 2.5%;
        margin-left: 8.54167%; }
        article.people .talks-and-writings .aside-title:last-child,
        article.people .talks-and-writings .article-list:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      article.people .talks-and-writings .aside-title,
      article.people .talks-and-writings .article-list {
        width: 82.91667%;
        margin-right: 2.5%; }
        article.people .talks-and-writings .aside-title:last-child,
        article.people .talks-and-writings .article-list:last-child {
          margin-right: 0; } }
  article.people .talks-and-writings .date {
    font-family: "sofia-pro", Helvetica, Arial, sans-serif;
    width: 6.04167%;
    margin-right: 2.5%;
    order: 0; }
    article.people .talks-and-writings .date:last-child {
      margin-right: 0; }
  article.people .talks-and-writings .text {
    order: 1;
    margin-left: 8.54167%;
    width: 82.91667%;
    margin-right: 2.5%; }
    article.people .talks-and-writings .text:last-child {
      margin-right: 0; }
    article.people .talks-and-writings .text .teaser {
      font-weight: 600;
      margin-bottom: 7px; }
      @media (max-width: 639px) {
        article.people .talks-and-writings .text .teaser {
          font-size: 20px;
          font-size: 1.25rem; } }
    article.people .talks-and-writings .text .title {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25; }

@media only screen and (min-width: 1024px) {
  article.news .container--news-content:first-of-type p:first-child {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 38px;
    line-height: 2.375rem; } }

article.news .post-module {
  padding-bottom: 0; }

article.news .container--news-content {
  margin-bottom: 30px; }
  @media only screen and (min-width: 640px) {
    article.news .container--news-content {
      margin-bottom: 3rem; } }

article.news .media-caption {
  color: #b8b8cd;
  padding-top: 1rem; }

article.news .container--news-media {
  margin-top: 3rem;
  margin-bottom: 3rem; }
  @media only screen and (min-width: 1024px) {
    article.news .container--news-media {
      margin-top: 4rem;
      margin-bottom: 4rem; } }

@media only screen and (min-width: 1300px) {
  article.news .container--news-media--large,
  article.news .container--news-media--full {
    margin-top: 6rem;
    margin-bottom: 6rem; } }

article.news .news-media__two-col__item:first-of-type {
  margin-bottom: 3rem; }

@media only screen and (min-width: 1024px) {
  article.news .news-media__two-col__item {
    margin-right: 2.5%;
    width: 48.75%;
    float: left; }
    article.news .news-media__two-col__item:last-child {
      margin-right: 0; }
    article.news .news-media__two-col__item:first-of-type {
      margin-bottom: 0; } }

article.news .news-content,
article.news .news-media--regular {
  margin-right: 2.5%;
  width: 100%;
  float: left; }
  article.news .news-content:last-child,
  article.news .news-media--regular:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    article.news .news-content,
    article.news .news-media--regular {
      margin-right: 2.5%;
      width: 82.91667%;
      float: left;
      margin-left: 8.54167%; }
      article.news .news-content:last-child,
      article.news .news-media--regular:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1300px) {
    article.news .news-content,
    article.news .news-media--regular {
      margin-right: 2.5%;
      width: 65.83333%;
      float: left;
      margin-left: 17.08333%; }
      article.news .news-content:last-child,
      article.news .news-media--regular:last-child {
        margin-right: 0; } }

article.news .news-media--large {
  margin-right: 2.5%;
  width: 100%;
  float: left; }
  article.news .news-media--large:last-child {
    margin-right: 0; }

@media only screen and (min-width: 1024px) {
  article.news .news-content__text,
  article.news .news-media--regular .post-module {
    padding: 0 9.86%; } }

article.news .news-media__container--full .caption-container {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
  max-width: 1200px; }
  article.news .news-media__container--full .caption-container::after {
    clear: both;
    content: '';
    display: table; }
  @media only screen and (min-width: 1300px) {
    article.news .news-media__container--full .caption-container {
      max-width: 1440px; } }

article.news .news-media__container--full .caption-container__inner {
  margin-right: 2.5%;
  width: 100%;
  float: left; }
  article.news .news-media__container--full .caption-container__inner:last-child {
    margin-right: 0; }

article.news .news-header {
  padding-top: 25px;
  padding-bottom: 3rem; }
  @media only screen and (min-width: 1024px) {
    article.news .news-header {
      padding-top: 35px;
      padding-bottom: 4rem; } }
  @media only screen and (min-width: 1300px) {
    article.news .news-header {
      padding-bottom: 5rem; } }
  article.news .news-header .project-body__hero {
    margin-bottom: 0; }
  article.news .news-header .news-header__label {
    color: #1638e2;
    margin-bottom: 18px; }
  article.news .news-header .news-header__author {
    margin-top: 10px; }
    @media only screen and (min-width: 1024px) {
      article.news .news-header .news-header__author {
        margin-top: 22px;
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 34px;
        line-height: 2.125rem; } }
  article.news .news-header__title {
    padding-bottom: 2rem; }
    @media only screen and (min-width: 640px) {
      article.news .news-header__title {
        margin-right: 2.5%;
        width: 82.91667%;
        float: left;
        margin-left: 8.54167%; }
        article.news .news-header__title:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      article.news .news-header__title {
        margin-right: 2.5%;
        width: 57.29167%;
        float: left;
        margin-left: 8.54167%;
        padding-bottom: 5rem; }
        article.news .news-header__title:last-child {
          margin-right: 0; } }
  article.news .news-header .news-header__video {
    margin-right: 2.5%;
    width: 100%;
    float: left; }
    article.news .news-header .news-header__video:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      article.news .news-header .news-header__video {
        margin-right: 2.5%;
        width: 82.91667%;
        float: left;
        margin-left: 8.54167%; }
        article.news .news-header .news-header__video:last-child {
          margin-right: 0; } }
  article.news .news-header__ft-img {
    width: 100%;
    max-height: 700px;
    max-width: 1024px;
    margin: 0 auto;
    overflow: hidden; }

article.news .news-content__text {
  font-size: inherit; }

article.news .news-quote-container__quote {
  padding-bottom: 1.5rem;
  position: relative; }
  @media only screen and (min-width: 640px) {
    article.news .news-quote-container__quote {
      line-height: 3.25rem; } }
  article.news .news-quote-container__quote:before {
    content: '\201C';
    position: absolute;
    right: calc(100% + 2px); }
  article.news .news-quote-container__quote:after {
    content: '\201D';
    display: inline; }

article.news .news-quote-container__byline {
  width: 100%; }

article.news .news-list__item {
  padding-left: 40px;
  position: relative; }
  article.news .news-list__item:before {
    content: '\2013';
    color: #b8b8cd;
    line-height: 1.55;
    position: absolute;
    left: 0; }

@media (max-width: 639px) {
  article.news .news-image-callout .container, article.news .news-single-image .container {
    margin: 0;
    width: 100%; } }

article.news .news-image-callout__left, article.news .news-image-callout__right {
  width: 100%;
  height: 100%; }

article.news .news-image-callout__left {
  padding-bottom: 3rem; }

@media only screen and (min-width: 640px) {
  article.news .news-image-callout__images {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  article.news .news-image-callout__left {
    padding-bottom: 0; }
  article.news .news-image-callout__left, article.news .news-image-callout__right {
    width: 48%;
    height: 100%;
    min-width: 48%; } }

article.news .news-single-image img {
  width: 100%;
  height: 100%; }

@media (max-width: 639px) {
  article.news .news-video .container {
    margin: 0;
    width: 100%; } }

article.news .news-video video {
  height: 100%; }

article.career header h1 {
  color: #1638e2;
  margin-bottom: 10%; }

article.career .career__summary .flex-row, article.career .career__summary .wpcf7,
article.career .career__summary .newsletter-sign-up-full,
article.career .career__details .flex-row,
article.career .career__details .wpcf7,
article.career .career__details .newsletter-sign-up-full,
article.career header .flex-row,
article.career header .wpcf7,
article.career header .newsletter-sign-up-full {
  width: 100%;
  margin-right: 2.5%; }
  article.career .career__summary .flex-row:last-child, article.career .career__summary .wpcf7:last-child,
  article.career .career__summary .newsletter-sign-up-full:last-child,
  article.career .career__details .flex-row:last-child,
  article.career .career__details .wpcf7:last-child,
  article.career .career__details .newsletter-sign-up-full:last-child,
  article.career header .flex-row:last-child,
  article.career header .wpcf7:last-child,
  article.career header .newsletter-sign-up-full:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 1024px) {
    article.career .career__summary .flex-row, article.career .career__summary .wpcf7,
    article.career .career__summary .newsletter-sign-up-full,
    article.career .career__details .flex-row,
    article.career .career__details .wpcf7,
    article.career .career__details .newsletter-sign-up-full,
    article.career header .flex-row,
    article.career header .wpcf7,
    article.career header .newsletter-sign-up-full {
      width: 82.91667%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      article.career .career__summary .flex-row:last-child, article.career .career__summary .wpcf7:last-child,
      article.career .career__summary .newsletter-sign-up-full:last-child,
      article.career .career__details .flex-row:last-child,
      article.career .career__details .wpcf7:last-child,
      article.career .career__details .newsletter-sign-up-full:last-child,
      article.career header .flex-row:last-child,
      article.career header .wpcf7:last-child,
      article.career header .newsletter-sign-up-full:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1300px) {
    article.career .career__summary .flex-row, article.career .career__summary .wpcf7,
    article.career .career__summary .newsletter-sign-up-full,
    article.career .career__details .flex-row,
    article.career .career__details .wpcf7,
    article.career .career__details .newsletter-sign-up-full,
    article.career header .flex-row,
    article.career header .wpcf7,
    article.career header .newsletter-sign-up-full {
      width: 65.83333%;
      margin-right: 2.5%;
      margin-left: 17.08333%; }
      article.career .career__summary .flex-row:last-child, article.career .career__summary .wpcf7:last-child,
      article.career .career__summary .newsletter-sign-up-full:last-child,
      article.career .career__details .flex-row:last-child,
      article.career .career__details .wpcf7:last-child,
      article.career .career__details .newsletter-sign-up-full:last-child,
      article.career header .flex-row:last-child,
      article.career header .wpcf7:last-child,
      article.career header .newsletter-sign-up-full:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1500px) {
    article.career .career__summary .flex-row, article.career .career__summary .wpcf7,
    article.career .career__summary .newsletter-sign-up-full,
    article.career .career__details .flex-row,
    article.career .career__details .wpcf7,
    article.career .career__details .newsletter-sign-up-full,
    article.career header .flex-row,
    article.career header .wpcf7,
    article.career header .newsletter-sign-up-full {
      width: 57.29167%;
      margin-right: 2.5%;
      margin-left: 21.35417%; }
      article.career .career__summary .flex-row:last-child, article.career .career__summary .wpcf7:last-child,
      article.career .career__summary .newsletter-sign-up-full:last-child,
      article.career .career__details .flex-row:last-child,
      article.career .career__details .wpcf7:last-child,
      article.career .career__details .newsletter-sign-up-full:last-child,
      article.career header .flex-row:last-child,
      article.career header .wpcf7:last-child,
      article.career header .newsletter-sign-up-full:last-child {
        margin-right: 0; } }

article.career .career__details h3,
article.career .career__details h4,
article.career .career__details h5 {
  color: #1638e2; }

article.career .career__summary {
  color: #2d3338; }

article.career .career__apply .cta-links {
  color: #1638e2; }

.news-content__related-work {
  width: 100%;
  margin-bottom: 30px;
  box-sizing: border-box;
  border-top: 1px solid #1638e2;
  border-bottom: 1px solid #1638e2;
  padding-top: 25px;
  padding-bottom: 25px; }
  .news-content__related-work a {
    display: block; }
  .news-content__related-work .label {
    color: #1638e2;
    margin-bottom: 15px;
    display: block; }
  .news-content__related-work img {
    margin-bottom: 20px; }
  .news-content__related-work .news-content__related-work__title {
    font-size: 18px;
    font-family: "freight-text-pro", Georgia, serif;
    display: block;
    margin-bottom: 20px; }
  @media only screen and (min-width: 640px) {
    .news-content__related-work {
      border-left: 1px solid #1638e2;
      border-top: none;
      border-bottom: none;
      float: right;
      margin-left: 30px;
      padding-left: 3.25%;
      padding-top: 0;
      padding-bottom: 0;
      width: 40%;
      margin-right: -10.25%; } }
  @media only screen and (min-width: 1024px) {
    .news-content__related-work {
      width: 26%; } }
  @media only screen and (min-width: 1300px) {
    .news-content__related-work {
      margin-right: -26%; } }

.news-content__related-work__content {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between; }
  @media only screen and (min-width: 640px) {
    .news-content__related-work__content {
      display: block; } }

.news-content__related-work__image {
  flex: 0 0 45%;
  margin-top: -25px; }
  @media only screen and (min-width: 640px) {
    .news-content__related-work__image {
      margin-top: 0; } }

.news-content__related-work__text {
  flex: 0 0 50%; }

.news-content__related-work__see-more {
  color: #1638e2; }

article.project {
  padding-top: 0 !important; }

.project-body {
  padding-top: 105px; }
  @media only screen and (min-width: 640px) {
    .project-body {
      padding-top: 125px; } }
  @media only screen and (min-width: 1024px) {
    .project-body {
      padding-top: 165px; } }
  .project-body__header {
    align-items: flex-end;
    margin-bottom: 40px; }
    @media only screen and (min-width: 640px) {
      .project-body__header {
        margin-bottom: 50px; } }
    @media only screen and (min-width: 1024px) {
      .project-body__header {
        margin-bottom: 70px; } }
  @media only screen and (min-width: 1024px) {
    .project-body__lead {
      margin-bottom: 8px; } }
  @media only screen and (min-width: 640px) {
    .project-body__title {
      width: 65.83333%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .project-body__title:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .project-body__title {
      width: 48.75%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .project-body__title:last-child {
        margin-right: 0; } }
  .project-body__hero--16_9.container {
    width: 100%;
    max-width: 100%; }
  @media only screen and (min-width: 640px) {
    .project-body__article {
      width: 82.91667%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .project-body__article:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .project-body__article {
      width: 48.75%;
      margin-right: 2.5%;
      margin-left: 25.625%; }
      .project-body__article:last-child {
        margin-right: 0; } }
  .project-body__article-lede {
    margin-bottom: 36px; }
  .project-body__article-cta .cta-links {
    text-align: center; }
  @media only screen and (min-width: 640px) {
    .project-body__lead {
      margin-left: 8.54167%;
      width: 82.91667%;
      margin-right: 2.5%; }
      .project-body__lead:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .project-body__lead {
      width: 31.66667%;
      margin-right: 2.5%; }
      .project-body__lead:last-child {
        margin-right: 0; } }
  .project-body__article {
    padding-top: 0;
    margin-bottom: 60px; }
    .project-body__article .page-module__small-ctas {
      margin-top: 25px; }
    @media only screen and (min-width: 1024px) {
      .project-body__article {
        margin-bottom: 0; } }
  .project-body__title {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px; }
    @media only screen and (min-width: 1024px) {
      .project-body__title {
        margin-bottom: 0; } }
    .project-body__title-project {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.16; }
      @media only screen and (min-width: 640px) {
        .project-body__title-project {
          font-size: 48px; } }
      @media only screen and (min-width: 1024px) {
        .project-body__title-project {
          font-size: 56px;
          font-size: 3.5rem; } }
    .project-body__title-client {
      font-size: 11px;
      font-size: 0.6875rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      font-weight: 500;
      color: #1638e2;
      line-height: 1.4;
      margin-bottom: 2px;
      font-family: "sofia-pro", Helvetica, Arial, sans-serif; }
      @media only screen and (min-width: 1024px) {
        .project-body__title-client {
          margin-bottom: 6px;
          font-size: 14px;
          font-size: 0.875rem; } }
  .project-body__hero {
    margin-bottom: 50px; }
    @media only screen and (min-width: 1024px) {
      .project-body__hero {
        margin-bottom: 70px; } }
    @media only screen and (min-width: 1024px) {
      .project-body__hero {
        margin-bottom: 100px; } }
    .project-body__hero.image-wrapper__16_9:after {
      padding-bottom: 56.25%; }
    @supports (-ms-ime-align: auto) {
      .project-body__hero.image-wrapper__16_9 {
        padding-bottom: 56.25%; } }
    .project-body__hero.image-wrapper__6_4:after {
      padding-bottom: 66.7%; }
    @supports (-ms-ime-align: auto) {
      .project-body__hero.image-wrapper__6_4 {
        padding-bottom: 66.7%; } }
    .project-body__hero.image-wrapper__1_1:after {
      padding-bottom: 99.16%; }
    @supports (-ms-ime-align: auto) {
      .project-body__hero.image-wrapper__1_1 {
        padding-bottom: 99.16%; } }
    .project-body__hero:not(.image-wrapper__other):after {
      content: '';
      display: block;
      width: 100%; }
    @supports (-ms-ime-align: auto) {
      .project-body__hero:not(.image-wrapper__other):after {
        display: none; } }
    .project-body__hero:not(.image-wrapper__other) .project-body__hero-embed,
    .project-body__hero:not(.image-wrapper__other) .project-body__hero-preview {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      padding-bottom: 0 !important; }
    .project-body__hero-overlay {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      background-color: rgba(24, 26, 31, 0.2);
      z-index: 3; }
    .project-body__hero._is-playing::before {
      opacity: 0; }
    .project-body__hero-embed {
      z-index: 1; }
      .js .project-body__hero-embed {
        opacity: 0; }
      .js ._is-playing .project-body__hero-embed {
        opacity: 1;
        z-index: 9999; }
    .project-body__hero-preview {
      z-index: 2; }
    .js ._is-playing .project-body__hero-preview, .js ._is-playing .project-body__hero-button {
      transition: opacity 0.6s ease;
      opacity: 0 !important; }
  .project-body__content {
    transition-delay: 0.25s; }
  .project-body__more-button {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    font-family: "sofia-pro", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    color: #b8b8cd;
    text-transform: lowercase;
    border-bottom: 1px solid #b8b8cd;
    display: inline-block;
    margin: 10px 0;
    transition: color 0.4s; }
    @media only screen and (min-width: 640px) {
      .project-body__more-button {
        font-size: 18px;
        font-size: 1.125rem; } }
    .project-body__more-button:hover {
      color: #2d3338;
      cursor: pointer; }
  .project-body__more-content {
    display: none;
    margin-top: 1.63em;
    opacity: 0;
    transition: opacity 0.5s ease-in-out 0.4s; }
    .project-body__more-content.open {
      opacity: 1; }
  @media only screen and (min-width: 1024px) {
    .project-body__aside {
      margin-top: 60px; } }
  @media only screen and (min-width: 640px) {
    .project-body__aside.project-body__aside--single {
      margin-left: 8.54167%;
      width: 82.91667%;
      margin-right: 2.5%; }
      .project-body__aside.project-body__aside--single:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .project-body__aside.project-body__aside--single {
      margin-left: 25.625%;
      width: 48.75%;
      margin-right: 2.5%; }
      .project-body__aside.project-body__aside--single:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 640px) {
    .project-body__aside.project-body__aside--both {
      margin-left: 8.54167%;
      width: 82.91667%;
      margin-right: 2.5%;
      display: flex;
      justify-content: space-between; }
      .project-body__aside.project-body__aside--both:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 640px) {
    .project-body__aside.project-body__aside--both .project-body__aside-item {
      flex: 0 0 45%; } }
  .project-body__aside .aside-title {
    font-weight: 700; }
  .project-body__aside-services {
    margin-top: 0.5rem; }
    .project-body__aside-services .service {
      margin-top: 0;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 18px;
      line-height: 1.125rem;
      text-transform: capitalize;
      display: inline-block;
      color: #5c6675; }
  .project-body__aside-item {
    margin-bottom: 30px; }
    @media only screen and (min-width: 640px) {
      .project-body__aside-item {
        margin-bottom: 0; } }
    .project-body__aside-item:last-of-type {
      margin-bottom: 0; }
  .project-body__aside li + li,
  .project-body__aside p + p {
    margin-top: 0.5em; }
    @media only screen and (min-width: 1024px) {
      .project-body__aside li + li,
      .project-body__aside p + p {
        margin-top: 1em; } }
  .project-body a {
    color: var(--project-color-theme); }
  .project-body a.animated:after, .project-body p a:after, p .project-body a:after,
  .project-body p a:visited:after, p .project-body a:visited:after,
  .project-body p a:after,
  .project-body p a:visited:after,
  .project-body .faux-link.animated:after,
  .project-body .sf-level-0.sf-option-active:after {
    background-color: var(--project-color-theme); }
  .project-body figure figcaption p {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6; }

.u-color-theme--color {
  color: #1638e2;
  color: var(--project-color-theme); }

.project-quotes {
  padding: 42px 0;
  background-color: #ffffff; }
  @media only screen and (min-width: 1024px) {
    .project-quotes {
      padding: 120px 0; } }

@media only screen and (min-width: 640px) {
  .project-quotes__single {
    margin-left: 8.54167%;
    width: 82.91667%;
    margin-right: 2.5%; }
    .project-quotes__single:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 1024px) {
  .project-quotes__single {
    margin-left: 17.08333%;
    width: 65.83333%;
    margin-right: 2.5%; }
    .project-quotes__single:last-child {
      margin-right: 0; } }

.project-quotes__item {
  margin-bottom: 32px; }
  @media only screen and (min-width: 640px) {
    .project-quotes__item:nth-child(odd) {
      width: 40.20833%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .project-quotes__item:nth-child(odd):last-child {
        margin-right: 0; }
    .project-quotes__item:nth-child(even) {
      width: 40.20833%;
      margin-right: 2.5%;
      margin-right: 0;
      transition-delay: 0.2s; }
      .project-quotes__item:nth-child(even):last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .project-quotes__item:nth-child(odd) {
      padding-right: 30px; }
    .project-quotes__item:nth-child(even) {
      padding-left: 30px; } }
  .project-quotes__item:last-child {
    margin-bottom: 0; }

.project-quote__content {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.44;
  font-family: "freight-text-pro", Georgia, serif;
  margin-bottom: 24px; }
  @media only screen and (min-width: 1024px) {
    .project-quote__content {
      margin-bottom: 32px; } }
  .project-quote__content:before {
    content: open-quote; }
  .project-quote__content:after {
    content: close-quote; }

.project-quote__attr cite {
  font-style: normal;
  font-size: 15px; }

.project-stats {
  padding: 42px 0 64px; }
  @media only screen and (min-width: 1024px) {
    .project-stats {
      padding: 106px 0 163px; } }

@media only screen and (min-width: 640px) {
  .project-stats__left {
    width: 23.125%;
    margin-right: 2.5%; }
    .project-stats__left:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .project-stats__center {
    width: 40.20833%;
    margin-right: 2.5%;
    padding-right: 60px; }
    .project-stats__center:last-child {
      margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .project-stats__right {
    width: 31.66667%;
    margin-right: 2.5%;
    padding-right: 60px; }
    .project-stats__right:last-child {
      margin-right: 0; } }

.project-stats__title {
  font-size: 15px;
  text-transform: uppercase;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;
  margin-bottom: 20px; }

.project-stats__item {
  font-size: 18px;
  line-height: 1.5; }
  .project-stats__item + .project-stats__item {
    margin-top: 12px; }

.project-stats__items--services .project-stats__item {
  display: inline; }

.project-stats__items--services .project-stats__item + .project-stats__item {
  margin-top: 0; }

.project-mods {
  margin: 0 0 50px; }
  @media only screen and (min-width: 1024px) {
    .project-mods {
      margin: 0 0 70px; } }
  .project-mods figure figcaption p {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6; }
  .project-mods .project-body__paragraph,
  .project-mods .project-body__paragraph p {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.6; }
  .project-mods__row.background-color {
    padding-top: 40px;
    margin-bottom: 40px;
    display: none; }
    @media only screen and (min-width: 640px) {
      .project-mods__row.background-color {
        display: block;
        padding: 5% 0;
        margin: 5% 0; } }
  .project-mods__row:last-of-type {
    margin-bottom: 0; }
  @media (max-width: 639px) {
    .project-mods__row figure {
      margin-bottom: 40px; } }
  @media only screen and (min-width: 640px) {
    .project-mods__row {
      margin-bottom: 20px; } }
  @media only screen and (min-width: 1024px) {
    .project-mods__row {
      margin-bottom: 3%; } }
  .project-mods__row.two-images .figure-wrapper {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      .project-mods__row.two-images .figure-wrapper {
        width: 48.75%;
        margin-right: 2.5%; }
        .project-mods__row.two-images .figure-wrapper:last-child {
          margin-right: 0; } }
  .project-mods__row.text-row {
    margin: 40px 0; }
    @media only screen and (min-width: 640px) {
      .project-mods__row.text-row {
        margin-top: 8%; } }
    .project-mods__row.text-row .text-wrapper {
      width: 100%;
      margin-right: 2.5%; }
      .project-mods__row.text-row .text-wrapper:last-child {
        margin-right: 0; }
      @media only screen and (min-width: 640px) {
        .project-mods__row.text-row .text-wrapper {
          width: 82.91667%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .project-mods__row.text-row .text-wrapper:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-mods__row.text-row .text-wrapper {
          width: 48.75%;
          margin-right: 2.5%;
          margin-left: 25.625%; }
          .project-mods__row.text-row .text-wrapper:last-child {
            margin-right: 0; } }
    .project-mods__row.text-row .text-callout {
      margin-top: 32px; }
      @media only screen and (min-width: 640px) {
        .project-mods__row.text-row .text-callout {
          width: 82.91667%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .project-mods__row.text-row .text-callout:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-mods__row.text-row .text-callout {
          width: 14.58333%;
          margin-right: 2.5%;
          margin-left: 8.54167%;
          margin-top: 0; }
          .project-mods__row.text-row .text-callout:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-mods__row.text-row .text-callout__inner {
          position: relative; }
          .project-mods__row.text-row .text-callout__inner:before {
            content: '';
            width: 2px;
            background-color: var(--project-color-theme);
            position: absolute;
            left: -30px;
            top: -0.2rem;
            bottom: -0.4rem; } }
    .project-mods__row.text-row .text-callout__header,
    .project-mods__row.text-row .text-callout__link {
      color: var(--project-color-theme); }
    .project-mods__row.text-row .text-callout__header {
      font-size: 13px;
      font-size: 0.8125rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 12px; }
    .project-mods__row.text-row .text-callout__image {
      margin-bottom: 24px; }
    .project-mods__row.text-row .text-callout__title {
      font-family: "freight-text-pro", Georgia, serif;
      font-size: 18px;
      font-size: 1.125rem;
      margin-bottom: 16px;
      font-weight: 400;
      line-height: 1.3; }
    .project-mods__row.text-row .text-callout__link {
      font-size: 14px;
      font-size: 0.875rem; }
    .project-mods__row.text-row--left .text-wrapper {
      width: 100%;
      margin-right: 2.5%; }
      .project-mods__row.text-row--left .text-wrapper:last-child {
        margin-right: 0; }
      @media only screen and (min-width: 640px) {
        .project-mods__row.text-row--left .text-wrapper {
          width: 82.91667%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .project-mods__row.text-row--left .text-wrapper:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-mods__row.text-row--left .text-wrapper {
          width: 48.75%;
          margin-right: 2.5%; }
          .project-mods__row.text-row--left .text-wrapper:last-child {
            margin-right: 0; } }
    .project-mods__row.text-row--left .h3, .project-mods__row.text-row--left .body-text h3, .body-text .project-mods__row.text-row--left h3 {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.16;
      margin-bottom: 12px; }
    .project-mods__row.text-row--left .text-callout {
      display: none; }
  .project-mods__quote {
    margin: 0 0 30px;
    background-color: #ffffff;
    padding: 50px 0 30px; }
    @media only screen and (min-width: 640px) {
      .project-mods__quote {
        margin: 100px 0 120px;
        padding: 100px 0 80px; } }
    @media only screen and (min-width: 1024px) {
      .project-mods__quote {
        padding: 120px 0 100px; } }
    .project-mods__quote .quote-text {
      text-indent: 0; }
    .project-mods__quote-inner {
      width: 100%; }
      @media only screen and (min-width: 640px) {
        .project-mods__quote-inner {
          width: 82.91667%;
          margin-right: 2.5%;
          margin-left: 8.54167%; }
          .project-mods__quote-inner:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-mods__quote-inner {
          width: 65.83333%;
          margin-right: 2.5%;
          margin-left: 17.08333%; }
          .project-mods__quote-inner:last-child {
            margin-right: 0; } }
    .project-mods__quote blockquote p {
      color: #2d3338;
      position: relative; }
      .post-14335 .project-mods__quote blockquote p {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 24px;
        line-height: 1.5rem; }
      @media only screen and (min-width: 640px) {
        .post-14335 .project-mods__quote blockquote p {
          font-size: 26px;
          font-size: 1.625rem;
          line-height: 32px;
          line-height: 2rem; } }
      @media only screen and (min-width: 1024px) {
        .post-14335 .project-mods__quote blockquote p {
          font-size: 39px;
          font-size: 2.4375rem;
          line-height: 46px;
          line-height: 2.875rem; } }
      @media only screen and (min-width: 1300px) {
        .post-14335 .project-mods__quote blockquote p {
          font-size: 42px;
          font-size: 2.625rem;
          line-height: 54px;
          line-height: 3.375rem; } }
    .project-mods__quote blockquote p + p {
      margin-top: 1.1rem; }
    .project-mods__quote blockquote span {
      display: inline-block; }
    .project-mods__quote-open {
      margin-right: -6px;
      position: absolute;
      top: 0;
      left: -16px; }
      @media only screen and (min-width: 640px) {
        .project-mods__quote-open {
          margin-right: 0;
          left: -30px; } }
    .project-mods__quote-citation {
      margin-top: 60px;
      text-align: right; }
      @media only screen and (min-width: 1024px) {
        .project-mods__quote-citation {
          margin-top: 30px; } }
      .project-mods__quote-citation p {
        line-height: 1.5;
        font-weight: 400;
        font-size: 15px;
        font-size: 0.9375rem; }
        .project-mods__quote-citation p:before {
          content: '\2014';
          margin-left: 8px; }
    .project-mods__quote--multi .project-mods__quote-inner {
      width: 100%;
      margin: 0; }
      @media only screen and (min-width: 640px) {
        .project-mods__quote--multi .project-mods__quote-inner {
          display: flex;
          justify-content: start;
          width: 100%;
          flex-wrap: wrap; } }
      @media only screen and (min-width: 640px) {
        .project-mods__quote--multi .project-mods__quote-inner li {
          flex: 1 1 50%;
          max-width: 50%;
          padding-right: 2.5%; }
          .project-mods__quote--multi .project-mods__quote-inner li:nth-child(even) {
            padding-left: 2.5%;
            padding-right: 0; } }
    .project-mods__quote--multi blockquote p {
      width: 100%; }

@media only screen and (min-width: 1024px) {
  .project-press .line-header,
  .project-related .line-header {
    margin-left: 8.54167%; } }

.project-press {
  margin: 50px 0; }
  @media only screen and (min-width: 1024px) {
    .project-press {
      margin: 70px 0; } }
  @media only screen and (min-width: 1024px) {
    .project-press__entries {
      margin-left: 8.54167%; } }
  .project-press__entry {
    margin-top: 30px;
    width: 100%;
    margin-right: 2.5%; }
    .project-press__entry:first-of-type {
      margin-top: 0; }
    .project-press__entry:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .project-press__entry {
        width: 48.75%;
        margin-right: 2.5%;
        margin-top: 50px; }
        .project-press__entry:last-child {
          margin-right: 0; }
        .project-press__entry:nth-child(2n) {
          margin-right: 0; }
        .project-press__entry:nth-of-type(2) {
          margin-top: 0; } }
    @media only screen and (min-width: 1024px) {
      .project-press__entry {
        width: 40.20833%;
        margin-right: 2.5%; }
        .project-press__entry:last-child {
          margin-right: 0; }
        .project-press__entry:nth-of-type(2n - 1) {
          padding-right: 20px; } }
    .project-press__entry-body {
      font-size: 20px;
      font-size: 1.25rem;
      font-family: "freight-text-pro", Georgia, serif;
      font-weight: 700;
      line-height: 1.2;
      color: #2d3338; }
      @media only screen and (min-width: 640px) {
        .project-press__entry-body {
          font-size: 24px;
          font-size: 1.5rem; } }
      @media only screen and (min-width: 1024px) {
        .project-press__entry-body {
          font-size: 30px;
          font-size: 1.875rem; } }
    .project-press__entry-info {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 15px; }
      @media only screen and (min-width: 1024px) {
        .project-press__entry-info {
          font-size: 16px;
          font-size: 1rem; } }

.project-related {
  padding: 50px 0; }
  @media only screen and (min-width: 640px) {
    .project-related {
      padding: 80px 0; } }
  @media only screen and (min-width: 1024px) {
    .project-related {
      padding: 100px 0; } }
  @media only screen and (min-width: 1024px) {
    .project-related .line-header {
      margin-left: 4.27083%; } }
  .project-related .teaser-tile-project {
    width: 100%; }
    @media only screen and (min-width: 640px) {
      .project-related .teaser-tile-project {
        margin-bottom: 0; } }
    .project-related .teaser-tile-project:first-child {
      margin-bottom: 50px; }
      @media only screen and (min-width: 640px) {
        .project-related .teaser-tile-project:first-child {
          margin-bottom: 0;
          width: 40.20833%;
          margin-right: 2.5%; }
          .project-related .teaser-tile-project:first-child:last-child {
            margin-right: 0; } }
      @media only screen and (min-width: 1024px) {
        .project-related .teaser-tile-project:first-child {
          width: 31.66667%;
          margin-right: 2.5%;
          margin-left: 4.27083%; }
          .project-related .teaser-tile-project:first-child:last-child {
            margin-right: 0; } }
    @media only screen and (min-width: 640px) {
      .project-related .teaser-tile-project:last-child {
        width: 57.29167%;
        margin-right: 2.5%; }
        .project-related .teaser-tile-project:last-child:last-child {
          margin-right: 0; } }

.project-services {
  margin-bottom: 100px;
  margin-top: 10rem; }
  .project-services__detail {
    width: 82.91667%;
    margin-right: 2.5%;
    margin-bottom: 3rem; }
    .project-services__detail:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .project-services__detail {
        width: 40.20833%;
        margin-right: 2.5%; }
        .project-services__detail:last-child {
          margin-right: 0; } }
    @media only screen and (min-width: 1024px) {
      .project-services__detail {
        width: 23.125%;
        margin-right: 2.5%; }
        .project-services__detail:last-child {
          margin-right: 0; } }
    .project-services__detail h3 {
      padding-bottom: 0.5rem;
      margin-bottom: 1rem;
      position: relative; }
      .project-services__detail h3:only-child {
        display: none; }
      .project-services__detail h3:after {
        height: 3px;
        width: 25px;
        content: '';
        position: absolute;
        bottom: 0;
        left: 0; }

.alternating-img-rows {
  margin: 40px 0; }
  @media only screen and (min-width: 640px) {
    .alternating-img-rows {
      margin-top: 8%; } }
  @media only screen and (min-width: 640px) {
    .alternating-img-rows--right-left .alternating-img-rows__content {
      width: 31.66667%;
      margin-right: 2.5%; }
      .alternating-img-rows--right-left .alternating-img-rows__content:last-child {
        margin-right: 0; }
    .alternating-img-rows--right-left .alternating-img-rows__image {
      width: 57.29167%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .alternating-img-rows--right-left .alternating-img-rows__image:last-child {
        margin-right: 0; }
    .alternating-img-rows--right-left .alternating-img-rows__row:nth-child(even) {
      flex-direction: row-reverse; }
      .alternating-img-rows--right-left .alternating-img-rows__row:nth-child(even) .alternating-img-rows__content {
        margin-left: 8.54167%; }
      .alternating-img-rows--right-left .alternating-img-rows__row:nth-child(even) .alternating-img-rows__image {
        margin-left: 0%; } }
  @media only screen and (min-width: 640px) {
    .alternating-img-rows--left-right .alternating-img-rows__row:nth-child(odd) {
      flex-direction: row-reverse; } }

.alternating-img-rows__row {
  display: flex;
  flex-direction: column-reverse; }
  @media only screen and (min-width: 640px) {
    .alternating-img-rows__row {
      flex-direction: row; } }
  @media only screen and (min-width: 1024px) {
    .alternating-img-rows__row {
      align-items: center; } }
  .alternating-img-rows__row + .alternating-img-rows__row {
    margin-top: 36px; }
    @media only screen and (min-width: 640px) {
      .alternating-img-rows__row + .alternating-img-rows__row {
        margin-top: 64px; } }
    @media only screen and (min-width: 1024px) {
      .alternating-img-rows__row + .alternating-img-rows__row {
        margin-top: 91px; } }

.alternating-img-rows__image {
  margin-bottom: 24px; }
  @media only screen and (min-width: 640px) {
    .alternating-img-rows__image {
      margin-bottom: 0; } }

.alternating-img-rows__title {
  font-family: "freight-text-pro", Georgia, serif;
  font-weight: 400;
  font-size: 32px;
  font-size: 2rem;
  margin-bottom: 32px; }

.media-full-width__row {
  margin: 40px 0; }
  @media only screen and (min-width: 640px) {
    .media-full-width__row {
      margin-top: 8%; } }

.media-full-width--inset {
  width: 82.91667%;
  margin-right: 2.5%;
  margin-left: 8.54167%; }
  .media-full-width--inset:last-child {
    margin-right: 0; }

.media-full-width--full .container {
  width: 100%;
  max-width: 100%; }

.media-full-width--full .caption-container {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
  max-width: 1200px; }
  .media-full-width--full .caption-container::after {
    clear: both;
    content: '';
    display: table; }
  @media only screen and (min-width: 1300px) {
    .media-full-width--full .caption-container {
      max-width: 1440px; } }

.media-lockup {
  margin: 40px 0; }
  @media only screen and (min-width: 640px) {
    .media-lockup {
      margin-top: 8%; } }

.media-lockup__lg--with-content {
  display: flex;
  flex-direction: column-reverse; }
  @media only screen and (min-width: 640px) {
    .media-lockup__lg--with-content {
      flex-direction: row; } }
  @media only screen and (min-width: 1024px) {
    .media-lockup__lg--with-content {
      align-items: center; } }
  .media-lockup__lg--with-content .media-lockup__lg-content {
    margin-top: 24px; }
    @media only screen and (min-width: 640px) {
      .media-lockup__lg--with-content .media-lockup__lg-content {
        margin-top: 0;
        width: 31.66667%;
        margin-right: 2.5%; }
        .media-lockup__lg--with-content .media-lockup__lg-content:last-child {
          margin-right: 0; } }
  .media-lockup__lg--with-content .media-lockup__lg-content-title {
    font-family: "freight-text-pro", Georgia, serif;
    font-weight: 400;
    font-size: 32px;
    font-size: 2rem;
    margin-bottom: 32px; }
  @media only screen and (min-width: 640px) {
    .media-lockup__lg--with-content .media-lockup__lg-media {
      width: 57.29167%;
      margin-right: 2.5%;
      margin-left: 8.54167%; }
      .media-lockup__lg--with-content .media-lockup__lg-media:last-child {
        margin-right: 0; } }

.media-lockup__media-row {
  margin-top: 24px; }
  @media only screen and (min-width: 640px) {
    .media-lockup__media-row {
      margin-top: 46px; } }

.media-row {
  margin: 24px 0; }
  @media only screen and (min-width: 640px) {
    .media-row {
      margin-top: 8%; } }

@media only screen and (min-width: 640px) {
  .media-row-lockup {
    display: flex; } }

@media only screen and (min-width: 640px) {
  .media-row-lockup__item {
    flex: 1 0 0; } }

.media-row-lockup__item + .media-row-lockup__item {
  margin-top: 24px; }
  @media only screen and (min-width: 640px) {
    .media-row-lockup__item + .media-row-lockup__item {
      margin-top: 0;
      margin-left: 2.5%; } }

.project-mods .project-mods__row:first-of-type {
  margin-top: 30px; }

.text-row + .media-row {
  margin: 20px 0; }
  @media only screen and (min-width: 640px) {
    .text-row + .media-row {
      margin-top: 4%; } }

.media-full-width + .text-row + .media-row {
  margin: 24px 0; }
  @media only screen and (min-width: 640px) {
    .media-full-width + .text-row + .media-row {
      margin-top: 8%; } }

form {
  color: #b8b8cd; }
  form .indicates-required {
    margin-bottom: 50px;
    font-weight: 500; }
  form .form-item,
  form .mc-field-group {
    width: 100%;
    position: relative;
    margin: 0 0 30px; }
    @media only screen and (min-width: 640px) {
      form .form-item,
      form .mc-field-group {
        margin: 0 0 70px; } }
    form .form-item label,
    form .form-item input,
    form .form-item textarea,
    form .mc-field-group label,
    form .mc-field-group input,
    form .mc-field-group textarea {
      width: 100%;
      height: 100%;
      display: block;
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "sofia-pro", Helvetica, Arial, sans-serif; }
    form .form-item label,
    form .mc-field-group label {
      padding-bottom: 15px; }
      form .form-item label span,
      form .mc-field-group label span {
        font-size: 14px;
        font-size: 0.875rem; }
    form .form-item input.required::placeholder:after,
    form .mc-field-group input.required::placeholder:after {
      content: '*';
      color: darkred;
      font-size: 1.5rem; }
    form .form-item input,
    form .form-item textarea,
    form .mc-field-group input,
    form .mc-field-group textarea {
      color: #b8b8cd; }
    form .form-item.text,
    form .mc-field-group.text {
      position: relative; }
      form .form-item.text input,
      form .mc-field-group.text input {
        line-height: 45px;
        min-height: 45px;
        width: 100%;
        background: none;
        border: none;
        border-bottom: 1px solid #2d3338;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -o-border-radius: 0;
        border-radius: 0; }
        form .form-item.text input::placeholder,
        form .mc-field-group.text input::placeholder {
          color: #b8b8cd; }
        form .form-item.text input:focus,
        form .mc-field-group.text input:focus {
          border-color: #b8b8cd; }
      form .form-item.text:after,
      form .mc-field-group.text:after {
        content: '';
        height: 1px;
        background-color: #b8b8cd;
        display: block;
        width: 0%;
        bottom: 0;
        position: absolute;
        -webkit-transition: width 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -moz-transition: width 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -ms-transition: width 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        -o-transition: width 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s;
        transition: width 0.2s cubic-bezier(0.555, 0.205, 0.295, 0.975) 0s; }
      form .form-item.text:hover:after,
      form .mc-field-group.text:hover:after {
        width: 100%; }
    form .form-item textarea,
    form .mc-field-group textarea {
      width: 100%;
      min-width: 100%;
      max-width: 100%;
      overflow: auto;
      background-color: red;
      background: none;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -o-border-radius: 0;
      border-radius: 0;
      border: 1px solid #2d3338;
      padding: 10px;
      -webkit-transition: border-color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -moz-transition: border-color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -ms-transition: border-color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      -o-transition: border-color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975);
      transition: border-color 0.3s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
      form .form-item textarea:focus, form .form-item textarea:hover,
      form .mc-field-group textarea:focus,
      form .mc-field-group textarea:hover {
        border-color: #b8b8cd; }
    form .form-item .wpcf7-list-item,
    form .mc-field-group .wpcf7-list-item {
      width: 100%;
      overflow: hidden;
      margin: 15px 0 0;
      display: block; }
      form .form-item .wpcf7-list-item .wpcf7-list-item-label,
      form .mc-field-group .wpcf7-list-item .wpcf7-list-item-label {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 30px;
        line-height: 1.875rem;
        padding-left: 40px;
        font-family: "freight-text-pro", Georgia, serif;
        color: #b8b8cd;
        float: left;
        position: relative;
        -webkit-transition: color 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -moz-transition: color 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -ms-transition: color 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        -o-transition: color 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
        transition: color 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975), transform 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
        @media only screen and (min-width: 640px) {
          form .form-item .wpcf7-list-item .wpcf7-list-item-label,
          form .mc-field-group .wpcf7-list-item .wpcf7-list-item-label {
            padding-left: 80px;
            font-size: 34px;
            font-size: 2.125rem;
            line-height: 48px;
            line-height: 3rem; } }
        form .form-item .wpcf7-list-item .wpcf7-list-item-label::before,
        form .mc-field-group .wpcf7-list-item .wpcf7-list-item-label::before {
          content: '';
          width: 0;
          height: 1px;
          background: #b8b8cd;
          position: absolute;
          top: 50%;
          right: calc(100% - 20px);
          -webkit-transition: all 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
          -moz-transition: all 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
          -ms-transition: all 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
          -o-transition: all 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975);
          transition: all 0.25s cubic-bezier(0.555, 0.205, 0.295, 0.975); }
          @media only screen and (min-width: 640px) {
            form .form-item .wpcf7-list-item .wpcf7-list-item-label::before,
            form .mc-field-group .wpcf7-list-item .wpcf7-list-item-label::before {
              right: calc(100% - 44px); } }
      form .form-item .wpcf7-list-item input[type='checkbox'],
      form .mc-field-group .wpcf7-list-item input[type='checkbox'] {
        display: none; }
        form .form-item .wpcf7-list-item input[type='checkbox']:checked + .wpcf7-list-item-label,
        form .mc-field-group .wpcf7-list-item input[type='checkbox']:checked + .wpcf7-list-item-label {
          -webkit-transform: translateX(-40px);
          -moz-transform: translateX(-40px);
          -ms-transform: translateX(-40px);
          -o-transform: translateX(-40px);
          transform: translateX(-40px); }
          @media only screen and (min-width: 640px) {
            form .form-item .wpcf7-list-item input[type='checkbox']:checked + .wpcf7-list-item-label,
            form .mc-field-group .wpcf7-list-item input[type='checkbox']:checked + .wpcf7-list-item-label {
              -webkit-transform: translateX(-80px);
              -moz-transform: translateX(-80px);
              -ms-transform: translateX(-80px);
              -o-transform: translateX(-80px);
              transform: translateX(-80px); } }
        form .form-item .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover,
        form .mc-field-group .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover {
          color: #efefff;
          cursor: pointer; }
          form .form-item .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover:before,
          form .mc-field-group .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover:before {
            width: 22px; }
            @media only screen and (min-width: 640px) {
              form .form-item .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover:before,
              form .mc-field-group .wpcf7-list-item input[type='checkbox'] + .wpcf7-list-item-label:hover:before {
                width: 44px; } }
    form .form-item .other-interest textarea,
    form .form-item .other-budget textarea,
    form .mc-field-group .other-interest textarea,
    form .mc-field-group .other-budget textarea {
      margin-top: 15px;
      margin-left: 40px;
      width: calc(100% - 40px);
      min-width: calc(100% - 40px);
      max-width: calc(100% - 40px); }
      @media only screen and (min-width: 640px) {
        form .form-item .other-interest textarea,
        form .form-item .other-budget textarea,
        form .mc-field-group .other-interest textarea,
        form .mc-field-group .other-budget textarea {
          margin-left: 80px;
          width: calc(100% - 80px);
          min-width: calc(100% - 80px);
          max-width: calc(100% - 80px); } }
    form .form-item .add-to-mailing-list .wpcf7-list-item-label,
    form .mc-field-group .add-to-mailing-list .wpcf7-list-item-label {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 24px;
      line-height: 1.5rem;
      padding-left: 40px; }
      @media only screen and (min-width: 640px) {
        form .form-item .add-to-mailing-list .wpcf7-list-item-label,
        form .mc-field-group .add-to-mailing-list .wpcf7-list-item-label {
          font-size: 24px;
          font-size: 1.5rem;
          line-height: 28px;
          line-height: 1.75rem; } }
      form .form-item .add-to-mailing-list .wpcf7-list-item-label::before,
      form .mc-field-group .add-to-mailing-list .wpcf7-list-item-label::before {
        content: '';
        width: 24px !important;
        height: 24px;
        padding: 4px;
        font-size: 16px;
        font-size: 1rem;
        line-height: 16px;
        line-height: 1rem;
        background: none;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        border: 1px solid #757575; }
    form .form-item .add-to-mailing-list input[type='checkbox']:checked + .wpcf7-list-item-label,
    form .mc-field-group .add-to-mailing-list input[type='checkbox']:checked + .wpcf7-list-item-label {
      -webkit-transform: none;
      -moz-transform: none;
      -ms-transform: none;
      -o-transform: none;
      transform: none; }
      form .form-item .add-to-mailing-list input[type='checkbox']:checked + .wpcf7-list-item-label::before,
      form .mc-field-group .add-to-mailing-list input[type='checkbox']:checked + .wpcf7-list-item-label::before {
        width: 24px;
        content: '\2713';
        color: #b8b8cd; }
  form .wpcf7-response-output {
    border: none;
    margin: 0 0 40px;
    padding: 0; }
  form .ajax-loader {
    background: transparent !important;
    width: auto !important;
    height: 0 !important; }
    form .ajax-loader.is-active {
      margin: 0 0 40px;
      height: auto !important; }
    form .ajax-loader:after {
      content: 'Please wait...';
      line-height: 3rem; }
  form span.wpcf7-form-control-wrap {
    position: relative;
    display: block; }
  form span.wpcf7-not-valid-tip {
    height: 0;
    margin-top: -1px;
    position: absolute;
    width: 100%;
    border-top: 1px solid red;
    color: #2d3338;
    font-weight: 500;
    line-height: 39px;
    line-height: 2.4375rem; }
  form div.mce_inline_error {
    background-color: transparent !important;
    position: absolute;
    top: 100%;
    width: 100%;
    display: block; }
  form .form-actions .submit,
  form .form-actions .custom-upload {
    overflow: hidden;
    display: inline;
    position: relative;
    margin-right: 10px; }
    form .form-actions .submit .ajax-loader,
    form .form-actions .custom-upload .ajax-loader {
      display: none; }
    form .form-actions .submit:after,
    form .form-actions .custom-upload:after {
      content: '';
      display: block;
      position: absolute;
      height: 2px;
      width: calc(100% - 90px);
      left: 45px;
      bottom: -8px;
      background-color: #181a1f;
      -webkit-transition: background-color 0.25s;
      -moz-transition: background-color 0.25s;
      -ms-transition: background-color 0.25s;
      -o-transition: background-color 0.25s;
      transition: background-color 0.25s; }
    form .form-actions .submit:hover input,
    form .form-actions .submit:hover label,
    form .form-actions .custom-upload:hover input,
    form .form-actions .custom-upload:hover label {
      color: #efefff; }
    form .form-actions .submit input,
    form .form-actions .submit label,
    form .form-actions .custom-upload input,
    form .form-actions .custom-upload label {
      background-color: transparent;
      margin-top: 40px;
      padding: 15px 45px 15px;
      width: auto;
      display: inline-block;
      line-height: 37px;
      line-height: 2.3125rem;
      font-size: 22px;
      font-size: 1.375rem;
      -webkit-transition: color 0.25s;
      -moz-transition: color 0.25s;
      -ms-transition: color 0.25s;
      -o-transition: color 0.25s;
      transition: color 0.25s;
      cursor: pointer; }
      form .form-actions .submit input[type='file'],
      form .form-actions .submit label[type='file'],
      form .form-actions .custom-upload input[type='file'],
      form .form-actions .custom-upload label[type='file'] {
        display: none; }
  form .form-actions .submit input {
    color: #b8b8cd;
    font-weight: 500;
    border: 1px solid #b8b8cd; }
  form .form-actions .custom-upload:after {
    background-color: #f7f9fc !important; }

.wpcf7 .screen-reader-response,
.newsletter-sign-up-full .screen-reader-response {
  text-indent: -99999px;
  height: 0px;
  width: 0px; }

.wpcf7 form,
.newsletter-sign-up-full form {
  width: 100%;
  margin-right: 2.5%; }
  .wpcf7 form:last-child,
  .newsletter-sign-up-full form:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 1024px) {
    .wpcf7 form,
    .newsletter-sign-up-full form {
      width: 65.83333%;
      margin-right: 2.5%;
      margin-left: 17.08333%; }
      .wpcf7 form:last-child,
      .newsletter-sign-up-full form:last-child {
        margin-right: 0; } }

.password-form__container {
  padding-top: 150px;
  margin-bottom: 8%; }
  .password-form__container .post-password-form {
    color: #2d3338;
    position: relative; }
    @media only screen and (min-width: 640px) {
      .password-form__container .post-password-form {
        width: 60%; } }
    @media only screen and (min-width: 1024px) {
      .password-form__container .post-password-form {
        width: 50%;
        max-width: 545px; } }
    .password-form__container .post-password-form .form-item.text {
      margin: 0; }
    .password-form__container .post-password-form .form-item input {
      color: #2d3338; }
      @media (max-width: 639px) {
        .password-form__container .post-password-form .form-item input {
          min-height: 30px;
          line-height: 30px; } }
      .password-form__container .post-password-form .form-item input::placeholder {
        color: #2d3338; }
    .password-form__container .post-password-form .form-actions {
      position: absolute;
      right: 0;
      top: 0;
      z-index: 2; }
      .password-form__container .post-password-form .form-actions .submit {
        margin-right: 0;
        height: 28px;
        width: 28px;
        position: relative;
        display: block;
        overflow: visible; }
        @media only screen and (min-width: 640px) {
          .password-form__container .post-password-form .form-actions .submit {
            height: 43px;
            width: 43px; } }
        .password-form__container .post-password-form .form-actions .submit:hover:before {
          transform: translateX(8px); }
        .password-form__container .post-password-form .form-actions .submit input {
          margin-top: 0;
          padding: 0;
          border: none;
          height: 100%;
          width: 100%; }
        .password-form__container .post-password-form .form-actions .submit:before {
          line-height: 30px;
          z-index: -1;
          -webkit-transition: 0.2s ease-out;
          -moz-transition: 0.2s ease-out;
          -ms-transition: 0.2s ease-out;
          -o-transition: 0.2s ease-out;
          transition: 0.2s ease-out; }
          @media only screen and (min-width: 640px) {
            .password-form__container .post-password-form .form-actions .submit:before {
              line-height: 45px; } }

.password-form__text {
  margin-bottom: 1.5rem; }
  @media only screen and (min-width: 640px) {
    .password-form__text {
      width: 80%; } }
  @media only screen and (min-width: 1024px) {
    .password-form__text {
      width: 70%;
      max-width: 765px; } }

.labs-single__wrapper {
  margin-bottom: 50px; }
  @media only screen and (min-width: 640px) {
    .labs-single__wrapper {
      margin-bottom: 80px; } }
  @media only screen and (min-width: 1024px) {
    .labs-single__wrapper {
      margin-bottom: 120px; } }

.labs-single__other {
  margin-top: 80px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 640px) {
    .labs-single__other {
      margin-top: 100px;
      margin-bottom: 80px; } }
  @media only screen and (min-width: 1024px) {
    .labs-single__other {
      margin-top: 150px;
      margin-bottom: 120px; } }

.labs-content__assets, .labs-content__heading {
  max-width: 100%;
  margin: 0 auto;
  width: 65vh; }

.labs-content__content {
  width: 100%;
  max-width: 600px;
  margin: 36px auto 0; }

.labs-content__heading {
  display: block;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  margin-bottom: 15px;
  font-size: 18px;
  font-size: 1.125rem; }

.labs-modal-link {
  display: block;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  width: 100%;
  text-align: left;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif; }
  .labs-modal-link:hover {
    cursor: pointer; }
  .labs-modal-link video,
  .labs-modal-link img {
    pointer-events: none; }

/* Pop Up */
.pop-up {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(24, 26, 31, 0.95);
  overflow-y: auto;
  z-index: 2000;
  opacity: 0;
  transition: opacity 0.5s linear;
  overflow-x: hidden;
  display: none; }
  .pop-up-is-open .pop-up {
    opacity: 1;
    transition-delay: 0s; }
  .pop-up * {
    overflow: visible; }
  .pop-up .image-wrapper {
    overflow: hidden; }
  .pop-up .container {
    position: relative;
    height: 100vh; }
  .pop-up .pop-up-inner {
    padding: 50px 0;
    transform: translate3d(-50%, calc(-50% + 40px), 0);
    opacity: 0;
    transition: opacity 1s, transform 0.75s;
    position: absolute;
    top: 50%;
    left: 50%;
    max-height: 100vh;
    width: 100%; }
    .pop-up-is-loaded .pop-up .pop-up-inner {
      opacity: 1;
      transform: translate3d(-50%, -50%, 0); }
  .pop-up__close {
    position: fixed;
    top: 15px;
    right: calc(8% - 5px);
    width: 44px;
    height: 44px;
    background-color: transparent;
    z-index: 9999; }
    @media only screen and (min-width: 640px) {
      .pop-up__close {
        top: 48px; } }
    .pop-up__close:hover {
      cursor: pointer; }
    .pop-up__close span {
      display: inline-block;
      text-indent: -9999px;
      position: relative; }
      .pop-up__close span:before, .pop-up__close span:after {
        content: '';
        display: block;
        width: 20px;
        height: 2px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -1px;
        margin-left: -10px;
        background: #b8b8cd; }
      .pop-up__close span:before {
        transform: rotate(45deg); }
      .pop-up__close span:after {
        transform: rotate(-45deg); }
  .pop-up video,
  .pop-up img {
    backface-visibility: hidden; }

.service-hero {
  margin-bottom: 120px; }
  @media only screen and (min-width: 640px) {
    .service-hero {
      margin-bottom: 16%; } }

.service-group {
  width: 100%;
  padding-bottom: 60px; }
  @media only screen and (min-width: 640px) {
    .service-group {
      width: 48.75%;
      margin-right: 2.5%;
      margin-right: 0;
      padding-right: 2.5%; }
      .service-group:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .service-group {
      width: 31.66667%;
      margin-right: 2.5%;
      margin-right: 0;
      padding-right: 2.5%; }
      .service-group:last-child {
        margin-right: 0; } }

.service-child {
  color: #2d3338; }

.service-heading {
  margin-bottom: 3rem; }
  @media only screen and (min-width: 640px) {
    .service-heading {
      width: 57.29167%;
      margin-right: 2.5%; }
      .service-heading:last-child {
        margin-right: 0; } }

.service-half-width {
  width: 100%;
  margin-right: 2.5%; }
  .service-half-width:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    .service-half-width {
      margin-left: 8.54167%;
      width: 74.375%;
      margin-right: 2.5%; }
      .service-half-width:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1300px) {
    .service-half-width {
      width: 57.29167%;
      margin-right: 2.5%; }
      .service-half-width:last-child {
        margin-right: 0; } }

.service-page-modules .page-module {
  margin: 80px auto 0; }
  .service-page-modules .page-module.single-mod {
    margin: 120px auto 0; }
    @media only screen and (min-width: 640px) {
      .service-page-modules .page-module.single-mod {
        margin: 16% auto 0; } }
  .service-page-modules .page-module:first-of-type {
    margin-top: 0; }
  .service-page-modules .page-module + .background-color {
    margin-top: 60px; }
    @media only screen and (min-width: 640px) {
      .service-page-modules .page-module + .background-color {
        margin-top: 8%; } }
  .service-page-modules .page-module.background-color + .single-mod {
    margin: 60px auto; }
    @media only screen and (min-width: 640px) {
      .service-page-modules .page-module.background-color + .single-mod {
        margin: 8% auto; } }
  .service-page-modules .page-module:last-child {
    margin-bottom: 60px; }
    @media only screen and (min-width: 640px) {
      .service-page-modules .page-module:last-child {
        margin-bottom: 8%; } }
    .service-page-modules .page-module:last-child.background-color {
      margin-bottom: 0; }

.service-module {
  margin: 60px auto; }
  .service-module.background-color {
    padding: 120px 0;
    margin: 60px 0 0; }
    @media only screen and (min-width: 640px) {
      .service-module.background-color {
        margin: 8% 0 0;
        padding: 10% 0; } }
  @media only screen and (min-width: 640px) {
    .service-module {
      margin: 8% auto; } }
  .service-module__inner {
    width: 100%;
    margin-right: 2.5%; }
    .service-module__inner:last-child {
      margin-right: 0; }
    @media only screen and (min-width: 640px) {
      .service-module__inner {
        margin-left: 8.54167%;
        width: 82.91667%;
        margin-right: 2.5%; }
        .service-module__inner:last-child {
          margin-right: 0; } }

.service-results .results-desc {
  margin-bottom: 5rem; }
  @media only screen and (min-width: 640px) {
    .service-results .results-desc {
      width: 57.29167%;
      margin-right: 2.5%; }
      .service-results .results-desc:last-child {
        margin-right: 0; } }

.service-results .stat-grid {
  margin-left: calc(-3% - 7px);
  width: 110%;
  margin-top: 5rem;
  margin-bottom: 5rem; }
  .service-results .stat-grid .flex-row, .service-results .stat-grid .wpcf7,
  .service-results .stat-grid .newsletter-sign-up-full {
    justify-content: space-between; }
  .service-results .stat-grid .grid-item {
    padding: 4% 3%;
    max-width: 220px; }
    @supports (-ms-ime-align: auto) {
      .service-results .stat-grid .grid-item {
        padding: 10px 5%; } }
    @supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {
      .service-results .stat-grid .grid-item {
        padding: 10px 5%; } }

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .service-results .stat-grid .grid-item {
    width: 31.66667%;
    margin-right: 2.5%; }
    .service-results .stat-grid .grid-item:last-child {
      margin-right: 0; }
    .service-results .stat-grid .grid-item:nth-child(3n) {
      margin-right: 0; } }
    @media (max-width: 639px) {
      .service-results .stat-grid .grid-item {
        width: 48.75%;
        margin-right: 2.5%; }
        .service-results .stat-grid .grid-item:last-child {
          margin-right: 0; }
        .service-results .stat-grid .grid-item:nth-child(2n) {
          margin-right: 0; } }

.service-results .stat-text {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 38px;
  line-height: 2.375rem;
  color: #2d3338; }

.service-results .stat-desc {
  margin-top: 1rem; }

.service-faq .flex-row, .service-faq .wpcf7,
.service-faq .newsletter-sign-up-full {
  justify-content: space-between; }

.service-faq__item {
  margin-bottom: 5rem;
  margin-right: 0;
  padding-right: 2.5%;
  width: 100%;
  margin-right: 2.5%; }
  .service-faq__item:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    .service-faq__item {
      width: 48.75%;
      margin-right: 2.5%;
      margin-right: 0; }
      .service-faq__item:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1300px) {
    .service-faq__item {
      width: 40.20833%;
      margin-right: 2.5%;
      margin-right: 0; }
      .service-faq__item:last-child {
        margin-right: 0; } }

.service-faq__question {
  margin-bottom: 1rem;
  color: #2d3338; }

.service-faq__answer {
  font-size: 16px;
  font-size: 1rem;
  color: #b8b8cd;
  line-height: 1.4; }

.service-list .page-module__list {
  align-items: space-between; }

.service-list__item {
  width: 100%;
  margin-right: 2.5%; }
  .service-list__item:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 640px) {
    .service-list__item {
      width: 48.75%;
      margin-right: 2.5%;
      margin-right: 0;
      padding-right: 2.5%; }
      .service-list__item:last-child {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .service-list__item {
      width: 31.66667%;
      margin-right: 2.5%;
      margin-right: 0; }
      .service-list__item:last-child {
        margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .service-cta-link {
    margin-left: 8.54167%; } }

.service-cta-link p {
  margin-bottom: 0.5rem; }

.services-cta-link {
  margin-bottom: 0.5rem; }

.services-cta-links {
  padding-top: 100px;
  padding-bottom: 150px; }
  @media only screen and (min-width: 640px) {
    .services-cta-links {
      padding-top: 150px; } }
  .services-cta-links .services-link {
    color: #b8b8cd; }

.all-services {
  padding-top: 100px;
  margin-left: 8.54167%; }
  .all-services-heading {
    font-size: 11px;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
    color: #2d3338;
    line-height: 1.4;
    padding-top: 4px;
    position: relative;
    margin-bottom: 4rem; }
    .all-services-heading:before {
      height: 1px;
      width: 100%;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      background: #2d3338; }
  .all-services .h3, .all-services .body-text h3, .body-text .all-services h3 {
    position: relative;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
    text-transform: capitalize; }
    .all-services .h3:after, .all-services .body-text h3:after, .body-text .all-services h3:after {
      height: 3px;
      width: 25px;
      content: '';
      position: absolute;
      bottom: 0;
      left: 0; }

article[page-color='dark'] .all-services .h1,
article[page-color='dark'] .all-services .h2,
article[page-color='dark'] .all-services p,
article[page-color='dark'] .cta-links .h1,
article[page-color='dark'] .cta-links .h2,
article[page-color='dark'] .cta-links p {
  color: #2d3338;
  text-transform: capitalize; }

article[page-color='dark'] .service-results p {
  color: #2d3338; }

article[page-color='dark'] .cta-links a {
  color: #1638e2; }

.keyboard-user .skip-content:focus {
  border: inherit;
  clip: auto;
  clip-path: none;
  height: auto;
  margin: inherit;
  overflow: auto;
  padding: inherit;
  position: static !important;
  width: auto;
  word-wrap: normal !important;
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #1638e2;
  color: #b8b8cd;
  padding: 10px 20px;
  font-size: 15px;
  outline: none; }

.keyboard-user a:focus,
.keyboard-user button:focus,
.keyboard-user .flickity.carousel:focus {
  outline-color: #1638e2;
  outline-style: auto;
  outline-width: 5px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3N0eWxlcy5zY3NzIiwidXRpbHMvX3BhcnRzYW5kbGFib3Itb3ZlcndyaXRlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnRzYW5kbGFib3IvcGFydHNhbmRsYWJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnRzYW5kbGFib3IvbGliL3BhcnRzL2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJ0c2FuZGxhYm9yL2xpYi9wYXJ0cy9fdmFyc19fcGFydHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJ0c2FuZGxhYm9yL2xpYi9wYXJ0cy9fZnVuY3Rpb25zX19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGFydHNhbmRsYWJvci9saWIvcGFydHMvX21peGluc19fZ3JpZC1zY2FmZm9sZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnRzYW5kbGFib3IvbGliL3BhcnRzL19taXhpbnNfX2dyaWQtc3RhbmRhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJ0c2FuZGxhYm9yL2xpYi9wYXJ0cy9fbWl4aW5zX19ncmlkLWZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJ0c2FuZGxhYm9yL2xpYi9sYWJvci9iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGFydHNhbmRsYWJvci9saWIvbGFib3IvX3ZhcnNfX2xhYm9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGFydHNhbmRsYWJvci9saWIvbGFib3IvX2Z1bmN0aW9uc19fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGFydHNhbmRsYWJvci9saWIvbGFib3IvX21peGluc19fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGFydHNhbmRsYWJvci9saWIvbGFib3IvX21peGluc19fYmxvY2stZWxlbWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJ0c2FuZGxhYm9yL2xpYi9sYWJvci9fbWl4aW5zX19pbmxpbmUtZWxlbWVudHMuc2NzcyIsInV0aWxzL192YXJpYWJsZXMuc2NzcyIsInV0aWxzL19taXhpbnMuc2NzcyIsInBhcnRpYWxzL19hbmltYXRpb25zLnNjc3MiLCJwYXJ0aWFscy9fYmFzZS5zY3NzIiwicGFydGlhbHMvX2dyaWQuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQuc2NzcyIsInBhcnRpYWxzL19zbGlkZXJzLnNjc3MiLCJwYXJ0aWFscy9fcGFnZS5zY3NzIiwicGFydGlhbHMvX3BhZ2UtaGVhZGluZy5zY3NzIiwicGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJwYXJ0aWFscy9fbWVkaWEuc2NzcyIsInBhcnRpYWxzL191dGlsaXR5LnNjc3MiLCJwYXJ0aWFscy9fZGlzcGxheW1vZGVzLnNjc3MiLCJwYXJ0aWFscy9fc2luZ2xlcG9zdHMuc2NzcyIsInBhcnRpYWxzL19wcm9qZWN0LWJvZHkuc2NzcyIsInBhcnRpYWxzL19wcm9qZWN0LW1vZHMuc2NzcyIsInBhcnRpYWxzL19mb3Jtcy5zY3NzIiwicGFydGlhbHMvX2xhYnMuc2NzcyIsInBhcnRpYWxzL19zZXJ2aWNlcy5zY3NzIiwicGFydGlhbHMvX3V0aWxpdHktZm9jdXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQmx1ZWNhZGV0LmNvbSAtIFdlYnNpdGUgUmVkZXNpZ25cbiAqIEBEZXNjcmlwdGlvbiAtIE1haW4gQ1NTIGZpbGVcbiAqIEBhdXRob3IgUHV0cmEgUm9ldW5nXG4gKiBAY29weXJpZ2h0IDIwMTQgQmx1ZWNhZGV0LCBpbmZvQGJsdWVjYWRldC5jb21cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJE1RczogdHJ1ZTtcblxuQGltcG9ydCAnc3R5bGVzJztcbiIsIkBpbXBvcnQgJ3V0aWxzL19wYXJ0c2FuZGxhYm9yLW92ZXJ3cml0ZXMnO1xuQGltcG9ydCAncGFydHNhbmRsYWJvci9wYXJ0c2FuZGxhYm9yJztcbkBpbXBvcnQgJ3V0aWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9taXhpbnMnO1xuXG4vL1BhcnRpYWxzXG5AaW1wb3J0ICdwYXJ0aWFscy9hbmltYXRpb25zJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2Jhc2UnO1xuQGltcG9ydCAncGFydGlhbHMvZ3JpZCc7XG5AaW1wb3J0ICdwYXJ0aWFscy9oZWFkZXInO1xuQGltcG9ydCAncGFydGlhbHMvZm9vdGVyJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dCc7XG5AaW1wb3J0ICdwYXJ0aWFscy9zbGlkZXJzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3BhZ2UnO1xuQGltcG9ydCAncGFydGlhbHMvcGFnZS1oZWFkaW5nJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2ZvbnRzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL21lZGlhJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3V0aWxpdHknO1xuQGltcG9ydCAncGFydGlhbHMvZGlzcGxheW1vZGVzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3NpbmdsZXBvc3RzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3Byb2plY3QtYm9keSc7XG5AaW1wb3J0ICdwYXJ0aWFscy9wcm9qZWN0LW1vZHMnO1xuQGltcG9ydCAncGFydGlhbHMvZm9ybXMnO1xuQGltcG9ydCAncGFydGlhbHMvbGFicyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9zZXJ2aWNlcyc7XG5AaW1wb3J0ICdwYXJ0aWFscy91dGlsaXR5LWZvY3VzJztcbiIsIiR0YXJnZXQtd2lkdGg6IDEyMDBweDtcbiR0YXJnZXQtZ3V0dGVyOiAzMHB4O1xuIiwiQGltcG9ydCAnbGliL3BhcnRzL2Jhc2UnO1xuQGltcG9ydCAnbGliL2xhYm9yL2Jhc2UnO1xuIiwiLy8gUEFSVFNcbi8vIC0tLS0tXG5cbkBpbXBvcnQgJ3ZhcnNfX3BhcnRzJztcblxuLy8gR3JpZCBQYXJ0c1xuQGltcG9ydCAnZnVuY3Rpb25zX19ncmlkJztcbkBpbXBvcnQgJ21peGluc19fZ3JpZC1zY2FmZm9sZGluZyc7XG5AaW1wb3J0ICdtaXhpbnNfX2dyaWQtc3RhbmRhcmQnO1xuQGltcG9ydCAnbWl4aW5zX19ncmlkLWZsZXgnO1xuXG4iLCIvLyBHcmlkIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT1cblxuLy8vIFRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIGdyaWRcbi8vLyBAdHlwZSBJbnRlZ2VyXG4vLy8gQGdyb3VwIHBhcnRzXG4kdG90YWwtY29sczogICAgMTIgIWRlZmF1bHQ7XG5cbi8vLyBUYXJnZXQgd2lkdGggb2YgZ3JpZC4gV2hlbiB0aGUgZ3JpZCBpcyBhdCB0aGlzIHdpZHRoLFxuLy8vIHRoZSBndXR0ZXIgdmFsdWUgc2hvdWxkIG1hdGNoIHRoZSAkdGFyZ2V0LWd1dHRlciB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBncm91cCBwYXJ0c1xuJHRhcmdldC13aWR0aDogIDEyMDBweCAhZGVmYXVsdDtcblxuLy8vIFRhcmdldCBndXR0ZXIgd2lkdGggdGhlIGdyaWQuIFdoZW4gdGhlIGdyaWQgaXMgYXQgdGhlIHdpZHRoXG4vLy8gb2YgJHRhcmdldC13aWR0aCwgdGhlIGd1dHRlciB2YWx1ZXMgd2lsbCBtYXRjaCB0aGlzIHZhcmlhYmxlLlxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBncm91cCBwYXJ0c1xuJHRhcmdldC1ndXR0ZXI6IDIwcHggIWRlZmF1bHQ7XG5cblxuLy8vIERlZmF1bHQgR3JpZCBWYXJpYWJsZVxuLy8vIERlZmF1bHQgdmFsdWVzIG9mIHRoZSBncmlkIG1hcCBvYmplY3QuIFlvdSBjYW4gbWF0Y2ggdGhpc1xuLy8vIHRvIGNyZWF0ZSBhIGN1c3RvbSBncmlkIHRvIGJlIHVzZWQgd2l0aGluIGBncmlkLWNvbCgpYFxuLy8vIEB0eXBlIE1hcFxuLy8vIEBncm91cCBQYXJ0c1xuLy8vIEBzaW5jZSAxLjQuMFxuJGRlZmF1bHQtZ3JpZDogKFxuICBjb2xzOiAgICR0b3RhbC1jb2xzLFxuICB3aWR0aDogICR0YXJnZXQtd2lkdGgsXG4gIGd1dHRlcjogJHRhcmdldC1ndXR0ZXJcbik7XG5cbi8vLyBObyBNYXJnaW4gR3JpZCBWYXJpYWJsZVxuLy8vIE9wdGlvbmFsIEdyaWQgdmFyaWFibGUgdG8gY3JlYXRlIGEgZ3JpZCB3aXRob3V0IGd1dHRlcnMuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGdyb3VwIFBhcnRzXG4vLy8gQHNpbmNlIDEuNC4wXG4kbm8tbWFyZ2luLWdyaWQ6IChcbiAgY29sczogICAkdG90YWwtY29scyxcbiAgd2lkdGg6ICAkdGFyZ2V0LXdpZHRoLFxuICBndXR0ZXI6IDBcbik7XG5cbi8vIEJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PVxuXG4vLy8gRGVmYXVsdCBCcmVha3BvaW50c1xuLy8vIEBncm91cCBwYXJ0c1xuJHhzbWFsbDogNDgwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50XG4vLy8gQGdyb3VwIHBhcnRzXG4kc21hbGw6ICA3NjBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnRcbi8vLyBAZ3JvdXAgcGFydHNcbiRtZWRpdW06IDEwMjRweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnRcbi8vLyBAZ3JvdXAgcGFydHNcbiRsYXJnZTogIDEyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnRcbi8vLyBAZ3JvdXAgcGFydHNcbiR4bGFyZ2U6IDE1MDBweCAhZGVmYXVsdDtcblxuXG4vLy8gRGVmYXVsdCBCcmVha3BvaW50IEF0dHJpYnV0ZVxuLy8vIEBncm91cCBwYXJ0c1xuJGRlZmF1bHQtYnJlYWtwb2ludC1hdHRyOiBtaW4td2lkdGg7XG5cblxuXG4vLy8gTWF4IFdpZHRoIEJyZWFrcG9pbnQgLSBmb3IgdXNlIHdpdGggYnJlYWsoKSBtaXhpblxuLy8vIEBncm91cCBwYXJ0c1xuJHhzbWFsbC1tYXg6IChtYXgtd2lkdGg6ICR4c21hbGwpICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIEJyZWFrcG9pbnQgLSBmb3IgdXNlIHdpdGggYnJlYWsoKSBtaXhpblxuLy8vIEBncm91cCBwYXJ0c1xuJHNtYWxsLW1heDogIChtYXgtd2lkdGg6ICRzbWFsbCkgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggQnJlYWtwb2ludCAtIGZvciB1c2Ugd2l0aCBicmVhaygpIG1peGluXG4vLy8gQGdyb3VwIHBhcnRzXG4kbWVkaXVtLW1heDogKG1heC13aWR0aDogJG1lZGl1bSkgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggQnJlYWtwb2ludCAtIGZvciB1c2Ugd2l0aCBicmVhaygpIG1peGluXG4vLy8gQGdyb3VwIHBhcnRzXG4kbGFyZ2UtbWF4OiAgKG1heC13aWR0aDogJGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCBCcmVha3BvaW50IC0gZm9yIHVzZSB3aXRoIGJyZWFrKCkgbWl4aW5cbi8vLyBAZ3JvdXAgcGFydHNcbiR4bGFyZ2UtbWF4OiAobWF4LXdpZHRoOiAkeGxhcmdlKSAhZGVmYXVsdDtcblxuXG4vLy8gRXh0cmEgdmFsdWUgdG8gcGFkIG91dCBicmVha3BvaW50c1xuLy8vIEB0eXBlIFN0cmluZyAocGl4ZWwgdmFsKVxuLy8vIEBncm91cCBwYXJ0c1xuJGRlZmF1bHQtYnJlYWtwb2ludC1vZmZzZXQ6ICR0YXJnZXQtZ3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gRXh0cmEgdmFsdWUgdG8gcGFkIG91dCB4c21hbGwgYnJlYWtwb2ludFxuLy8vIEB0eXBlIFN0cmluZyAocGl4ZWwgdmFsKVxuLy8vIEBncm91cCBwYXJ0c1xuJGJyZWFrcG9pbnQtb2Zmc2V0LXhzbWFsbDogJGRlZmF1bHQtYnJlYWtwb2ludC1vZmZzZXQgIWRlZmF1bHQ7XG5cbi8vLyBFeHRyYSB2YWx1ZSB0byBwYWQgb3V0IHNtYWxsIGJyZWFrcG9pbnRcbi8vLyBAdHlwZSBTdHJpbmcgKHBpeGVsIHZhbClcbi8vLyBAZ3JvdXAgcGFydHNcbiRicmVha3BvaW50LW9mZnNldC1zbWFsbDogJGRlZmF1bHQtYnJlYWtwb2ludC1vZmZzZXQgIWRlZmF1bHQ7XG5cbi8vLyBFeHRyYSB2YWx1ZSB0byBwYWQgb3V0IG1lZGl1bSBicmVha3BvaW50XG4vLy8gQHR5cGUgU3RyaW5nIChwaXhlbCB2YWwpXG4vLy8gQGdyb3VwIHBhcnRzXG4kYnJlYWtwb2ludC1vZmZzZXQtbWVkaXVtOiAkZGVmYXVsdC1icmVha3BvaW50LW9mZnNldCAhZGVmYXVsdDtcblxuLy8vIEV4dHJhIHZhbHVlIHRvIHBhZCBvdXQgbGFyZ2UgYnJlYWtwb2ludFxuLy8vIEB0eXBlIFN0cmluZyAocGl4ZWwgdmFsKVxuLy8vIEBncm91cCBwYXJ0c1xuJGJyZWFrcG9pbnQtb2Zmc2V0LWxhcmdlOiAkZGVmYXVsdC1icmVha3BvaW50LW9mZnNldCAhZGVmYXVsdDtcblxuLy8vIEV4dHJhIHZhbHVlIHRvIHBhZCBvdXQgYnJlYWtwb2ludHNcbi8vLyBAdHlwZSBTdHJpbmcgKHBpeGVsIHZhbClcbi8vLyBAZ3JvdXAgcGFydHNcbiRicmVha3BvaW50LW9mZnNldC14bGFyZ2U6ICRkZWZhdWx0LWJyZWFrcG9pbnQtb2Zmc2V0ICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFrcG9pbnQgVmFsdWVzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLy8gV2lkdGggb2YgZmx1aWQgY29udGFpbmVyLCBwZXJjZW50YWdlXG4vLy8gQHR5cGUgU3RyaW5nIChwZXJjZW50YWdlKVxuLy8vIEBncm91cCBwYXJ0c1xuJGZsdWlkLWNvbnRhaW5lcjogICA5MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb250YWluZXIgd2lkdGggYXQgYnJlYWtwb2ludFxuLy8vIEB0eXBlIFN0cmluZyAocGl4ZWwgdmFsKVxuLy8vIEBncm91cCBwYXJ0c1xuJHhzbWFsbC1jb250YWluZXI6ICAkeHNtYWxsIC0gKCRicmVha3BvaW50LW9mZnNldC14c21hbGwgKiAyKSAhZGVmYXVsdDtcblxuLy8vIENvbnRhaW5lciB3aWR0aCBhdCBicmVha3BvaW50XG4vLy8gQHR5cGUgU3RyaW5nIChwaXhlbCB2YWwpXG4vLy8gQGdyb3VwIHBhcnRzXG4kc21hbGwtY29udGFpbmVyOiAgICRzbWFsbCAtICgkYnJlYWtwb2ludC1vZmZzZXQtc21hbGwgKiAyKSAhZGVmYXVsdDtcblxuLy8vIENvbnRhaW5lciB3aWR0aCBhdCBicmVha3BvaW50XG4vLy8gQHR5cGUgU3RyaW5nIChwaXhlbCB2YWwpXG4vLy8gQGdyb3VwIHBhcnRzXG4kbWVkaXVtLWNvbnRhaW5lcjogICRtZWRpdW0gLSAoJGJyZWFrcG9pbnQtb2Zmc2V0LW1lZGl1bSAqIDIpICFkZWZhdWx0O1xuXG4vLy8gQ29udGFpbmVyIHdpZHRoIGF0IGJyZWFrcG9pbnRcbi8vLyBAdHlwZSBTdHJpbmcgKHBpeGVsIHZhbClcbi8vLyBAZ3JvdXAgcGFydHNcbiRsYXJnZS1jb250YWluZXI6ICAgJGxhcmdlIC0gKCRicmVha3BvaW50LW9mZnNldC1sYXJnZSAqIDIpICFkZWZhdWx0O1xuXG4vLy8gQ29udGFpbmVyIHdpZHRoIGF0IGJyZWFrcG9pbnRcbi8vLyBAdHlwZSBTdHJpbmcgKHBpeGVsIHZhbClcbi8vLyBAZ3JvdXAgcGFydHNcbiR4bGFyZ2UtY29udGFpbmVyOiAgJHhsYXJnZSAtICgkYnJlYWtwb2ludC1vZmZzZXQteGxhcmdlICogMikgIWRlZmF1bHQ7XG5cblxuXG4vLyBBY3RpdmUgQnJlYWtwb2ludCBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBTYXNzIE1hcCBvZiBCcmVha3BvaW50cyBmb3IgYWRhcHRpdmUgY29udGFpbmVyLCBtYXBwZWQgYXMgYGJyZWFrcG9pbnQ6IGNvbnRhaW5lci1zaXplYFxuLy8vIElmIHlvdSB3YW50IHRvIHJlbW92ZSBhIHZhbHVlLCBzZXQgaXQncyAtY29udGFpbmVyIHZhbHVlIHRvIGBmYWxzZWAsIHN1Y2ggYXMgYCR4bGFyZ2UtY29udGFpbmVyOiBmYWxzZWBcbi8vL1xuLy8vIEBncm91cCBwYXJ0c1xuJGFjdGl2ZS1icmVha3BvaW50czogKFxuICAkeHNtYWxsOiAkeHNtYWxsLWNvbnRhaW5lcixcbiAgJHNtYWxsOiAgJHNtYWxsLWNvbnRhaW5lcixcbiAgJG1lZGl1bTogJG1lZGl1bS1jb250YWluZXIsXG4gICRsYXJnZTogICRsYXJnZS1jb250YWluZXIsXG4gICR4bGFyZ2U6ICR4bGFyZ2UtY29udGFpbmVyXG4pICFkZWZhdWx0O1xuIiwiLy8gR3JpZCBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09XG5cbi8vL1xuLy8vIENhbGN1bGF0ZSBndXR0ZXIgd2lkdGggYXMgYSBwZXJjZW50YWdlIGJhc2VkIG9uIHRhcmdldCB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRndXR0ZXItdmFsdWUgLSBXaWR0aCBvZiBndXR0ZXJcbi8vL1xuLy8vIEByZXR1cm4ge2ludGVnZXJ9IHZhbHVlIG9mIHBlcmNlbnRhZ2UgKCBhZGQgYCsgJWApXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIHBhcnRzXG4vLy9cbkBmdW5jdGlvbiBjYWxjLWd1dHRlci13aWR0aCgkZ3JpZCkge1xuICAkX2d1dHRlcjogbWFwLWdldCgkZ3JpZCwgZ3V0dGVyKTtcbiAgJF93aWR0aDogbWFwLWdldCgkZ3JpZCwgd2lkdGgpO1xuICAvLyBHZXQgdGFyZ2V0IGd1dHRlciBwZXJjZW50YWdlXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJF9ndXR0ZXIpIC8gc3RyaXAtdW5pdCgkX3dpZHRoKSkgKiAxMDA7XG59XG5cblxuLy8vXG4vLy8gQ2FsY3VsYXRlIHNpbmdsZSBjb2x1bW4gd2lkdGhcbi8vL1xuLy8vIEByZXR1cm4ge2ludGVnZXJ9IHZhbHVlIG9mIHBlcmNlbnRhZ2UgKCBhZGQgYCsgJWApXG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQGZ1bmN0aW9uIGNhbGMtc2luZ2xlLWNvbC13aWR0aCgkZ3JpZCkge1xuXG4gICRfZ3V0dGVyLXdpZHRoOiBjYWxjLWd1dHRlci13aWR0aCgkZ3JpZCk7XG4gICRfZ3V0dGVyLWFyZWE6ICAoJF9ndXR0ZXItd2lkdGggKiAobWFwLWdldCgkZ3JpZCwgY29scykgLSAxKSk7XG4gICRfcmVtYWluczogICAgICAoMTAwIC0gJF9ndXR0ZXItYXJlYSk7XG5cbiAgQHJldHVybiAoJF9yZW1haW5zIC8gbWFwLWdldCgkZ3JpZCwgY29scykpO1xuXG59XG5cblxuLy8vXG4vLy8gQ2FsY3VsYXRlIHRoZSB3aWR0aCBvZiBYIGNvbHVtbnNcbi8vL1xuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB0YWtlIHVwXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRndXR0ZXItdmFsdWUgLSBXaWR0aCBvZiBndXR0ZXJcbi8vL1xuLy8vIEByZXR1cm4ge2ludGVnZXJ9IHZhbHVlIG9mIHBlcmNlbnRhZ2UgKCBhZGQgYCsgJWApXG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQGZ1bmN0aW9uIGNhbGMtZ3JpZC1jb2wtd2lkdGgoJGNvbHVtbnMsICRncmlkLCAkaW5jbHVkZS1ndXR0ZXI6IGZhbHNlKSB7XG5cbiAgJF9ndXR0ZXItd2lkdGg6IGNhbGMtZ3V0dGVyLXdpZHRoKCRncmlkKTtcbiAgJF93aWR0aDogICAgICAgICgoY2FsYy1zaW5nbGUtY29sLXdpZHRoKCRncmlkKSAqICRjb2x1bW5zKSArICgkX2d1dHRlci13aWR0aCAqICgkY29sdW1ucyAtIDEpKSk7XG5cbiAgQGlmICRpbmNsdWRlLWd1dHRlciB7XG4gICAgJF93aWR0aDogJF93aWR0aCArICRfZ3V0dGVyLXdpZHRoO1xuICB9XG5cbiAgQHJldHVybiAkX3dpZHRoICogMSU7XG5cbn1cbiIsIi8vIE1lZGlhIEJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLy9cbi8vLyBDcmVhdGUgYSBuZXcgYnJlYWtwb2ludC4gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYnJlYWtwb2ludCB2YXJpYWJsZXMuXG4vLy9cbi8vLyBAcGFyYW0ge3ZhcmlvdXN9ICRzaXplICAtIEVpdGhlciBzdHJpbmcgKDkwMHB4KSBvciBtYXAgKG1pbi1oZWlnaHQ6IDkwMHB4KSwgb3IgZmFsc2Vcbi8vLyBAcGFyYW0ge3N0cmluZ30gICRtZWRpYSBbb25seSBzY3JlZW5dIC0gTWVkaWEgdHlwZVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSBkZWZhdWx0LWJyZWFrcG9pbnQtYXR0clxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGRpdiB7XG4vLy8gICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vL1xuLy8vICAgICAvLyBVc2UgYSBicmVha3BvaW50IHZhcmlhYmxlXG4vLy8gICAgIEBpbmNsdWRlIGJyZWFrKCRtZWRpdW0pIHtcbi8vLyAgICAgICBmb250LXNpemU6IDE2cHg7XG4vLy8gICAgIH1cbi8vL1xuLy8vICAgICAvLyBVc2UgYSBweCwgZW0sIG9yIHJlbSB2YWx1ZVxuLy8vICAgICBAaW5jbHVkZSBicmVhaygxMDI0cHgpIHtcbi8vLyAgICAgICBmb250LXNpemU6IDE2cHg7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vXG4vLy8gICBkaXYge1xuLy8vICAgICBmb250LXNpemU6IDE2cHg7XG4vLy9cbi8vLyAgICAgLy8gVXNlIGEgbWFwIHRvIGluY2x1ZGUgbXVsdGlwbGUgYnJlYWtwb2ludCBxdWVyaWVzXG4vLy8gICAgIEBpbmNsdWRlIGJyZWFrKChtaW4td2lkdGg6IDEwMjRweCwgbWluLWhlaWdodDogMTAzMXB4KSkge1xuLy8vICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbi8vLyAgICAgfVxuLy8vXG4vLy8gICAgIC8vIFNldCAkc2l6ZSB0byBmYWxzZSB0byBvbmx5IHF1ZXJ5IGJ5IG1lZGlhIHR5cGVcbi8vLyAgICAgQGluY2x1ZGUgYnJlYWsoZmFsc2UsIHByaW50KSB7XG4vLy8gICAgICAgZm9udC1zaXplOiAxMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZ3JvdXAgcGFydHNcbi8vLyBAc2luY2UgMS40LjBcbi8vL1xuLy8vXG5AbWl4aW4gYnJlYWsoJHNpemUsICRtZWRpYTogb25seSBzY3JlZW4pIHtcblxuICAkX3NldC1wb2ludDogJyc7XG5cbiAgQGlmICRzaXplIHtcbiAgICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ21hcCcgeyAvLyBleC4gKG1heC13aWR0aDogOTAwcHgsIG1heC1oZWlnaHQsIDcwMHB4KVxuXG4gICAgICBAZWFjaCAkYXR0ciwgJHZhbCBpbiAkc2l6ZSB7XG4gICAgICAgICRfc2V0LXBvaW50OiAkX3NldC1wb2ludCArICdhbmQgKCN7JGF0dHJ9OiAjeyR2YWx9KSc7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHsgLy8gQXNzdW1lIGl0J3MgYSB2YWx1ZSBmb3IgZGVmYXVsdCBicmVha1xuXG4gICAgICAkX3NldC1wb2ludDogJ2FuZCAoI3skZGVmYXVsdC1icmVha3BvaW50LWF0dHJ9OiAjeyRzaXplfSknO1xuXG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhfSAjeyRfc2V0LXBvaW50fSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhICN7JG1lZGlhfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gR3JpZCBXcmFwcGVyc1xuLy8gPT09PT09PT09PT09PVxuXG4vLy9cbi8vLyBDcmVhdGUgYSB3cmFwcGVyIGZvciBhIHJvdyBvZiBncmlkIGVsZW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgLnJvdyB7XG4vLy8gICAgIEBpbmNsdWRlIHJvdztcbi8vLyAgIH1cbi8vL1xuLy8vIEBncm91cCBwYXJ0c1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vXG5AbWl4aW4gcm93IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLy9cbi8vLyBDcmVhdGUgYSB3cmFwcGVyIGZvciBhIHJvdyBvZiBmbGV4Ym94IGdyaWQgZWxlbWVudHNcbi8vL1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAgJGFsaWduICAgW2ZhbHNlXSAtIFZhbHVlIGZvciBhbGlnbi1pdGVtc1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAgJGp1c3RpZnkgW3N0YXJ0XSAtIFZhbHVlIGZvciBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICAgICRyZXZlcnNlIFtmYWxzZV0gLSBSZXZlcnNlIHRoZSBmbGV4Ym94IGNvbnRlbnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICAgICR3cmFwIFt0cnVlXSAtIFNob3VsZCB0aGUgY29udGVudHMgd3JhcFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5mbG93LXJvdyB7XG4vLy8gICAgIEBpbmNsdWRlIGZsZXgtcm93O1xuLy8vICAgfVxuLy8vXG4vLy8gQGdyb3VwIHBhcnRzXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy9cbkBtaXhpbiBmbGV4LXJvdygkYWxpZ246IGZhbHNlLCAkanVzdGlmeTogc3RhcnQsICRyZXZlcnNlOiBmYWxzZSwgJHdyYXA6IHRydWUpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGlmICRhbGlnbiAhPSBmYWxzZSB7XG4gICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgfVxuXG4gIEBpZiAkcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgQGlmICR3cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxufVxuXG5cbi8vL1xuLy8vIFNob3J0Y3V0IG1peGluIHRvIGNyZWF0ZSBhIHdyYXBwZXIgZm9yIGEgcm93IG9mIGZsZXhib3ggZ3JpZFxuLy8vIGVsZW1lbnRzIGZvciBjb2x1bW5zIHRoYXQgdXNlIHRoZSBgZmxleC1ncmlkLWNvbC1hdXRvYCBtaXhpblxuLy8vIHRvIGRldGVybWluZSBjb2x1bW4gd2lkdGguIFRoaXMgc2ltcGx5IGNhbGxzIGBmbGV4LWdyaWQtY29sYFxuLy8vIGJ1dCB3aXRoIGBqdXN0aWZ5YCBzZXQgdG8gYHNwYWNlLWJld3RlZW5gIGJ5IGRlZmF1bHQuXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gICRhbGlnbiAgIFtmYWxzZV0gLSBWYWx1ZSBmb3IgYWxpZ24taXRlbXNcbi8vLyBAcGFyYW0ge3N0cmluZ30gICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFZhbHVlIGZvciBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICAgICRyZXZlcnNlIFtmYWxzZV0gLSBSZXZlcnNlIHRoZSBmbGV4Ym94IGNvbnRlbnRcbi8vLyBAcGFyYW0ge2Jvb2x9ICAgICR3cmFwIFt0cnVlXSAtIFNob3VsZCB0aGUgY29udGVudHMgd3JhcFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5mbG93LXJvdy1hdXRvIHtcbi8vLyAgICAgQGluY2x1ZGUgZmxleC1yb3ctYXV0bztcbi8vL1xuLy8vICAgICAuZmxvdy1jb2wtMTAge1xuLy8vICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2wtYXV0bygxMCk7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBncm91cCBwYXJ0c1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vXG5AbWl4aW4gZmxleC1yb3ctYXV0bygkYWxpZ246IGZhbHNlLCAkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJHJldmVyc2U6IGZhbHNlLCAkd3JhcDogdHJ1ZSkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygkYWxpZ24sICRqdXN0aWZ5LCAkcmV2ZXJzZSwgJHdyYXApO1xuXG59XG5cbi8vL1xuLy8vIENyZWF0ZSBhIGNvbnRhaW5lciBmb3IgY29udGVudC4gSWYgeW91IHdpc2ggbm90IHRvIHVzZSBhIGJyZWFrcG9pbnQsXG4vLy8gc2V0IHRoYXQgYnJlYWtwb2ludCB2YXJpYWJsZSB0byBmYWxzZS4gWW91IGNhbiBhbHNvIHBhc3MgYSBjdXN0b21cbi8vLyBtYXAgd2l0aCBzcGVjaWZpYyBjdXN0b20gYnJlYWtwb2ludHMsIGp1c3QgbWF0Y2ggdGhlIG1hcHBpbmcgb2Zcbi8vLyB0aGUgZGVmYXVsdCwgYCRhY3RpdmUtYnJlYWtwb2ludHNgXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJHdpZHRoIFskZmx1aWQtY29udGFpbmVyXSAtIFdpZHRoIG9mIHRoZSBjb250YWluZXJcbi8vLyBAcGFyYW0ge2Jvb2x9ICRmbHVpZCBbdHJ1ZV0gLSBXaGV0aGVyIHRoZSBjb250YWluZXIgc2hvdWxkIGFsd2F5c1xuLy8vIGJlIGZsdWlkIG9yIGJlIGFkYXB0aXZlLiBJZiBmYWxzZSwgbWF4LXdpZHRocyB3aWxsIGJlIHNldCBhY2NvcmRpbmdcbi8vLyB0byBgJGFjdGl2ZS1icmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGZsdWlkLXVudGlsIFtmYWxzZV0gLSBBbGxvd3MgdGhlIGNvbnRhaW5lciB0byBiZVxuLy8vIGZsdWlkIHVudGlsIGEgcG9pbnRcbi8vLyBAcGFyYW0ge21hcH0gJGJyZWFrcG9pbnRzIFskYWN0aXZlLWJyZWFrcG9pbnRzXSAtIEEgc2FzcyBtYXAgb2Zcbi8vLyBicmVha3BvaW50cyBhbmQgdGhlaXIgbWF4LXdpZHRocy4gU2VlIGAkYWN0aXZlLWJyZWFrcG9pbnRzYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5jb250YWluZXItZmx1aWQge1xuLy8vICAgICBAaW5jbHVkZSBiYXNlLWNvbnRhaW5lcig5MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuY29udGFpbmVyLWFkYXB0aXZlIHtcbi8vLyAgICAgQGluY2x1ZGUgYmFzZS1jb250YWluZXIoOTAlLCBmYWxzZSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5jb250YWluZXItZmx1aWQtdW50aWwtbWVkaXVtIHtcbi8vLyAgICAgQGluY2x1ZGUgYmFzZS1jb250YWluZXIoOTAlLCBmYWxzZSwgJHNtYWxsKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBncm91cCBwYXJ0c1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vXG5AbWl4aW4gYmFzZS1jb250YWluZXIoJHdpZHRoOiAkZmx1aWQtY29udGFpbmVyLCAkZmx1aWQ6IHRydWUsICRmbHVpZC11bnRpbDogZmFsc2UsICRicmVha3BvaW50czogJGFjdGl2ZS1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6ICR3aWR0aDtcblxuICBAaWYgJGZsdWlkID09IGZhbHNlIHtcbiAgICBAZWFjaCAkYnAsICRicGMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiAkZmx1aWQtdW50aWwge1xuICAgICAgICBAaWYgJGJwIGFuZCAkYnAgPj0gJGZsdWlkLXVudGlsIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVhaygkYnApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJwYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgJGJwIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVhaygkYnApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJwYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN0YW5kYXJkIEdyaWQgTWl4aW5cbi8vID09PT09PT09PT09PT09PT09PT1cblxuLy8vXG4vLy8gVGhlIGFtb3VudCBpZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHRha2UgdXAgaW4gYSBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtpbnRlZ2VyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHRha2UgdXBcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGd1dHRlci12YWx1ZSAtIFdpZHRoIG9mIGd1dHRlclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGRpdiB7XG4vLy8gICAgIEBpbmNsdWRlIGdyaWQtY29sKCAzICk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGRpdiB7XG4vLy8gICAgIEBpbmNsdWRlIGdyaWQtY29sKCA0LCAxNXB4ICk7XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQG1peGluIGdyaWQtY29sKCRjb2x1bW5zLCAkZ3JpZDogJGRlZmF1bHQtZ3JpZCkge1xuXG4gIG1hcmdpbi1yaWdodDogY2FsYy1ndXR0ZXItd2lkdGgoJGdyaWQpICogMSU7XG5cbiAgLy8gQXR0cnNcbiAgd2lkdGg6IGNhbGMtZ3JpZC1jb2wtd2lkdGgoJGNvbHVtbnMsICRncmlkKTtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxufVxuXG5cbi8vL1xuLy8vIFJlbW92ZSBtYXJnaW4tcmlnaHQgZnJvbSB0YXJnZXQgZWxlbWVudCBhbmQgY2xlYXIgZmxvYXRzIG9uIHRoZVxuLy8vIGZvbGxvd2luZyBlbGVtZW50IG9mIHRoYXQgdHlwZS4gQ2FuIGJlIHVzZWQgdG8gdGFyZ2V0IHRoZSBsYXN0XG4vLy8gaXRlbSBpbiBhIHJvdyB2aWEgYG50aC1jaGlsZGAuIE1vZGVsZWQgYWZ0ZXIgQm91cmJvbiBOZWF0cyBgb21lZ2FgXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJG50aCBbMV0gLSBUYXJnZXQgYG50aC1jaGlsZGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy9cbi8vLyAgIC5uby1tYXJnaW4ge1xuLy8vICAgICBAaW5jbHVkZSBncmlkLWNvbCg4KTtcbi8vLyAgICAgQGluY2x1ZGUgZ3JpZC16ZWQoKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLyogU3BhbiAzIGNvbHVtbnMgb2YgMTIgY29sdW1uIGdyaWQgKi9cbi8vLyAgIC50aHJlZS1jb2wge1xuLy8vICAgICBAaW5jbHVkZSBncmlkLWNvbCg0KTtcbi8vLyAgICAgQGluY2x1ZGUgZ3JpZC16ZWQoM24pO1xuLy8vICAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIHBhcnRzXG4vLy9cbkBtaXhpbiBncmlkLXplZCgkbnRoOiAxbikge1xuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZVxuICAmOm50aC1jaGlsZCgjeyRudGh9KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoI3skbnRofSsxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbiAgLy8gc2Fzcy1saW50OmVuYWJsZVxufVxuXG5cbi8vL1xuLy8vIFJlbW92ZSB0aGUgZWZmZWN0cyBvZiBhIGBncmlkLXplZGAgaW5jbHVkZS5cbi8vL1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbnRoIFsxXSAtIFRhcmdldCBgbnRoLWNoaWxkYFxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZ3V0dGVyLXZhbHVlIFskdGFyZ2V0LWd1dHRlcl0gLSBJZiB5b3UgYXJlIHVzaW5nIGEgZGlmZmVyZW50IGd1dHRlciB0aGFuIGRlZmF1bHRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy9cbi8vLyAgIC8qIFNwYW4gNiBjb2x1bW5zIHRoYW4gNCBjb2x1bW5zIG9mIDEyIGNvbHVtbiBncmlkICovXG4vLy8gICAucG9zdCB7XG4vLy9cbi8vLyAgICAgQGluY2x1ZGUgYnJlYWsoJHNtYWxsKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woNik7XG4vLy8gICAgICAgQGluY2x1ZGUgZ3JpZC16ZWQoMm4pO1xuLy8vICAgICB9XG4vLy9cbi8vLyAgICAgQGluY2x1ZGUgYnJlYWsoJG1lZGl1bSkge1xuLy8vICAgICAgIEBpbmNsdWRlIGdyaWQtemVkLXJlc2V0KDJuKTtcbi8vLyAgICAgICBAaW5jbHVkZSBncmlkLWNvbCg0KTtcbi8vLyAgICAgICBAaW5jbHVkZSBncmlkLXplZCgzbik7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBwYXJ0c1xuLy8vXG5AbWl4aW4gZ3JpZC16ZWQtcmVzZXQoJG50aDogMW4sICRncmlkOiAkZGVmYXVsdC1ncmlkKSB7XG5cbiAgJjpudGgtY2hpbGQoI3skbnRofSkge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYy1ndXR0ZXItd2lkdGgoJGdyaWQpICogMSU7XG4gIH1cblxuICAmOm50aC1jaGlsZCgjeyRudGh9KzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG5cbi8vL1xuLy8vIFNoaWZ0IGFuIGVsZW1lbnQgYnkgYSBudW1iZXIgb2YgZ3JpZCBlbGVtZW50c1xuLy8vXG4vLy8gQHBhcmFtIHtpbnRlZ2VyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHRha2UgdXBcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGd1dHRlci12YWx1ZSAtIFdpZHRoIG9mIGd1dHRlclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5zaWRlYmFyIHtcbi8vLyAgICAgQGluY2x1ZGUgZ3JpZC1jb2woIDQgKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gSW5zZXQgY29sdW1uIGJ5IG9uZSBjb2x1bW5cbi8vLyAgIC5tYWluLWNvbnRlbnQge1xuLy8vICAgICBAaW5jbHVkZSBncmlkLWNvbCggNyApO1xuLy8vICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KCAxICk7XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgMS4xLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQG1peGluIGdyaWQtc2hpZnQoJGNvbHVtbnMsICRncmlkOiAkZGVmYXVsdC1ncmlkKSB7XG5cbiAgbWFyZ2luLWxlZnQ6IGNhbGMtZ3JpZC1jb2wtd2lkdGgoJGNvbHVtbnMsICRncmlkLCB0cnVlKTtcblxufVxuIiwiLy8gRmxleCBHcmlkIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PVxuXG4vLy9cbi8vLyBUaGUgYW1vdW50IG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgdGFrZSB1cCBpbiBhIGZsZXhib3hcbi8vLyBncmlkLiBFbGVtZW50IHNob3VsZCBiZSBhIGNoaWxkIG9mIGFuIGVsZW1lbnQgd2l0aCBgQGZsZXgtcm93YC5cbi8vL1xuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB0YWtlIHVwXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRndXR0ZXItdmFsdWUgLSBXaWR0aCBvZiBndXR0ZXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy8gICBkaXYge1xuLy8vICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKCAzICk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGRpdiB7XG4vLy8gICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woIDQsIDEwcHggKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBwYXJ0c1xuLy8vXG5AbWl4aW4gZmxleC1ncmlkLWNvbCgkY29sdW1ucywgJGdyaWQ6ICRkZWZhdWx0LWdyaWQpIHtcblxuICB3aWR0aDogY2FsYy1ncmlkLWNvbC13aWR0aCgkY29sdW1ucywgJGdyaWQpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMtZ3V0dGVyLXdpZHRoKCRncmlkKSAqIDElO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbn1cblxuXG4vLy9cbi8vLyBUaGUgYW1vdW50IG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgdGFrZSB1cCBpbiBhIGZsZXhib3hcbi8vLyBncmlkLiBFbGVtZW50IHNob3VsZCBiZSBhIGNoaWxkIG9mIGFuIGVsZW1lbnQgd2l0aCBgQGZsZXgtcm93YC5cbi8vL1xuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB0YWtlIHVwXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRndXR0ZXItdmFsdWUgLSBXaWR0aCBvZiBndXR0ZXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy8gICBkaXYge1xuLy8vICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKCAzICk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGRpdiB7XG4vLy8gICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woIDQsIDEwcHggKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBwYXJ0c1xuLy8vXG5AbWl4aW4gZmxleC1ncmlkLWNvbC1hdXRvKCRjb2x1bW5zLCAkZ3JpZDogJGRlZmF1bHQtZ3JpZCkge1xuXG4gIHdpZHRoOiBjYWxjLWdyaWQtY29sLXdpZHRoKCRjb2x1bW5zLCAkZ3JpZCk7XG5cbn1cblxuXG4vLy9cbi8vLyBCcmVhayBmbGV4IGl0ZW1zIHRvIGEgbmV3IGxpbmUuIE5vdCBhbHdheXMgbmVjY2Vzc2FyeSwgYnV0XG4vLy8gdXNlZnVsIGluIHNvbWUgY2lyY3Vtc3RhbmNlcywgc3VjaCBhcyBhIHJvdyBvZiB0d28gY29sdW1uXG4vLy8gZWxlbWVudHMgaW4gYSB0d2VsdmUgY29sdW1uIGdyaWQgdGhhdCBzaG91bGQgYnJlYWsgYWZ0ZXJcbi8vLyBzaXggZWxlbWVudHMuXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJG50aCBbMV0gLSBUYXJnZXQgYG50aC1jaGlsZGBcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vXG4vLy8gICAvKiBTcGFuIDIgY29sdW1ucyBpbiAxMiBjb2x1bW4gZ3JpZCAqL1xuLy8vICAgLnBvc3Qge1xuLy8vXG4vLy8gICAgIEBpbmNsdWRlIGJyZWFrKCRtZWRpdW0pIHtcbi8vLyAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDIpO1xuLy8vICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC16ZWQoNm4pO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQG1peGluIGZsZXgtZ3JpZC16ZWQoJG50aDogMW4pIHtcbiAgJjpudGgtY2hpbGQoI3skbnRofSkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC8vICY6bnRoLWNoaWxkKCN7JG50aH0rMSkge1xuICAvLyAgIC8vIG1hcmdpbi1sZWZ0OiAuMXB4O1xuICAvLyB9XG59XG5cblxuLy8vXG4vLy8gQnJlYWsgZmxleCBpdGVtcyB0byBhIG5ldyBsaW5lLiBOb3QgYWx3YXlzIG5lY2Nlc3NhcnksIGJ1dFxuLy8vIHVzZWZ1bCBpbiBzb21lIGNpcmN1bXN0YW5jZXMsIHN1Y2ggYXMgYSByb3cgb2YgdHdvIGNvbHVtblxuLy8vIGVsZW1lbnRzIGluIGEgdHdlbHZlIGNvbHVtbiBncmlkIHRoYXQgc2hvdWxkIGJyZWFrIGFmdGVyXG4vLy8gc2l4IGVsZW1lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRudGggWzFdIC0gVGFyZ2V0IGBudGgtY2hpbGRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vXG4vLy8gICAucG9zdCB7XG4vLy9cbi8vLyAgICAgLyogU3BhbiAyIGNvbHVtbnMgaW4gMTIgY29sdW1uIGdyaWQgKi9cbi8vLyAgICAgQGluY2x1ZGUgYnJlYWsoJHNtYWxsKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgyKTtcbi8vLyAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtemVkKDZuKTtcbi8vLyAgICAgfVxuLy8vXG4vLy8gICAgIC8qIFNwYW4gMyBjb2x1bW5zIGluIDEyIGNvbHVtbiBncmlkICovXG4vLy8gICAgIEBpbmNsdWRlIGJyZWFrKCRtZWRpdW0pIHtcbi8vLyAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtemVkLXJlc2V0KDZuKTtcbi8vLyAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDMpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgcGFydHNcbi8vL1xuQG1peGluIGZsZXgtZ3JpZC16ZWQtcmVzZXQoJG50aDogMW4pIHtcblxuICAmOm50aC1jaGlsZCgjeyRudGh9KzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuIiwiLy9cbi8vIE1peGluIEltcG9ydHNcbi8vXG5cbi8vIFZhcnNcbkBpbXBvcnQgJ3ZhcnNfX2xhYm9yJztcblxuLy8gRnVuY3Rpb25zXG5AaW1wb3J0ICdmdW5jdGlvbnNfX3V0aWxpdGllcyc7XG5cbi8vIE1peGluc1xuQGltcG9ydCAnbWl4aW5zX191dGlsaXRpZXMnO1xuQGltcG9ydCAnbWl4aW5zX19ibG9jay1lbGVtZW50cyc7XG5AaW1wb3J0ICdtaXhpbnNfX2lubGluZS1lbGVtZW50cyc7XG4iLCIvL1xuLy8gPT0tLS0tLT4gRk9OVCBWQVJJQUJMRVMgPC0tLS0tPT1cbi8vXG4vLy8gQmFzaWMgU3lzdGVtcyBGb250IHN0YWNrXG4vLy8gQGdyb3VwIGxhYm9yXG4kc3lzdGVtLWZvbnRzOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcgIWRlZmF1bHQ7XG4vLy8gQmFzaWMgU2FucyBGb250IHN0YWNrXG4vLy8gQGdyb3VwIGxhYm9yXG4kc2FuczogICAgICAgICAnQXJpYWwnLCAkc3lzdGVtLWZvbnRzLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8vIEJhc2ljIFNlcmlmIEZvbnQgc3RhY2tcbi8vLyBAZ3JvdXAgbGFib3JcbiRzZXJpZjogICAgICAgIFRpbWVzTmV3Um9tYW4sICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgQmFza2VydmlsbGUsIEdlb3JnaWEsIHNlcmlmICFkZWZhdWx0O1xuXG5cbi8vXG4vLyA9PS0tLS0tPiBUUkFOU0lUSU9OIFZBUklBQkxFUyA8LS0tLS09PVxuLy9cbi8vLyBUaW1lIGZvciBgc3RhbmRhcmQtdHJhbnNgIG1peGluXG4vLy8gQGdyb3VwIGxhYm9yXG4kc3RhbmRhcmQtdHJhbnMtdGltZTogICAgICAgIC4zNXMgIWRlZmF1bHQ7XG4vLy8gVGltaW5nIGZ1bmN0aW9uIGZvciBgc3RhbmRhcmQtdHJhbnNgIG1peGluXG4vLy8gQGdyb3VwIGxhYm9yXG4kc3RhbmRhcmQtdHJhbnMtdGltaW5nLWZ1bmM6IGVhc2UgIWRlZmF1bHQ7XG4vLy8gVGltZSBkZWxheSBmb3IgYHN0YW5kYXJkLXRyYW5zYCBtaXhpblxuLy8vIEBncm91cCBsYWJvclxuJHN0YW5kYXJkLXRyYW5zLXRpbWUtZGVsYXk6ICAwcyAhZGVmYXVsdDtcbi8vLyBUaW1lIGZvciBgbG9uZy10cmFuc2AgbWl4aW5cbi8vLyBAZ3JvdXAgbGFib3JcbiRsb25nLXRyYW5zLXRpbWU6ICAgICAgICAgICAgLjM1cyAhZGVmYXVsdDtcbi8vLyBUaW1pbmcgZnVuY3Rpb24gZm9yIGBsb25nLXRyYW5zYCBtaXhpblxuLy8vIEBncm91cCBsYWJvclxuJGxvbmctdHJhbnMtdGltaW5nLWZ1bmM6ICAgICBlYXNlICFkZWZhdWx0O1xuLy8vIFRpbWUgZGVsYXkgZm9yIGBsb25nLXRyYW5zYCBtaXhpblxuLy8vIEBncm91cCBsYWJvclxuJGxvbmctdHJhbnMtdGltZS1kZWxheTogICAgICAwcyAhZGVmYXVsdDtcblxuLy8gU2l6ZSBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09XG5cbi8vLyBCYXNlIHZhbHVlIGZvciBlbSBjYWx1bGF0aW9ucyAoYmVzdCBwcmFjdGljZSA9IDE2cHgpXG4vLy8gQGdyb3VwIGxhYm9yXG4kZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuXG4vLyBQcml2YXRlICYgUGxhY2Vob2xkZXIgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdyYXkgU2NhbGVcbiRsYWJvci13aGl0ZTogICAjZmZmO1xuJGxhYm9yLWJsYWNrOiAgICMwOTA5MDk7XG4iLCIvLy8gUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3Mvc3RyaXAtdW5pdC1mdW5jdGlvbi9cbi8vLyBAZ3JvdXAgbGFib3Jcbi8vLyBAc2luY2UgMS40LjBcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbi8vL1xuLy8vIFN0cmluZyByZXBsYWNlXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJHN0cmluZ1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkc2VhcmNoIC0gTmVlZGxlXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRyZXBsYWNlIC0gSGF5c3RhY2tcbi8vL1xuLy8vIEBncm91cCBsYWJvclxuLy8vIEBzaW5jZSAxLjAuMFxuLy8vXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuXG4vLy9cbi8vLyBDb252ZXJ0IHB4IHVuaXRzIHRvIGVtIHVuaXRzXG4vLy9cbi8vLyBAcGFyYW0ge2ludH0gJHB4IC0gTnVtYmVyIHJlcHJlc2VudGluZyBweFxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkY29udGV4dCAtIFBpeGVsIHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgaDEge1xuLy8vICAgICBmb250LXNpemU6IGVtKDY0KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9weC10by1lbS1mdW5jdGlvbnMvXG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgbGFib3Jcbi8vL1xuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAkZW0tYmFzZSkge1xuXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xuICB9XG5cbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICgkcGl4ZWxzIC8gJGNvbnRleHQpICogMWVtO1xuXG59XG5cbi8vL1xuLy8vIENvbnZlcnQgdW5pdCB0byBSRU0gdW5pdFxuLy8vXG4vLy8gQHBhcmFtIHtpbnR9ICR1bml0IC0gVW50aSB0byBjb252ZXJ0XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgbGFib3Jcbi8vL1xuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzLCAkY29udGV4dDogJGVtLWJhc2UpIHtcblxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcbiAgfVxuXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xuICB9XG5cbiAgQHJldHVybiAoJHBpeGVscyAvICRjb250ZXh0KSAqIDFyZW07XG5cbn1cblxuXG4vLy9cbi8vLyBMaWdodGVuIGEgY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkY29sb3IgLSBWYWxpZCBjb2xvciB2YWx1ZSB0byB0aW50XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRwZXJjZW50YWdlIC0gUGVyY2VudGFnZSBvZiBgJGNvbG9yYCBpbiByZXR1cm5lZCBjb2xvclxuLy8vXG4vLy8gQHJldHVybiB7c3RyaW5nfSBDb2xvciB2YWx1ZVxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL3RpbnQtc2hhZGUtZnVuY3Rpb25zL1xuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcblxuICBAcmV0dXJuIG1peCgkbGFib3Itd2hpdGUsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xuXG59XG5cblxuLy8vXG4vLy8gTGlnaHRlbiBhIGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGNvbG9yIC0gVmFsaWQgY29sb3IgdmFsdWUgdG8gc2hhZGVcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHBlcmNlbnRhZ2UgLSBQZXJjZW50YWdlIG9mIGAkY29sb3JgIGluIHJldHVybmVkIGNvbG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtzdHJpbmd9IENvbG9yIHZhbHVlXG4vLy9cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvdGludC1zaGFkZS1mdW5jdGlvbnMvXG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgbGFib3Jcbi8vL1xuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcblxuICBAcmV0dXJuIG1peCgkbGFib3ItYmxhY2ssICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xuXG59XG5cbiIsIi8vIC0tLVRSQU5TSVRJT05TLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cblxuLy8vXG4vLy8gU3RhbmRhcmQgVHJhbnNpdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRhdHRyIFthbGxdIC0gQXR0cmlidXRlIHRvIGJlIHRyYW5zaXRpb25lZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGEge1xuLy8vICAgICBAaW5jbHVkZSBzdGFuZGFyZC10cmFucygpO1xuLy8vICAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBzdGFuZGFyZC10cmFucygkYXR0cjogYWxsKSB7XG4gIHRyYW5zaXRpb246ICRhdHRyICRzdGFuZGFyZC10cmFucy10aW1lICRzdGFuZGFyZC10cmFucy10aW1pbmctZnVuYyAkc3RhbmRhcmQtdHJhbnMtdGltZS1kZWxheTtcbn1cblxuLy8vXG4vLy8gTG9uZyBUcmFuc2l0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJGF0dHIgW2FsbF0gLSBBdHRyaWJ1dGUgdG8gYmUgdHJhbnNpdGlvbmVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgYSB7XG4vLy8gICAgIEBpbmNsdWRlIGxvbmctdHJhbnMoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBsYWJvclxuLy8vXG5AbWl4aW4gbG9uZy10cmFucygkYXR0cjogYWxsKSB7XG4gIHRyYW5zaXRpb246ICRhdHRyICRsb25nLXRyYW5zLXRpbWUgJGxvbmctdHJhbnMtdGltaW5nLWZ1bmMgJGxvbmctdHJhbnMtdGltZS1kZWxheTtcbn1cblxuXG4vLyAtLS1MQVlPVVQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XG5cbi8vL1xuLy8vIENsZWFyZml4IC0geW91ciBydW4gb2YgdGhlIG1pbGwgbW9kZXJuIGNsZWFyZml4XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgLmZsb2F0LWNvbnRhaW5lciB7XG4vLy8gICAgIEBpbmNsdWRlIGxvbmctdHJhbnMoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL2NsZWFyLWZpeC9cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBsYWJvclxuLy8vXG5AbWl4aW4gY2xlYXJmaXgge1xuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDb3ZlciByZWxhdGl2ZSBwYXJlbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy8gICAuY292ZXIge1xuLy8vICAgICBAaW5jbHVkZSBjb3ZlcigpO1xuLy8vICAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBjb3ZlciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xufVxuXG4vLy9cbi8vLyBDZW50ZXJzIGl0ZW0gaW4gcmVsYXRpdmUgcGFyZW50XG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJHRyYW5zZm9ybSBbdHJhbnNsYXRlKC01MCUsLTUwJSldIC0gdHJhbnNmb3JtIHByb3BlcnR5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgLmNlbnRlcmVkLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjZW50ZXIoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy8gICAuY2VudGVyZWQtZWxlbWVudC13aXRoLXJvdGF0ZSB7XG4vLy8gICAgIEBpbmNsdWRlIGNlbnRlciggdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApIHNjYWxlKDQ1ZGVnKSApO1xuLy8vICAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBjZW50ZXIoJHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xufVxuXG4vLy9cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBhbGxvdyBhY2Nlc3MgdG8gc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmUjLnRwdW9jaDU2dVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5zY3JlZW4tcmVhZGVyLXRleHQge1xuLy8vICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBsYWJvclxuLy8vXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xufVxuXG4vLy9cbi8vLyBGaWxsIGJhY2tncm91bmQgd2l0aCBpbWFnZVxuLy8vXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRwb3MgW2NlbnRlcl0gIEEgdmFsaWQgYmFja2dyb3VuZCBwb3NpdGlvblxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIC5maWxsLWltYWdlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY29vbC1pbWFnZS5qcGcnKTtcbi8vLyAgICAgQGluY2x1ZGUgYmtnLWltZygpO1xuLy8vICAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBia2ctaW1nKCRwb3M6IGNlbnRlcikge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vLyBGaXQgaW1hZ2Ugd2l0aGluIHNwYWNlXG5AbWl4aW4gaW1nLWZpdCgkcG9zOiBjZW50ZXIpIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogJHBvcztcbn1cblxuLy8gLS0tRk9STVMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuXG4vLy9cbi8vLyBQbGFjZWhvbGRlciAtIHVzZSB3aXRoaW4gaW5wdXQgb3Igb24gaXRzIG93biBmb3IgZ2xvYmFsIHN0eWxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGlucHV0IHtcbi8vLyAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuLy8vICAgICAgIGNvbG9yOiAjYmFkYTU1O1xuLy8vICAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBsYWJvclxuLy8vXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICA6OnBsYWNlaG9sZGVyIHtAY29udGVudH1cbn1cblxuLy8vXG4vLy8gVmFsaWQgLSBmb3Igc3R5bGluZyB2YWxpZCBmb3JtIGZpZWxkc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGlucHV0IHtcbi8vLyAgICAgQGluY2x1ZGUgdmFsaWQge1xuLy8vICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNiYWRhNTU7XG4vLy8gICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiB2YWxpZCB7XG5cbiAgJjp2YWxpZCxcbiAgJjplbXB0eTp2YWxpZCxcbiAgJjpmb2N1czplbXB0eTp2YWxpZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSW52YWxpZCAtIGZvciBzdHlsaW5nIGludmFsaWQgZm9ybSBmaWVsZHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBTYXNzXG4vLy8gICBpbnB1dCB7XG4vLy8gICAgIEBpbmNsdWRlIGludmFsaWQge1xuLy8vICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNiYWRiYWQ7XG4vLy8gICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBpbnZhbGlkIHtcbiAgJjppbnZhbGlkLFxuICAmOmZvY3VzOmludmFsaWQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLUZPTlQtRkFDRS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cblxuLy8vXG4vLy8gRm9udCBGYWNlXG4vLy9cbi8vLyBAcGFyYW0ge3N0cmluZ30gJG5hbWUgLSBOYW1lIGZvciBmb250LWZhbWlseVxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkcGF0aCAtIFJlbGF0aXZlIHBhdGggdG8gZmlsZXMgZnJvbSBvdXRwdXQgY3NzIHNoZWV0XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR3ZWlnaHQgW25vcm1hbF0gLSBgZm9udC13ZWlnaHRgXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRzdHlsZSBbbm9ybWFsXSAtICdmb250LXN0eWxlJ1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZXh0cyBbZW90IHdvZmYyIHdvZmYgdHRmIHN2Z10gLSBMaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyB0byBpbmNsdWRlLCBzZXAgd2l0aCBhIHNwYWNlXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2QwNDYwZTVjMmQ1ZDdmOWJjNWU2XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgQGluY2x1ZGUgZm9udC1mYWNlIHsgJ0NpcmN1bGFyJywgJy4uL2ZvbnRzL2NpcmN1bGFyLWJvb2snIH1cbi8vLyAgIEBpbmNsdWRlIGZvbnQtZmFjZSB7ICdDaXJjdWxhcicsICcuLi9mb250cy9jaXJjdWxhci1ib2xkJywgNjAwIH1cbi8vLyAgIEBpbmNsdWRlIGZvbnQtZmFjZSB7ICdDaXJjdWxhcicsICcuLi9mb250cy9jaXJjdWxhci1ib29rLWl0YWxpYycsIDQwMCwgaXRhbGljIH1cbi8vL1xuLy8vIEBzaW5jZSAxLjAuMFxuLy8vIEBncm91cCBsYWJvclxuLy8vXG5AbWl4aW4gZm9udC1mYWNlKCRuYW1lLCAkcGF0aCwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCwgJGV4dHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkc3JjOiBudWxsO1xuXG4gICRleHRtb2RzOiAoXG4gICAgZW90OiAnPycsXG4gICAgc3ZnOiAnIycgKyBzdHItcmVwbGFjZSgkbmFtZSwgJyAnLCAnXycpXG4gICk7XG5cbiAgJGZvcm1hdHM6IChcbiAgICBvdGY6ICdvcGVudHlwZScsXG4gICAgdHRmOiAndHJ1ZXR5cGUnXG4gICk7XG5cbiAgQGVhY2ggJGV4dCBpbiAkZXh0cyB7XG4gICAgJGV4dG1vZDogaWYobWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLCAkZXh0ICsgbWFwLWdldCgkZXh0bW9kcywgJGV4dCksICRleHQpO1xuICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xuICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwocXVvdGUoJHBhdGggKyAnLicgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgc3JjOiAkc3JjO1xuICB9XG59XG4iLCIvLyBCbG9jayBMZXZlbCBFbGVtZW50IE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vID09LS0tLS0+IExJU1RTIDwtLS0tLT09XG4vL1xuXG4vLy9cbi8vLyBMaXN0IC0gU3R5bGUgaW5saW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgdWwge1xuLy8vICAgICBAaW5jbHVkZSBsaXN0LWlubGluZSgpO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICB9XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgbGFib3Jcbi8vL1xuQG1peGluIGxpc3QtaW5saW5lIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLy8vXG4vLy8gTGlzdCAtIFN0eWxlIGlubGluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIHVsIHtcbi8vLyAgICAgQGluY2x1ZGUgbGlzdC1pbmxpbmUoKTtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy9cbi8vID09LS0tLS0+IEhFQURFUlMgPC0tLS0tPT1cbi8vXG5cbi8vL1xuLy8vIFJlc2V0IGEgaGVhZGVyIHRvIGJhc2ljIGJvZHkgc3R5bGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgaDEge1xuLy8vICAgICBAaW5jbHVkZSBoZWFkZXItcmVzZXQoKTtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbi8vLyAgfVxuLy8vXG4vLy8gQHNpbmNlIDEuMC4wXG4vLy8gQGdyb3VwIGxhYm9yXG4vLy9cbkBtaXhpbiBoZWFkZXItcmVzZXQge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiIsIi8vIElubGluZSBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09XG5cbi8vXG4vLyA9PS0tLS0tPiBCVVRUT05TIDwtLS0tLT09XG4vL1xuXG4vLy9cbi8vLyBTdGFydCBidXR0b25zIHdpdGggYSBjbGVhbiBzbGF0ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgIGFbcm9sZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLy8vICAgYnV0dG9uIHtcbi8vLyAgICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgMS4wLjBcbi8vLyBAZ3JvdXAgbGFib3Jcbi8vL1xuQG1peGluIGJ1dHRvbi1yZXNldCB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKlxuKiogQnJlYWtwb2ludHNcbioqKioqKioqKioqKioqKioqKioqL1xuXG4kYnAteHNtYWxsOiA0ODA7XG4kYnAtc21hbGw6IDY0MDtcbiRicC1zbS1tZDogOTIwO1xuJGJwLW1lZGl1bTogMTAyNDtcbiRicC1sYXJnZTogMTMwMDsgLy9sYXB0b3BzXG4kYnAteGxhcmdlOiAxNTAwOyAvL2hpIHJlc29sdXRpb24gbGFwdG9wcyBhbmQgZGVza3RvcHNcbiRicC1tYXg6IDIwMDA7XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuKiogTWVkaWEgUXVlcmllc1xuKioqKioqKioqKioqKioqKioqKiovXG5cbiRtcS14c21hbGw6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnAteHNtYWxsfXB4KSc7XG4kbXEtc21hbGw6ICdvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnAtc21hbGx9cHgpJztcbiRtcS1zbS1tZDogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicC1zbS1tZH1weCknO1xuJG1xLW1lZGl1bTogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicC1tZWRpdW19cHgpJztcbiRtcS1sYXJnZTogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicC1sYXJnZX1weCknO1xuJG1xLXhsYXJnZTogJ29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicC14bGFyZ2V9cHgpJztcbiRtcS1yZXRpbmE6ICdvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSc7XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuKiogRm9udHNcbioqKioqKioqKioqKioqKioqKioqL1xuXG4kYmFzZUZvbnRTaXplOiAxNjtcbiRiYXNlTGluZUhlaWdodDogMS41ZW07XG4kcGFyYWdyYXBoTGluZUhlaWdodDogZW0oMzMpO1xuXG4kZi1wcmltYXJ5OiAnZnJlaWdodC10ZXh0LXBybycsIEdlb3JnaWEsIHNlcmlmO1xuJGYtc2Vjb25kYXJ5OiAnc29maWEtcHJvJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJGYtaWNvbnM6IGYtaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuKiogQ29sb3JzXG4qKioqKioqKioqKioqKioqKioqKi9cblxuJGMtcHJpbWFyeTogIzE2MzhlMjtcblxuJGMtdGV4dC1kYXJrOiAjMmQzMzM4O1xuJGMtdGV4dC1tZWRpdW06ICNiOGI4Y2Q7XG4kYy10ZXh0LWxpZ2h0OiAjZWZlZmZmO1xuJGMtdGV4dC1uZXV0cmFsOiAjNWM2Njc1O1xuJGMtZ3JheS1saWdodDogI2MzYzVjNjtcbiRjLWdyYXktZGFyazogIzg4OGI4ZTtcblxuJGMtZ3JheS1ib3JkZXI6ICNEOEQ4RDg7XG4kYy1ncmF5LTM6ICM4MjgyODI7XG4kYy1ncmF5LTQ6ICM1QzY2NzU7XG5cbiRjLWxpbmstc2VsZWN0ZWQ6ICM2NmIxZDg7XG4kYy1kYXJrZXN0LW9uLWRhcms6ICM3QTg0OTM7IC8vIHVzZSBmb3IgdGV4dCBvbiAkYy1kYXJrXG5cbi8vYmFja2dyb3VuZFxuJGMtbGlnaHQ6ICNmZmZmZmY7XG4kYy1tZWRpdW06ICNmN2Y5ZmM7XG4kYy1kYXJrOiAjMTgxYTFmO1xuJGMtb2ZmLXdoaXRlOiAjRjZGOEZCO1xuXG4kYy1ncmVlbjogI2NhZmY5NDtcblxuLyoqKioqKioqKioqKioqKioqKioqXG4qKiBJbWFnZXNcbioqKioqKioqKioqKioqKioqKioqL1xuXG4kaS1maWxlUGF0aDogJy4uL2ltYWdlcy8nO1xuXG4vKioqKioqKioqKioqKioqKioqKipcbioqIFRyYW5zaXRpb24gVGltaW5nIEZ1bmN0aW9uc1xuKioqKioqKioqKioqKioqKioqKiovXG5cbiRjdWJpYy1iZXppZXI6IGN1YmljLWJlemllcigwLjU1NSwgMC4yMDUsIDAuMjk1LCAwLjk3NSk7XG4kY3ViaWMtMjogY3ViaWMtYmV6aWVyKC41NywuMjksLjA2LC45Nik7XG4iLCJAbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYnAoJHBvaW50KSB7XG4gIEBpZiAoJE1Rcykge1xuICAgIEBpZiAkcG9pbnQ9PXhzbWFsbCB7XG4gICAgICBAbWVkaWEgI3skbXEteHNtYWxsfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICRwb2ludD09c21hbGwge1xuICAgICAgQG1lZGlhICN7JG1xLXNtYWxsfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHBvaW50PT1zbS1tZCB7XG4gICAgICBAbWVkaWEgI3skbXEtc20tbWR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcG9pbnQ9PW1lZGl1bSB7XG4gICAgICBAbWVkaWEgI3skbXEtbWVkaXVtfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHBvaW50PT1sYXJnZSB7XG4gICAgICBAbWVkaWEgI3skbXEtbGFyZ2V9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcG9pbnQ9PXhsYXJnZSB7XG4gICAgICBAbWVkaWEgI3skbXEteGxhcmdlfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHBvaW50PT1yZXRpbmEge1xuICAgICAgQG1lZGlhICN7JG1xLXJldGluYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkcG9pbnQgIT1yZXRpbmEge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBicC1tYXgoJHBvaW50KSB7XG4gIEBpZiAkcG9pbnQ9PXNtYWxsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogKCRicC1zbWFsbCAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkcG9pbnQ9PW1lZGl1bSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkYnAtbWVkaXVtIC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludD09bGFyZ2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJGJwLWxhcmdlIC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludD09eGxhcmdlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogKCRicC14bGFyZ2UgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJHBvaW50IC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBicC1hcmIoJHZhbCkge1xuICBAaWYgKCRNUXMpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JHZhbH1weCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCR4OiAwLCAkeTogMCwgJGJsdXI6IDAsICRjb2xvcjogIzAwMCwgJGluc2V0OiAnJykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvciAjeyRpbnNldH07XG4gIC1tb3otYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yICN7JGluc2V0fTtcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yICN7JGluc2V0fTtcbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkcGl4ZWxTaXplOiAkYmFzZUZvbnRTaXplKSB7XG4gIGZvbnQtc2l6ZTogI3skcGl4ZWxTaXplfXB4O1xuICBmb250LXNpemU6ICN7JHBpeGVsU2l6ZSAvICRiYXNlRm9udFNpemV9cmVtO1xufVxuXG5AbWl4aW4gbGluZS1oZWlnaHQoJHBpeGVsU2l6ZSkge1xuICBsaW5lLWhlaWdodDogI3skcGl4ZWxTaXplfXB4O1xuICBsaW5lLWhlaWdodDogI3skcGl4ZWxTaXplIC8gJGJhc2VGb250U2l6ZX1yZW07XG59XG5cbkBtaXhpbiBpbmxpbmUtYmxvY2soKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgKnpvb206IDE7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbkBtaXhpbiBvcGFjaXR5KCR2YWx1ZSkge1xuICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0jeyR2YWx1ZSAqIDEwMH0pOyAvLyBpZThcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSN7JHZhbHVlICogMTAwfSk7IC8vIGllIDYtN1xuICBvcGFjaXR5OiAkdmFsdWU7IC8vIGdvb2QgYnJvd3NlcnNcbn1cblxuQG1peGluIHRhcC1oaWdobGlnaHQtY29sb3IoJGNvbG9yKSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGNvbG9yO1xuICAtbW96LXRhcC1oaWdobGlnaHQtY29sb3I6ICRjb2xvcjtcbiAgLW8tdGFwLWhpZ2hsaWdodC1jb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZmlsdGVyKCR2YWx1ZSkge1xuICAtd2Via2l0LWZpbHRlcjogJHZhbHVlO1xuICAtbW96LWZpbHRlcjogJHZhbHVlO1xuICAtby1maWx0ZXI6ICR2YWx1ZTtcbiAgLW1zLWZpbHRlcjogJHZhbHVlO1xuICBmaWx0ZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3JtKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xuICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbiAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0eSkge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRwcm9wZXJ0eTtcbiAgLW1vei10cmFuc2l0aW9uOiAkcHJvcGVydHk7XG4gIC1tcy10cmFuc2l0aW9uOiAkcHJvcGVydHk7XG4gIC1vLXRyYW5zaXRpb246ICRwcm9wZXJ0eTtcbiAgdHJhbnNpdGlvbjogJHByb3BlcnR5O1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtbXMtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuQG1peGluIGFjY2VsZXJhdGVkIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG4gIC1tb3otcGVyc3BlY3RpdmU6IDEwMDA7XG4gIC1tcy1wZXJzcGVjdGl2ZTogMTAwMDtcbiAgcGVyc3BlY3RpdmU6IDEwMDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbkBtaXhpbiB3b3JkQnJlYWsoKSB7XG4gIC1tcy13b3JkLXdyYXA6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgQGtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAjeyRhbmltYXRpb259O1xuICAtbXMtYW5pbWF0aW9uOiAjeyRhbmltYXRpb259O1xuICAtbW96LWFuaW1hdGlvbjogI3skYW5pbWF0aW9ufTtcbiAgYW5pbWF0aW9uOiAjeyRhbmltYXRpb259O1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRhbmltYXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICN7JGFuaW1hdGlvbi1kZWxheX07XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6ICN7JGFuaW1hdGlvbi1kZWxheX07XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAjeyRhbmltYXRpb24tZGVsYXl9O1xuICBhbmltYXRpb24tZGVsYXk6ICN7JGFuaW1hdGlvbi1kZWxheX07XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHBhZGRpbmctYm90dG9tOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xufVxuXG5AbWl4aW4gdWktYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkdmFsdWU7XG4gIC1tb3otYXBwZWFyYW5jZTogJHZhbHVlO1xuICBhcHBlYXJhbmNlOiAkdmFsdWU7XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuQG1peGluIHZpc3VhbGx5LXVuaGlkZGVuIHtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBjbGlwOiBhdXRvO1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiBpbmhlcml0O1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGdyaWQtY29udGVudC1jb2wtOCB7XG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgyKTtcbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLW1heC13aWR0aCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cblxuQG1peGluIHBhZ2UtaGVhZGluZy1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDEwNXB4O1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgcGFkZGluZy10b3A6IDEyNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgcGFkZGluZy10b3A6IDE2NXB4O1xuICB9XG59XG5cbkBtaXhpbiBpZTExKCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBlZGdlKCkge1xuICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZmlyZWZveCgpIHtcbiAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG1ldGVyYmFyKSBhbmQgKGxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtZm9ybWFsKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNlcnZpY2UtdGFncygpIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMTgpO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJGMtdGV4dC1uZXV0cmFsO1xufVxuXG5AbWl4aW4gY2FsbG91dC1saW5lKCkge1xuICAvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEpO1xuXG4gIHdpZHRoOiBjYWxjKDYuMDQxNjclICsgOHZ3KTtcbiAgbWFyZ2luLWxlZnQ6IC04dnc7XG4gIG1hcmdpbi1yaWdodDogMi41JTtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBicC1hcmIoMTcxNCkge1xuICAgIHdpZHRoOiAxMi4wOCU7XG4gICAgbWFyZ2luLWxlZnQ6IC02LjA0JTtcbiAgfVxuXG4gICYuY2FsbG91dC1saW5lLS1zbWFsbCB7XG4gICAgd2lkdGg6IDYuMDQlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICB3aWR0aDogMTIuMDglO1xuICAgIH1cbiAgfVxuXG4gICYubGluZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubGluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogTGlua3MgKi9cblxuYS5hbmltYXRlZCxcbi5mYXV4LWxpbmsuYW5pbWF0ZWQsXG4uc2YtbGV2ZWwtMC5zZi1vcHRpb24tYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4ycyAkY3ViaWMtYmV6aWVyKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjE1cyk7XG4gICAgfVxuXG4gICAgJi5ob3ZlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMXMgJGN1YmljLWJlemllciAwcyk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAkYW5pbWF0aW9uOiAwLjI1cyAkY3ViaWMtYmV6aWVyIG9sZExpbmtVbmRlcmxpbmUsXG4gICAgICAgICAgMC4yNXMgJGN1YmljLWJlemllciAwLjI1cyBuZXdMaW5rVW5kZXJsaW5lO1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oJGFuaW1hdGlvbik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LXNlY29uZGFyeSAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4xcyAkY3ViaWMtYmV6aWVyIDBzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYS5hbmltYXRlZC1hcnJvdyB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICR0cmFuc2l0aW9uczogY29sb3IgMC4ycztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXI6IG5vbmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFw2Nic7XG4gICAgZm9udC1mYW1pbHk6IGYtaWNvbnM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB9XG5cbiAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICAgICR0cmFuc2l0aW9uczogdHJhbnNmb3JtIDAuMnMgJGN1YmljLWJlemllciwgY29sb3IgMC4ycztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucyk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICAgIC8vQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTNweCkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDZweCkpO1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICBAZXh0ZW5kIC5pY29uLWFycm93O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMob2xkTGlua1VuZGVybGluZSkge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcmlnaHQ6IDBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMobmV3TGlua1VuZGVybGluZSkge1xuICAwJSB7XG4gICAgbGVmdDogMHB4O1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4vKiBJbWFnZXMgKi9cblxuLmltYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG59XG5cbi5iLWxhenksXG4uYi1sYXp5LXZpZGVvIHtcbiAgb3BhY2l0eTogMDtcbiAgJHRyYW5zaXRpb25zOiBvcGFjaXR5IDFzOyAvL2NhbiBwdXQgbXVsdGlwbGUgdHJhbnNpdGlvbnNcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuXG4gICYuYi1sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyogUGFnZSBUcmFuc2l0aW9ucyAgKi9cblxuLmpzICNwYWdlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzKTtcblxuICAmLmluaXRpYWwtbG9hZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICNtYWluIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMpO1xuICB9XG59XG5cbiNwYWdlLXRyYW5zaXRpb24ge1xuICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gIC8vIHdpZHRoOiAxMDAlO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tZWRpdW07XG4gIC8vIGJvdHRvbTogMDtcbiAgLy8gdG9wOiAxMDAlO1xuICAvLyB6LWluZGV4OiAxMDAyO1xuICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gJHRyYW5zaXRpb25zOiB0b3AgMC40cyAkY3ViaWMtYmV6aWVyLCBib3R0b20gMC40cyBlYXNlLW91dDsgLy9wYWdlIHRyYW5zaXRpb24gb3V0IGlzIGZhc3RlclxuICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucyk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYy1tZWRpdW0sIDUlKTtcblxuICAvLyAmLnBhZ2UtdHJhbnNpdGlvbi1vbiB7XG4gIC8vICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLy8gICB0b3A6IDA7XG4gIC8vIH1cblxuICAvLyAmLnBhZ2UtdHJhbnNpdGlvbi1vZmYge1xuICAvLyAgIGJvdHRvbTogMTAwJTtcbiAgLy8gfVxufVxuXG4vKiBNYWluIE5hdiAgKi9cbi5uYXYgbmF2IC5tZW51LXByaW1hcnkgLm1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIGEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBib3R0b206IC00cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUtbWVudS1pdGVtIHtcbiAgICAgIGE6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmhvdmVyIHtcbiAgICAgIGE6YWZ0ZXIge1xuICAgICAgICAkYW5pbWF0aW9uOiAwLjI1cyAkY3ViaWMtYmV6aWVyIG9sZExpbmtVbmRlcmxpbmUsXG4gICAgICAgICAgMC4yNXMgJGN1YmljLWJlemllciAwLjI1cyBuZXdMaW5rVW5kZXJsaW5lO1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oJGFuaW1hdGlvbik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgJGN1YmljLWJlemllciAwcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIENvbnRlbnQgTG9hZCAgKi9cblxuLmpzIHtcbiAgLm5hdiBuYXYge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg1MHB4KSk7XG4gICAgICAgICR0cmFuc2l0aW9uczogdHJhbnNmb3JtIDAuNXMsIG9wYWNpdHkgMC43NXMgJGN1YmljLWJlemllcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LXByaW1hcnkge1xuICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJwLW1heChtZWRpdW0pIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAoJGkgKiAwLjA1cykgKyAwLjA1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS11dGlsaXR5IHtcbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicC1tYXgobWVkaXVtKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyIHtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgICAgICAgLy8kaiA6ICRpICsgLjQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICgkaSAqIDAuMDVzKSArIDAuMjVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5fc2Nyb2xsLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIH1cblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMsIHRyYW5zZm9ybSAwLjc1cztcblxuICAgIC5iLWxvYWRlZC1wYXJlbnQge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyAxcztcbiAgICB9XG5cbiAgICAuYi1sYXp5LFxuICAgIC5iLWxhenktdmlkZW8ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuICAgIH1cblxuICAgIC5fc2Nyb2xsLWFuaW1hdGUtc3RlcCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMjBweCkpO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg0MHB4KSk7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xuICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICRvcGFjaXR5RGVsYXk6ICgkaSAqIDAuMTVzKSArIDAuMXM7XG4gICAgICAgICAgJHRyYW5zZm9ybURlbGF5OiAoJGkgKiAwLjE1cyk7XG4gICAgICAgICAgJHRyYW5zaXRpb25zOiBvcGFjaXR5IDAuNzVzICRvcGFjaXR5RGVsYXksXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMC42NXMgJHRyYW5zZm9ybURlbGF5O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zKTtcblxuICAgICAgICAgIC5iLWxvYWRlZC1wYXJlbnQge1xuICAgICAgICAgICAgJHRyYW5zaXRpb25zOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNzVzICgkb3BhY2l0eURlbGF5ICsgMC40cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmItbGF6eSxcbiAgICAgICAgICAuYi1sYXp5LXZpZGVvIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRvcGFjaXR5RGVsYXkgKyAwLjJzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xuICAgICAgLl9zY3JvbGwtYW5pbWF0ZS0tZGVsYXktI3skaX0ge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpIC8gMTB9cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10ZXh0IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC13aWR0aCAwLjVzIDAuMjVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZSB7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC13aWR0aCAwLjVzICRjdWJpYy1iZXppZXIgMC4yNXMpO1xuICAgIH1cblxuICAgICYuY2Fyb3VzZWwsXG4gICAgJi5zaW5nbGUtY2Fyb3VzZWwge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgxMDBweCwgMCkpO1xuICAgICAgJHRyYW5zaXRpb25zOiBvcGFjaXR5IDAuNzVzIDAuMjVzLCB0cmFuc2Zvcm0gMXMgJGN1YmljLWJlemllcixcbiAgICAgICAgaGVpZ2h0IDAuMjVzICRjdWJpYy1iZXppZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucyk7XG5cbiAgICAgIC5fc2Nyb2xsLWFuaW1hdGUtc3RlcCxcbiAgICAgIC5fc2Nyb2xsLWFuaW1hdGUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0obm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2dvLWdyaWQsXG4gICAgJi5hY2NvcmRpb24tY2FsbG91dF9fbGlzdCB7XG4gICAgICAuX3Njcm9sbC1hbmltYXRlLWNoaWxkIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMjBweCkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoNDBweCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHRyYW5zaXRpb25zOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC43NXM7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zKTtcblxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMwIHtcbiAgICAgICAgICAmOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiByYW5kb20oNDAwKSArIG1zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5fc2Nyb2xsLXRleHQge1xuICAgICAgLl9zcGxpdC10ZXh0LWxpbmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgzMHB4KSk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAyMCB7XG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgJG9wYWNpdHlEZWxheTogKCgkaSAtIDEpICogMC4xNXMpO1xuICAgICAgICAgICAgJHRyYW5zZm9ybURlbGF5OiAoKCRpIC0gMSkgKiAwLjE1cyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNzVzICRvcGFjaXR5RGVsYXksXG4gICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjc1cyAkdHJhbnNmb3JtRGVsYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLTQwNCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uanMgLmNvbnRlbnQtbG9hZGVkIHtcbiAgLl9zY3JvbGwtYW5pbWF0ZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAuYi1sb2FkZWQtcGFyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5iLWxvYWRlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5fc2Nyb2xsLWFuaW1hdGUtc3RlcCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAuYi1sb2FkZWQge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGV4dCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5jYXJvdXNlbCxcbiAgICAmLnNpbmdsZS1jYXJvdXNlbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBza2V3KDBkZWcpO1xuICAgIH1cblxuICAgICYubG9nby1ncmlkLFxuICAgICYuYWNjb3JkaW9uLWNhbGxvdXRfX2xpc3Qge1xuICAgICAgLl9zY3JvbGwtYW5pbWF0ZS1jaGlsZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuX3Njcm9sbC10ZXh0IHtcbiAgICAgIC5fc3BsaXQtdGV4dC1saW5lIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMHB4KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLTQwNCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiBOYXZpZ2F0aW9uIEFuaW1hdGlvbiAqL1xuXG4ubmF2aWdhdGlvbi1pcy1vcGVuIHtcbiAgLm5hdiBuYXYgLm1lbnUtaXRlbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG4gIH1cbn1cblxuLnNpdGUtbG9nbyBhLmhvdmVyLFxuLm5hdi1hbmltYXRpb24gLnNpdGUtbG9nbyB7XG4gIC5saW5lIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4yNXMgMHMpO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwcyAwLjI1cyk7XG4gICAgICAkYW5pbWF0aW9uOiAwLjI1cyAkY3ViaWMtYmV6aWVyIG9sZExpbmtVbmRlcmxpbmUsXG4gICAgICAgIDAuMjVzICRjdWJpYy1iZXppZXIgMC4yNXMgbmV3TGlua1VuZGVybGluZTtcbiAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbigkYW5pbWF0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdi10cmlnZ2VyIHtcbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5saW5lIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbigwLjRzIGVhc2UtaW4gbmF2VHJpZ2dlcldpZ2dsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKDAuNHMgZWFzZS1pbiAwLjA4cyBuYXZUcmlnZ2VyV2lnZ2xlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oMC40cyBlYXNlLWluIDAuMTZzIG5hdlRyaWdnZXJXaWdnbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmlnYXRpb24taXMtb3BlbiAmLFxuICAubmF2LWFuaW1hdGlvbiAmIHtcbiAgICAubGluZSB7XG4gICAgICBAaW5jbHVkZSBhbmltYXRpb24obm9uZSAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKG5hdlRyaWdnZXJXaWdnbGUpIHtcbiAgMCUge1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGxlZnQ6IDVweDtcbiAgfVxufVxuXG4jYW5pbWF0aW9uLTQwNCB7XG4gIC8vdG8gcmVzaXplIGZvciBzY3JlZW5zIGp1c3QgY2hhbmdlIGhlaWdodCBhbmQgd2lkdGggb2YgdGhpcyBjb250YWluZXJcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAyNTBweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgb2JqZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5hc3Ryb25hdXQsXG4gIC5zdGFycyxcbiAgLnBsYW5ldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy90byByZXNpemUgYW5kIHBvc2l0aW9uIGVsZW1lbnRzIGluIHRoZSBhbmltYXRpb24sIGNoYW5nZSBoZXJlXG4gIC8vIC5hc3Ryb25hdXQge1xuICAvLyAgIHdpZHRoOiAzMCU7XG4gIC8vICAgbGVmdDogNTAlO1xuICAvLyAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgLy8gICBib3R0b206IDAlO1xuICAvLyB9XG5cbiAgLy8gLnN0YXJzIHtcbiAgLy8gICB3aWR0aDogMTAwJTtcbiAgLy8gfVxuXG4gIC8vIC5wbGFuZXQge1xuICAvLyAgIHdpZHRoOiAxNSU7XG4gIC8vICAgcmlnaHQ6IDglO1xuICAvLyAgIHRvcDogMiU7XG4gIC8vIH1cblxuICAvL3RvIHNldCBhY3R1YWwgYW5pbWF0aW9uXG4gIC8vIC5jb250ZW50LWxvYWRlZCAmIHtcbiAgLy8gICBAaW5jbHVkZSBhbmltYXRpb24oc3BhY2VGbG9hdCAxMjBzIGluZmluaXRlIGFsdGVybmF0ZSkgLnBsYW5ldCBvYmplY3Qge1xuICAvLyAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHBsYW5ldFNwaW4gNDBzIGVhc2UtaW4gMHMgaW5maW5pdGUpO1xuICAvLyAgIH1cblxuICAvLyAgIC5hc3Ryb25hdXQgb2JqZWN0IHtcbiAgLy8gICAgIEBpbmNsdWRlIGFuaW1hdGlvbihhc3Ryb25hdXRGbG9hdCAyMHMgJGN1YmljLWJlemllciBpbmZpbml0ZSBhbHRlcm5hdGUpO1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoc3BhY2VGbG9hdCkge1xuICAwJSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDgwJTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdG9wOiAzMCU7XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdG9wOiAwJTtcbiAgICByaWdodDogNjAlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDgwJTtcbiAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoYXN0cm9uYXV0RmxvYXQpIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpIHRyYW5zbGF0ZSgwLCAtMzAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpIHRyYW5zbGF0ZSgwLCAtMTAlKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMocGxhbmV0U3Bpbikge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qIEtleUZyYW1lcyAqL1xuXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluT25Mb2FkKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTAwJTtcbiAgfVxufVxuIiwiOnJvb3Qge1xuICAtLXByb2plY3QtY29sb3ItdGhlbWU6ICN7JGMtcHJpbWFyeX07XG4gIC0tcHJvamVjdC1ia2ctdGhlbWU6ICN7JGMtb2ZmLXdoaXRlfTtcbn1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbiosXG4qOmFmdGVyLFxuKjpiZWZvcmUge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNCk7XG4gIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0O1xuICBmb250LXdlaWdodDogNDAwO1xuXG4gICYucG9wLXVwLWlzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuaW1nLFxudmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICAtbW96LXVzZXItZHJhZzogLW1vei1ub25lO1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnVsLFxub2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5hLFxuYTp2aXNpdGVkIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUge1xuICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICRjLXRleHQtZGFyaztcblxuICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNCk7XG59XG5cbi5oMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgzOCk7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDQ1KTtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg1MCk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQ0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDYwKTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg3Mik7XG4gIH1cbn1cblxuLmgyIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNDUpO1xuXG4gIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gIC8vICAgICBAaW5jbHVkZSBmb250LXNpemUoMzYpO1xuICAvLyAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNDMpO1xuICAvLyB9XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDM5KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0Nyk7XG4gIH1cblxuICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0OCk7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNTYpO1xuICB9XG59XG5cbi5oMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDMwKTtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDQwKTtcbiAgfVxufVxuXG4uaDQge1xuICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNSk7XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzMCk7XG4gIH1cbn1cblxuLmg1IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMzQpO1xuXG4gIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAvLyAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI1KTtcbiAgLy8gICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDMwKTtcbiAgLy8gfVxufVxuXG5wIHtcbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICBAZXh0ZW5kIGEuYW5pbWF0ZWQ7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuLmJvZHktdGV4dCB7XG4gIGgzLFxuICBoNCxcbiAgaDUge1xuICAgIG1hcmdpbjogMTAlIDAgMzBweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgQGV4dGVuZCAuaDM7XG4gIH1cblxuICBoNCxcbiAgaDUge1xuICAgIEBleHRlbmQgLmg0O1xuICB9XG5cbiAgY29sb3I6ICRjLXRleHQtZGFyaztcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNyk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzMCk7XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNSk7XG5cbiAgICAmICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjYzZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDM0KTtcbiAgICB9XG4gIH1cblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgbGkge1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGN1c3RvbTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGN1c3RvbSwgZGVjaW1hbC1sZWFkaW5nLXplcm8pICcnO1xuXG4gICAgICAgIEBleHRlbmQgLnNlY3Rpb24tdGl0bGU7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjY7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi43O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmJvZHktbGVkZSxcbi5ib2R5LWxlZGUgcCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5xdW90ZS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDM2KTtcbiAgdGV4dC1pbmRlbnQ6IC0wLjQ1ZW07XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDQ4KTtcbiAgfVxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzYpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDUyKTtcbiAgfVxuXG4gICZfX2NhbGxvdXQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNyk7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjIpO1xuICB9XG59XG5cbmZpZ3VyZSBmaWdjYXB0aW9uLFxuLmNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbn1cbiIsIi5jb250YWluZXIge1xuICBAaW5jbHVkZSBiYXNlLWNvbnRhaW5lcig4NCUpO1xuICBAaW5jbHVkZSBjb250YWluZXItbWF4LXdpZHRoO1xuXG4gICYtLWZ1bGwtc21hbGwge1xuICAgIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5mbGV4LXJvdyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG59XG5cbi5mbGV4LXJvdy1hdXRvIHtcbiAgQGluY2x1ZGUgZmxleC1yb3ctYXV0bygpO1xufVxuXG4ucm93IHtcbiAgQGluY2x1ZGUgcm93O1xufVxuXG4uY29udGVudC1jb2wtOCB7XG4gIEBpbmNsdWRlIGdyaWQtY29udGVudC1jb2wtODtcbn1cbiIsIiRuYXYtdHJhbnNpdGlvbi10aW1lOiAwLjI1cztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiBIZWFkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB6LWluZGV4OiA5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkbmF2LXRyYW5zaXRpb24tdGltZSxcbiAgICBoZWlnaHQgMHMgJG5hdi10cmFuc2l0aW9uLXRpbWU7XG5cbiAgLmhlYWRlci1pbm5lciB7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICB9XG4gICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxODgwcHgpIHtcbiAgICAvLyAgIC5jb250YWluZXIge1xuICAgIC8vICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIC8vICAgICB3aWR0aDogdW5zZXQ7XG4gICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAyMjVweDtcbiAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAyMjVweDtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAubmF2IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqIFNpdGUgTG9nb1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5zaXRlLWxvZ28ge1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTE1cHg7XG4gIG1hcmdpbjogMDtcbiAgLy8gZmxvYXQ6IGxlZnQ7XG4gIC8vIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cbiAgICBoZWlnaHQ6IDMxcHg7XG4gICAgd2lkdGg6IDkwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICB3aWR0aDogMTA3cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICYubGlnaHQsXG4gICAgICAmLmJsYWNrIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJi5kYXJrIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiBOYXYgVHJpZ2dlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5uYXYtdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBoZWlnaHQ6IDMxcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAubGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGFyaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgLy9tYXJnaW46IDdweCAwIDdweCBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMCkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgJGN1YmljLWJlemllcik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBib3R0b206IDVweDtcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogTWVudXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubmF2IHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRuYXYtdHJhbnNpdGlvbi10aW1lIDAuMXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIHBhZGRpbmc6IDUwcHggMCAzMnB4IDA7XG5cbiAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG5cbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgJi0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tZGVza3RvcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgLy8gICAgIHdpZHRoOiA4MCU7XG4gIC8vICAgICByaWdodDogMDtcbiAgLy8gfVxuXG4gIC5uYXZpZ2F0aW9uLXdyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvL21pbi1oZWlnaHQ6IDU1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICoqIE1haW4gYW5kIFV0aWxpdHlcbiAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBuYXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgzMiUpKTtcbiAgICAgIH1cblxuICAgICAgLm1lbnUtcHJpbWFyeSxcbiAgICAgIC5tZW51LXV0aWxpdHkge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0OCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjg1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDMwKTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4zcyAkY3ViaWMtYmV6aWVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICY6aG92ZXIge1xuICAgICAgICAgICAgLy8gICAgIGEge1xuICAgICAgICAgICAgLy8gICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgLy8gICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgLy8gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjM4ZTI7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgYm90dG9tOiAtNHB4O1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuMXMgJGN1YmljLWJlemllciAwcyk7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAkYW5pbWF0aW9uOiAuMjVzICRjdWJpYy1iZXppZXIgb2xkTGlua1VuZGVybGluZSwgLjI1cyAkY3ViaWMtYmV6aWVyIC4yNXMgbmV3TGlua1VuZGVybGluZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbigkYW5pbWF0aW9uKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGMtdGV4dC1zZWNvbmRhcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuMXMgJGN1YmljLWJlemllciAwcyk7XG4gICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZW51LXV0aWxpdHkge1xuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc29jaWFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDc1JTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxNzBweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgbGVmdDogODUlO1xuICB9XG5cbiAgLm1haWxpbmctbGlzdC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gICAgfVxuICB9XG59XG5cbi5uYXYtYWRkcmVzc2VzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHotaW5kZXg6IC0xO1xuXG4gIC5jb2wtaXRlbSB7XG4gICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIC5jb2wtaXRlbSB7XG4gICAgLmxvY2F0aW9uLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1sYWJlbCxcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogMTUuNzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIH1cblxuICAgIC5kZXNjIHtcbiAgICAgIC5hZGRyZXNzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBob25lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYgLnByaW1hcnktbmF2IGEuc2VsZWN0ZWQge1xuICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG59XG5cbi5uby10b3VjaGV2ZW50cyAuY2QtbmF2IC5jZC1wcmltYXJ5LW5hdiBhOmhvdmVyIHtcbiAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xufVxuXG4ubm8tanMgI2NvbnRlbnQsXG4ubm8tanMgI2NvbnRlbnQtY3VycmVudCB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5uby1qcyAubmF2IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm5vLWpzIC5uYXYgLm5hdmlnYXRpb24td3JhcHBlciB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDEwMHB4IDUlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqIENvbnRlbnQgd2hlbiBuYXYgaXMgb3BlblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubmF2aWdhdGlvbi1pcy1vcGVuIHtcbiAgI2hlYWRlciB7XG4gICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYXJrO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRuYXYtdHJhbnNpdGlvbi10aW1lLCBoZWlnaHQgMHM7XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlciAuaGVhZGVyLWlubmVyIHtcbiAgICAvL3Bvc2l0aW9uOiBmaXhlZDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50KTtcblxuICAgIEBpbmNsdWRlIGJwLW1heChtZWRpdW0pIHtcbiAgICAgIC5zaXRlLWxvZ28ge1xuICAgICAgICBhIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuNXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kYXJrLFxuICAgICAgICAgIC5ibGFjayB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5saWdodCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWVkaXVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdi10cmlnZ2VyIHtcbiAgICAubGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDEwcHgpIHJvdGF0ZSg0NWRlZykpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtOXB4KSByb3RhdGUoLTQ1ZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgI2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqIFBvc3QgU3BlY2lmaWMgSGVhZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuW3BhZ2UtY29sb3I9J2RhcmsnXSB7XG4gIC5oZWFkZXItaW5uZXIge1xuICAgIC5zaXRlLWxvZ28ge1xuICAgICAgYSB7XG4gICAgICAgIC5saWdodCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXJrLFxuICAgICAgICAuYmxhY2sge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LXRyaWdnZXIge1xuICAgICAgLmxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2IC5uYXZpZ2F0aW9uLXdyYXBwZXIgbmF2IC5tZW51LXByaW1hcnkgYSB7XG4gICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuXG5cbltwYWdlLWNvbG9yPSdwcm9qZWN0J10ge1xuICAuaGVhZGVyLWlubmVyIHtcbiAgICAuc2l0ZS1sb2dvIHtcbiAgICAgIGEge1xuICAgICAgICAubGlnaHQge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZGFyayB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibGFjayB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi10cmlnZ2VyIHtcbiAgICAgIC5saW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2IC5uYXZpZ2F0aW9uLXdyYXBwZXIgbmF2IC5tZW51LXByaW1hcnkgYSB7XG4gICAgY29sb3I6ICRjLWRhcms7XG4gIH1cbn1cbiIsImZvb3RlciB7XG4gIC5sb2NhdGlvbnNfX2NvbnRhaW5lcixcbiAgLm1lbnVfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgfVxuICB9XG5cbiAgLmZvb3RlciB7XG4gICAgJi1tb2R1bGUge1xuICAgICAgJi5jb250YWN0IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDMwcHggMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDgwcHggMCA3MHB4IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmNvbnRhaW5lciB7XG4gICAgICAgIC8vICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgLmZsZXgtcm93IHtcbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicC1tYXgobWVkaXVtKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzcpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0NSk7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoeHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0OCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNTYpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtY3RhIHtcbiAgICAgICAgICAgICAgLy8gLmZsZXgtcm93IHtcbiAgICAgICAgICAgICAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5uZXdzbGV0dGVyIHtcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgICAvLyBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgLy8gICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmxleC1yb3cge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgICAubmV3c2xldHRlciB7XG4gICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAmLWhlYWRpbmcge1xuICAgICAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtc3ViaGVhZGluZyB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9faW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNi41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYy1maWVsZC1ncm91cC50ZXh0IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLXByaW1hcnk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMHB4IDk5OTlweCAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYubWNlX2lubGluZV9lcnJvciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI21jZS1yZXNwb25zZXMge1xuICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxNyk7XG5cbiAgICAgICAgICAgICAgLnJlc3BvbnNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgIC5zdWJtaXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItY29sdW1ucyB7XG4gICAgJi5iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQlIDAgMyUgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWNvbHVtbiB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBicC1tYXgobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgICAmLm1ha2UtY29sdW1ucyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9vdGVyLWxvY2F0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFrZS1jb2x1bW5zIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC1tYXgobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNzBweDtcblxuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAubGFiZWwge1xuICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcblxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgLmFkZHJlc3MsXG4gICAgICAgIC5waG9uZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzLFxuICAgICAgICAubGFiZWwsXG4gICAgICAgIC5waG9uZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19sYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIC8vIG1heC13aWR0aDogNzUlO1xuXG4gICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmLm1ha2UtY29sdW1ucyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgLy8gJi5mb290ZXItbG9jYXRpb25zIHtcbiAgICAgICAgICAvLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIC8vICAgICAvLyBtaW4td2lkdGg6IDY1JTtcblxuICAgICAgICAgIC8vICAgICBsaSB7XG4gICAgICAgICAgLy8gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAvLyBsaSB7XG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIC8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAvLyB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItYm90dG9tIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgNDBweDtcblxuICAgIC5mbGV4LXJvdyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLXNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAkdHJhbnNpdGlvbnM6IHRyYW5zZm9ybSAwLjJzICRjdWJpYy1iZXppZXI7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTNweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItc29kYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5zb2RhLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4sXG4gICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqKioqKioqXG4qKiBSZXBvbnNpdmUgQ29udGFpbmVyXG4qKioqKioqKioqKioqKioqKioqKi9cblxuI3BhZ2UsXG4jZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHpvb206IDE7XG59XG5cbiNwYWdlIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvL21heC13aWR0aDogMTQyNXB4O1xufVxuXG4jcGFnZVtwYWdlLWNvbG9yPSdwcm9qZWN0J10ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1vZmYtd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2plY3QtYmtnLXRoZW1lKTtcbn1cblxuYXJ0aWNsZSB7XG4gIG1pbi1oZWlnaHQ6IDcwdmg7XG59XG4iLCIvKiEgRmxpY2tpdHkgdjIuMC4xMVxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uZmxpY2tpdHktdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAuc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLyogZHJhZ2dhYmxlICovXG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogRG90c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBsaW5lLWhlaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweCAxMHB4IDA7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1lZGl1bTtcblxuICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGluay1zZWxlY3RlZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiBBcnJvd3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgd2lkdGg6IDMwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4zcyk7XG5cbiAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMtdGV4dC1tZWRpdW0sIDAuOSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgZm9udC1mYW1pbHk6IGYtaWNvbnM7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI1KTtcbiAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBAZXh0ZW5kIC5pY29uLWFycm93O1xuICB9XG5cbiAgJi5wcmV2aW91cyB7XG4gICAgbGVmdDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0xMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4zcyAkY3ViaWMtYmV6aWVyKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZXh0IHtcbiAgICByaWdodDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocmlnaHQgMC4zcyAkY3ViaWMtYmV6aWVyKTtcbiAgICAgIHJpZ2h0OiAtMTAlO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmLnByZXZpb3VzOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi5uZXh0OmJlZm9yZSB7XG4gICAgICByaWdodDogMTAlO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqIENhcm91c2Vsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2luZ2xlLWNhcm91c2VsIHtcbiAgbWFyZ2luOiAwIC0yMnB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAwLjVzKTtcbiAgaGVpZ2h0OiA1NXZoICFpbXBvcnRhbnQ7XG4gIC8vIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gIC8vIFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLy8gfVxuICAuc2xpZGUge1xuICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC8vIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgZmlndXJlIHtcbiAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDUwdmg7XG5cbiAgICAgIGltZyxcbiAgICAgIHZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIG9wYWNpdHk6IDAuODtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMpO1xuXG4gICAgLmNvdW50ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjI1cyk7XG4gICAgfVxuXG4gICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAuY291bnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5mbGlja2l0eS5hdXRvcGxheSB7XG4gIC8vQGV4dGVuZCAubWFzb25yeS1ncmlkO1xuICAuc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIDAuNnMsIHZpc2liaWxpdHkgMHMgMC43cztcblxuICAgIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmlzLXNlbGVjdGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIDBzLCB2aXNpYmlsaXR5IDBzIDBzO1xuICAgIH1cbiAgfVxufVxuIiwiYXJ0aWNsZSB7XG4gIEBpbmNsdWRlIHBhZ2UtaGVhZGluZy1wYWRkaW5nO1xuXG4gICYucGFnZS5OZXdzIHtcbiAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDI3NXB4O1xuICAgIH1cbiAgfVxuICAmW3BhZ2UtY29sb3I9J3NlY29uZGFyeSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tZWRpdW07XG4gIH1cblxuICAmW3BhZ2UtY29sb3I9J2RhcmsnXSB7XG4gICAgQGV4dGVuZCAuYmFja2dyb3VuZC1kYXJrO1xuICB9XG5cbiAgLy8gYWxsb3cgbWFyZ2luIG9mIGNoaWxkIHRvIGJlIHJlc3BlY3RlZDtcbiAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cblxuLnBhZ2UtbW9kdWxlIHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBtYXJnaW46IDMwcHggYXV0bztcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIG1hcmdpbjogNiUgYXV0bztcbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICBtYXJnaW46IDUuNSUgYXV0bztcbiAgfVxuXG4gIC8vIG1vZHVsZSB1dGlsaXRpZXNcbiAgJi5iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIC8vICAgcGFkZGluZzogMTAlIDA7XG4gICAgLy8gfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gdGV4dCB1dGl0bGl0aWVzXG4gICZfX3N1YmhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICYubGluay1jdGEge1xuICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgLy8gICBtYXJnaW46IDYlIGF1dG8gOSU7XG4gICAgLy8gfVxuICAgIC5jdGEtbGlua3Mge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYucG9zdC1jYWxsb3V0ICsgJi5saW5rLWN0YSB7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMyU7XG4gICAgfVxuICB9XG5cbiAgLy9jdGFzXG4gICZfX2xhcmdlLWN0YXMge1xuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4IDA7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMCA1cHggMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDAgNXB4IDA7XG4gICAgfVxuXG4gICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDclO1xuICAgIC8vIH1cbiAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgLy8gfVxuXG4gICAgLmN0YS1saW5rcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgfVxuICB9XG5cbiAgJl9fc21hbGwtY3RhcyB7XG4gICAgLmN0YS1saW5rcyB7XG4gICAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG4gICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vbGlzdFxuICAmX19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblxuICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgIH1cblxuICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy10ZXh0LW1lZGl1bTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vbG9nbyBncmlkXG4gIC5sb2dvLWdyaWQge1xuICAgIC8vIGxpOm50aC1jaGlsZCgxbiArIDkpIHtcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuICAgIGxpOm50aC1jaGlsZCgxbiArIDEwKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAvLyBsaTpudGgtY2hpbGQoMW4gKyA5KSB7XG4gICAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBsaTpudGgtY2hpbGQoMW4gKyAxMCkge1xuICAgICAgLy8gICBkaXNwbGF5OiBub25lO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbGk6bnRoLWNoaWxkKDFuICsgMTApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGxpOm50aC1jaGlsZCgxbiArIDE2KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgIGxpOm50aC1jaGlsZCgxbiArIDE2KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubG9nby1ncmlkIHtcbiAgICAmLWlubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuICAgIH1cblxuICAgIC5ncmlkIHtcbiAgICAgIC8vIG1hcmdpbjogMCAtMyUgLTQlO1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IGNhbGMoLTMlIC0gN3B4KTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyB3aWR0aDogMTEwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogNyU7XG4gICAgICAvL21heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgcGFkZGluZzogNCUgMyU7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNSU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogNDBweCA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgcGFkZGluZzogMTBweCA1JTtcblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDUlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMi4yNSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC16ZWQoNW4pO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBicC1tYXgobWVkaXVtKSB7XG4gICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDEuMiUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC16ZWQoM24pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtemVkKDJuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBtb2R1bGUgdHlwZXNcbiAgJi5saXN0LWNhbGxvdXQge1xuICAgIC5mbGV4LXJvdyB7XG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3QtY2FsbG91dF9fdGV4dCB7XG4gICAgICBoMSxcbiAgICAgICYgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLW1vZHVsZV9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC16ZWQoMm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCgzbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1lZGlhLXRleHQtZ3JpZCB7XG4gICAgLm1lZGlhLXRleHQtZ3JpZF9fdGV4dCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgICB9XG5cbiAgICAgICYubGVmdF9hbGlnbiB7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yaWdodF9hbGlnbiB7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVkaWEtdGV4dC1ncmlkX19mdWxsLWltYWdlIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWRpYS10ZXh0LWdyaWRfX3R3by1pbWFnZXMge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxM3B4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIGZpZ3VyZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mbGV4LXJvdyArIC5mbGV4LXJvdyxcbiAgICAuZmxleC1yb3cgKyBmaWd1cmUge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50d28tY29sdW1uLXRleHQge1xuICAgIC5jb2wtbGVmdCxcbiAgICAuY29sLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLWxlZnQge1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1yaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNSU7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHhzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAlO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubG9nby1jYWxsb3V0IHtcbiAgICAubG9nby1jYWxsb3V0X19oZWFkaW5nLFxuICAgIC5sb2dvLWNhbGxvdXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZ3JpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbi10b3A6IDIlO1xuICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAtNCU7XG4gICAgICAvLyB3aWR0aDogMTEyJTtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiBjYWxjKC00JSAtIDExcHgpO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogLTIlO1xuICAgIH1cblxuICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgcGFkZGluZzogMiUgMyU7XG5cbiAgICAgIEBpbmNsdWRlIGVkZ2Uge1xuICAgICAgICBwYWRkaW5nOiA3cHggNiU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCA2JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgcGFkZGluZzogN3B4IDYlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggNiU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnR3by1jb2x1bW4taW1hZ2UtdGV4dCB7XG4gICAgLmNvbHVtbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwJTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zb2NpYWwtY2FsbG91dCB7XG4gICAgLnNvY2lhbC1jYWxsb3V0LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2xpZGVzaG93LWNhbGxvdXQge1xuICAgIC5zbGlkZXNob3ctY2FsbG91dCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAmLnN3aXRjaC1vcmRlciB7XG4gICAgICAgIC5zbGlkZXNob3ctY2FsbG91dF9fc2xpZGVzaG93IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAtYXJiKDgwMCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWRlc2hvdy1jYWxsb3V0X190ZXh0IHtcbiAgICAgICAgICBAaW5jbHVkZSBicC1hcmIoODAwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2xpZGVzaG93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicC1hcmIoODAwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgIH1cblxuICAgICAgJl9faW1hZ2UgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJwLWFyYig4MDApIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3N0LWNhbGxvdXQtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC5mdWxsLXdpZHRoLWNhbGxvdXQge1xuICAgICAgLnRlYXNlci10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnR3by1jYWxsb3V0cy13aXRoLWZvY3VzIHtcbiAgICAgIC50ZWFzZXItdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNSU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBlZGdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICYubGVmdF9wb3N0IHtcbiAgICAgICAgICAudGVhc2VyLXRpbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNSU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBmaXJlZm94KCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0X3Bvc3Qge1xuICAgICAgICAgIC50ZWFzZXItdGlsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1JTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBmaXJlZm94KCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50d28tY2FsbG91dHMtbm8tZm9jdXMge1xuICAgICAgLnRlYXNlci10aWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgLy8gICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAudGVhc2VyLXRpbGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZmxleC1yb3cgKyAuZmxleC1yb3cge1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbW9kdWxlX19sYXJnZS1jdGFzIGEge1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgJi5wb3N0LWNhbGxvdXQge1xuICAgIC5wb3N0LWNhbGxvdXQge1xuICAgICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAucG9zdC1jYWxsb3V0X19pbWFnZS13cmFwcGVyLFxuICAgICAgICAgIC5wb3N0LWNhbGxvdXRfX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmxlZnRfYWxpZ24ge1xuICAgICAgICAgICAgLnBvc3QtY2FsbG91dF9fY29udGVudCB7XG4gICAgICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4JTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC1jYWxsb3V0X19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5yaWdodF9hbGlnbiB7XG4gICAgICAgICAgICAucG9zdC1jYWxsb3V0X19jb250ZW50IHtcbiAgICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LWNhbGxvdXRfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNSUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgLnBvc3QtY2FsbG91dF9faW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wb3N0LWNhbGxvdXRfX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnJpZ2h0X2FsaWduIC5wb3N0LWNhbGxvdXRfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxlZnRfYWxnaW4gLnBvc3QtY2FsbG91dF9faW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjUpO1xuXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDI4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMzQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtbGlua3Mge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZsZXgtcm93IHtcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC8vICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJhY2tncm91bmQtY29sb3Ige1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50aHJlZS1tZWRpYS1jYWxsb3V0IHtcbiAgICAudGhyZWUtbWVkaWEtY2FsbG91dF9fbWVkaWEtLXNtIHtcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC50aHJlZS1tZWRpYS1jYWxsb3V0X19tZWRpYS0tbGcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aHJlZS1tZWRpYS1jYWxsb3V0X19tZWRpYS0tbGdfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDMxLjY2NjY2NjclO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjUlO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi50aHJlZS1wb3N0LWNhbGxvdXQge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAmLmJhY2tncm91bmQtY29sb3Ige1xuICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1tb2R1bGUtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgICAgICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMyKTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNDApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZsZXgtcm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC50ZWFzZXItdGlsZS1uZXdzX19zdWJoZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAtbWF4KG1lZGl1bSkge1xuICAgICAgICAudGVhc2VyLXRpbGUge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICoge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlci10aWxlIHtcbiAgICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjQ1JTtcblxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjg1JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjg1JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWdlLW1vZHVsZV9fbGFyZ2UtY3RhcyBhIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYudGV4dC1jYWxsb3V0IHtcbiAgICAudGV4dC1jYWxsb3V0X190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDQuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LWNhbGxvdXQtc21hbGwge1xuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiA1JSAwO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LWNhbGxvdXQtc21hbGxfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAgOC41NCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLnRleHQtY2FsbG91dC1zbWFsbF9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOC41NCU7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNhbGxvdXQtc21hbGxfX2xpbmsge1xuICAgICAgICAucGFnZS1tb2R1bGVfX3NtYWxsLWN0YXMgLmN0YS1saW5rcyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY3VzdG9tLXNob3J0Y29kZSB7XG4gICAgLnZpZXctbGFiZWwge1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgJi5jbGllbnQtZ3JpZCxcbiAgJi5ibG9ja3RleHQge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICB9XG4gIH1cblxuICAuYmxvY2txdW90ZV9faW5uZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg4KTtcbiAgICB9XG4gICAgLmF0dHJpYnV0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5jbGllbnQtZ3JpZCB7XG4gICAgLmNsaWVudC1ncmlkX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuICB9XG5cbiAgJi50d28taW1hZ2Utcm93IHtcbiAgICAuZmlndXJlLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWVkaWEtZ3JpZCB7XG4gICAgLm1lZGlhLWdyaWQge1xuICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2VudHJ5IHtcbiAgICAgICAgJi0taW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS10b3AtbGVmdCB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICYtLWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLWJvdHRvbS1yaWdodCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogOSAvIHNwYW4gMztcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiA2O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjklO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLXRvcC1yaWdodCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogOSAvIHNwYW4gNDtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLXRvcC1sZWZ0IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiA4O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAmLS1ib3R0b20tbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMzAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucXVvdGUtY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC5mbGV4LXJvdyB7XG4gICAgICAgIC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIC5mbGV4LXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICB9XG5cbiAgICAgIC5SaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucXVvdGUtY2FsbG91dCB7XG4gICAgICAmX19pbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjLW1lZGl1bSwgNSUpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuXG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMTBweDtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwyMDFDJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucXVvdGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAuYXR0cmlidXRpb24ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJl9fZGV0YWlscyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudGV4dC1ncmlkLFxuICAmLm1lZGlhLXRleHQtZ3JpZCB7XG4gICAgLnRleHQtZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjUpO1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDM0KTtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgLy8gY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA2NTBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jYWxsb3V0LWxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjU0JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOC41NCU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMi41JTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudGV4dC1ibG9jayB7XG4gICAgLnRleHQge1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlZnRfYWxpZ24ge1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0X2FsaWduIHtcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGVhZGxpbmUtY2FsbG91dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNCU7XG5cbiAgICAmLnBhZ2UtbW9kdWxlICsgLnBhZ2UtbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDUwcHggMDtcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDEwMHB4IDAgMTAwcHggMDtcbiAgICAgIH1cbiAgICAgICYuYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuY29udGFpbmVyIHtcbiAgICAvLyAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIC8vICAgICBtYXJnaW46IDA7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgLmhlYWRsaW5lLWNhbGxvdXQge1xuICAgICAgJl9fbGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtbGluZSgpO1xuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc3ViaGVhZGluZyB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRsaW5lIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjUpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXJlZXJzIHtcbiAgJi1jYWxsb3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cmVtO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vL25ld3Ncbi5wb3N0LTY1MiB7XG4gIC5zZWFyY2gtZmlsdGVyLXJlc3VsdHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnBlb3BsZS12aWV3IHtcbiAgJl9fcGVyc29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoeHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCgybik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwLW1heChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCgzbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDMpO1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCg0bik7XG4gICAgfVxuICB9XG59XG5cbi5tZWRpYS1ncmlkLXdpdGgtY29weV9fY29sLXB1c2gtcmlnaHQsXG4ubWVkaWEtZ3JpZC13aXRoLWNvcHlfX2NvbC1wdXNoLWxlZnQsXG4ubWVkaWEtZ3JpZC13aXRoLWNvcHlfX2NvbC1wdXNoLWxlZnQtMiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVkaWEtZ3JpZC13aXRoLWNvcHlfX2NvbCB7XG4gIC5maWd1cmUtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIC0xMCUgNSU7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wtcHVzaC1yaWdodCxcbiAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wtcHVzaC1sZWZ0LFxuICAubWVkaWEtZ3JpZC13aXRoLWNvcHlfX2NvbC1wdXNoLWxlZnQtMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG5cbiAgICAuZmlndXJlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIDAgNSU7XG4gICAgfVxuXG4gICAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wtcHVzaC1yaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE3LjA4JTtcbiAgICB9XG4gICAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wtcHVzaC1sZWZ0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE3LjA4JTtcbiAgICB9XG4gICAgLm1lZGlhLWdyaWQtd2l0aC1jb3B5X19jb2wtcHVzaC1sZWZ0LTIge1xuICAgICAgcGFkZGluZy1yaWdodDogMzQuMTYlO1xuICAgIH1cblxuICAgIC5tZWRpYS1ncmlkLXdpdGgtY29weV9fY29sLXB1c2gtYm90aCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDE3LjA4JTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnRfZ3JpZF9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4uY29udGVudF9ncmlkX19pdGVtIHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cblxuICBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTMpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE1KTtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJy0nO1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMTVweDtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgfVxuICB9XG59XG4uY29udGVudF9ncmlkX3Jvdy0tMiB7XG4gIC5jb250ZW50X2dyaWRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICB9XG4gIH1cbn1cbi5jb250ZW50X2dyaWRfcm93LS0zIHtcbiAgLmNvbnRlbnRfZ3JpZF9faXRlbSB7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgIH1cbiAgfVxufVxuLmxhYnMtY2FsbG91dCB7XG4gIC5wYWdlLW1vZHVsZV9fc3ViaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjglO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICB9XG4gIC5jdGEtbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDMycHggMCA1cHggMDtcbiAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgbWFyZ2luOiA0OHB4IDA7XG4gICAgfVxuICB9XG59XG5cbi5mbGlja2l0eS10aWxlc19faXRlbSB7XG4gIHdpZHRoOiA4NCU7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgfVxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4vLyA2LjA0MTY3ICogMTJcbi8vIDIuNSAqIDExXG5cblxuXG4ud29yay12aWV3IHtcblxufVxuXG4ud29yay12aWV3X19hY2NvcmRpb24taGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1ib3JkZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLndvcmstdmlld19fYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG5cbiAgYXJ0aWNsZVtwYWdlLWNvbG9yPVwiZGFya1wiXSAmIHtcbiAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG5cbiAgICBwYXRoIHtcbiAgICAgIHN0cm9rZTogJGMtdGV4dC1tZWRpdW07XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi53b3JrLXZpZXdfX2FjY29yZGlvbi1idXR0b24tLWlubmVyIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICByaWdodDogOXB4O1xuICB6LWluZGV4OiAyO1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC53b3JrLXZpZXdfX2FjY29yZGlvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICBhcnRpY2xlW3BhZ2UtY29sb3I9XCJkYXJrXCJdICYge1xuICAgIHBhdGgge1xuICAgICAgc3Ryb2tlOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuXG4ud29yay12aWV3X19hY2NvcmRpb24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9lbSAwLjE1cyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIC5pcy1vcGVuICYge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbn1cblxuLndvcmstdmlld19fYWNjb3JkaW9uLXRpdGxlIHtcbiAgY29sb3I6ICRjLXByaW1hcnk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYy1wcmltYXJ5O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYXJ0aWNsZVtwYWdlLWNvbG9yPVwiZGFya1wiXSAmIHtcbiAgICBjb2xvcjogJGMtbGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYy1saWdodDtcbiAgfVxufVxuXG4ud29yay12aWV3X19idXR0b25zLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4ud29yay12aWV3X19idXR0b24tcm93IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xOHB4O1xuICByaWdodDogLTE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0O1xuICB6LWluZGV4OiAyMDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkY3ViaWMtYmV6aWVyO1xuICB9XG5cbiAgJi5pcy1yZWFkeSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYy1ncmF5LWJvcmRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC43NXM7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cblxuICAgICYud29yay12aWV3X19idXR0b24tcm93LS1hbmltYXRlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGVbcGFnZS1jb2xvcj1cImRhcmtcIl0gJiB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGMtZGFya2VzdC1vbi1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4ud29yay12aWV3X19idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjY7XG4gIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4cHgpO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDIwIHtcbiAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgJG9wYWNpdHlEZWxheTogKCRpICogMC4wNHMpICsgMC4wMnM7XG4gICAgICAkdHJhbnNmb3JtRGVsYXk6ICgkaSAqIDAuMDZzKSArIDAuMDJzO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjc1cyAkb3BhY2l0eURlbGF5LCB0cmFuc2Zvcm0gMC42NXMgJHRyYW5zZm9ybURlbGF5O1xuICAgIH1cbiAgfVxuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLmlzLXJlYWR5ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHdpZHRoOmF1dG87XG4gICAgaGVpZ2h0OiA1NHB4O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA0MHB4LCAwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC43NXM7XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDIwIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICRvcGFjaXR5RGVsYXk6ICgkaSAqIDAuMDhzKSArIDAuMnM7XG4gICAgICAgICR0cmFuc2Zvcm1EZWxheTogKCRpICogMC4wOHMpICsgMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjc1cyAkb3BhY2l0eURlbGF5LCB0cmFuc2Zvcm0gMC42NXMgJHRyYW5zZm9ybURlbGF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC53b3JrLXZpZXdfX2J1dHRvbi1yb3ctLWFuaW1hdGVkICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGNvbG9yOiAkYy1ncmF5LTM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xOHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC43NXMgMC41NXMsIHRyYW5zZm9ybSAwLjY1cyAwLjQ1cyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJiArICYge1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDcuNSU7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuXG4gICAgc3BhbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGMtcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuXG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhcnRpY2xlW3BhZ2UtY29sb3I9XCJkYXJrXCJdICYge1xuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGMtZGFya2VzdC1vbi1kYXJrO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHNwYW4ge1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGNvbG9yOiAkYy1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuXG4gICAgICBzcGFuIHtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIGNvbG9yOiAkYy1saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud29yay12aWV3X19hY3RpdmUtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIGJvdHRvbTogLTJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllciguNTcsLjI5LC4wNiwuOTYpIDAuMXMsIGxlZnQgMC41cyBjdWJpYy1iZXppZXIoLjU3LC4yOSwuMDYsLjk2KTtcbiAgfVxuXG4gIGFydGljbGVbcGFnZS1jb2xvcj1cImRhcmtcIl0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGV4dC1saWdodDtcbiAgfVxufVxuXG4ud29yay12aWV3X19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud29yay12aWV3X19wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG5cbiAgJi5pcy1yZWFkeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLndvcmstdmlld19fdGVhc2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTJweDtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAmOm50aC1jaGlsZCgzbisyKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi53b3JrLXZpZXdfX3RlYXNlci0taGFsZiB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgfVxufVxuXG4ud29yay12aWV3X190ZWFzZXItLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcblxuICAud29yay12aWV3X190ZWFzZXItdGl0bGUge1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgIH1cbiAgfVxufVxuXG4ud29yay12aWV3X190ZWFzZXItaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud29yay12aWV3X190ZWFzZXItY2xpZW50IHtcbiAgb3JkZXI6IDI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAkYy1wcmltYXJ5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBvcmRlcjogMTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTMpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLndvcmstdmlld19fdGVhc2VyLWltYWdlIHtcbiAgb3JkZXI6IDE7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBvcmRlcjogMjtcbiAgfVxufVxuXG4ud29yay12aWV3X190ZWFzZXItdGl0bGUge1xuICBvcmRlcjogMztcbiAgQGluY2x1ZGUgZm9udC1zaXplKDI1KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDMyKTtcbiAgfVxufVxuXG4ud29yay12aWV3X190ZWFzZXItc2VydmljZXMge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gIC8vICAgb3JkZXI6IDQ7XG4gIC8vICAgZGlzcGxheTogYmxvY2s7XG4gIC8vIH1cbn1cblxuLndvcmstdmlld19fdGVhc2VyLXNlcnZpY2VzLXRleHQge1xuICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICBjb2xvcjogJGMtZ3JheS00O1xufVxuXG5cbi5saW5lZC1jYWxsb3V0LWxvY2t1cF9fbGluZWQtY29sdW1uLFxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX19pbWFnZS1ncmlkIHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICB9XG59XG5cblxuXG4ubGluZWQtY2FsbG91dC1sb2NrdXBfX2NhbGxvdXRzIHtcbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5cbi5saW5lZC1jYWxsb3V0LWxvY2t1cF9fY2FsbG91dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIHBhZGRpbmctbGVmdDogMTA2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTNweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI0cyAkY3ViaWMtYmV6aWVyIDAuNDVzO1xuICB9XG5cbiAgJi5fc2Nyb2xsLWFuaW1hdGVkOmFmdGVyIHtcbiAgICB3aWR0aDogMjRweDtcblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDc4cHg7XG4gICAgfVxuICB9XG5cbiAgJiArICYge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG4gIH1cbn1cblxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX190aXRsZSxcbi5saW5lZC1jYWxsb3V0LWxvY2t1cCBwLFxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwIGxpLFxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwICoge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5saW5lZC1jYWxsb3V0LWxvY2t1cF9faW1hZ2UtZ3JpZC1yb3cge1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX19pbWFnZS0tdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbn1cblxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX19pbWFnZS0tbWlkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZmxleDogMCAwIDcwJTtcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICBvcmRlcjogMjtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gIH1cbn1cblxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX19pbWFnZS0tYm90IHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZmxleDogMCAwIDMwJTtcbiAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nLXRvcDogMTV2aDtcbiAgfVxufVxuXG4ubGluZWQtY2FsbG91dC1sb2NrdXAtLWxlZnQge1xuXG4gIC5saW5lZC1jYWxsb3V0LWxvY2t1cF9fbGluZWQtY29sdW1uIHtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuXG4gIC5saW5lZC1jYWxsb3V0LWxvY2t1cF9faW1hZ2UtZ3JpZCB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjUlO1xuICAgIH1cblxuICAgIC5saW5lZC1jYWxsb3V0LWxvY2t1cF9faW1hZ2UtLXRvcCB7XG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpbmVkLWNhbGxvdXQtbG9ja3VwX19saW5lZC1jb2x1bW4tLXJpZ2h0IHtcblxuICAubGluZWQtY2FsbG91dC1sb2NrdXBfX2NhbGxvdXQge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cbiAgICAmLl9zY3JvbGwtYW5pbWF0ZWQ6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC42NHM7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBUaXRsZVxuLndvcmstdmlld19fdGVhc2VyLWNsaWVudCxcbi50ZWFzZXItdGlsZS1wcm9qZWN0X19jbGllbnQtbmFtZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzICRjdWJpYy1iZXppZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgd2lsbC1jaGFuZ2U6IHdpZHRoO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzICRjdWJpYy1iZXppZXI7XG5cbiAgICBbcGFnZS1jb2xvcj0nZGFyayddICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gICAgfVxuXG4gIH1cbn1cblxuLnRlYXNlci10aWxlLXByb2plY3RfX2NsaWVudC1uYW1lIHtcbiAgJjpiZWZvcmUge1xuICAgIHRvcDogOHB4O1xuICB9XG59XG5cbi8vIExpbmsgSG92ZXJcbi53b3JrLXZpZXdfX3RlYXNlci1pbm5lcixcbi50ZWFzZXItdGlsZS1wcm9qZWN0X19pbm5lciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuXG4gICAgLndvcmstdmlld19fdGVhc2VyLWNsaWVudCxcbiAgICAudGVhc2VyLXRpbGUtcHJvamVjdF9fY2xpZW50LW5hbWUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1NHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyAkY3ViaWMtYmV6aWVyICAwLjAycztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9jb250YWN0IHBhZ2VcbiN0d28tY29sdW1uLWltYWdlLXRleHQtMyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLy9jYXJlZXIgcGFnZVxuI21lZGlhLWdyaWQtMSB7XG4gIEBpbmNsdWRlIGJwKG1lZGl1bSl7XG4gICAgbWFyZ2luOiAyMHB4IDAgLTMwcHggMDtcbiAgfVxufVxuIiwiLnBhZ2UtaGVhZGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNTBweCAwO1xuICB9XG5cbiAgJi5wcm9qZWN0LWJvZHkge1xuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgW3BhZ2UtY29sb3I9J2RhcmsnXSAmIHtcbiAgICAucGFnZS1oZWFkaW5nX190ZXh0IHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2N0YXMge1xuICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgfVxuXG4gICAgJi1zdWJ0aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICYtaGVhZGxpbmUge1xuICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjUpO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMzgpO1xuICAgICAgfVxuXG4gICAgICAmLl9zY3JvbGwtdGV4dCB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC43NXMgMC4zNzVzLCB0cmFuc2Zvcm0gMC43NXMgMC4zNzVzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICB9XG4gICAgfVxuICAgICYuX3Njcm9sbC1hbmltYXRlZCB7XG4gICAgICAucGFnZS1oZWFkaW5nX190ZXh0LWNvbnRlbnQuX3Njcm9sbC10ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY3RhcyB7XG4gICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gJi53aXRoLWN0YSB7XG4gIC8vICAgICAucGFnZS1oZWFkaW5nX19jdGFzIHtcbiAgLy8gICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgLy8gICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC8vICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICB9XG4gIC8vIH1cblxuICAvLyBpbmZvQCBlbWFpbCBpbiBoZWFkbGluZVxuXG4gICYuV29yayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuQ2FyZWVycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICYuQ29udGFjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicCh0b3ApIHtcbiAgICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5BYm91dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAgJi5BcHByb2FjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguaXMtaG9tZS1wYWdlKSB7XG4gICAgLmNhbGxvdXQtbGluZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4vL2NhcmVlciBtZWRpYSBncmlkIGhhcyBhIGRvdWJsZSBtYXJnaW4tYm90dG9tIGZvciBzb21lIHJlYXNvblxuI3RleHQtYmxvY2stMiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IGYtaWNvbnM7XG4gIHNyYzogdXJsKCdmb250cy9ibHVlY2FkZXRjb20uZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9ibHVlY2FkZXRjb20uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJ2ZvbnRzL2JsdWVjYWRldGNvbS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCdmb250cy9ibHVlY2FkZXRjb20udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnZm9udHMvYmx1ZWNhZGV0Y29tLnN2ZyNibHVlY2FkZXRjb20nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBmLWljb25zO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHNwZWFrOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWluZGVudDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltjbGFzc149J2ljb24tJ106YmVmb3JlLFxuW2NsYXNzKj0nIGljb24tJ106YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluIDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluIDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IGYtaWNvbnM7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgc3BlYWs6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtaW5kZW50OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmljb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjEnO1xufVxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjUnO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFw2Myc7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjQnO1xufVxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFw2Nic7XG59XG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDY3Jztcbn1cbiIsIi8vIEltYWdlc1xuZmlndXJlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmltYWdlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmX18xNl85IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgfVxuXG4gICAgJl9fNl80IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni43JTtcbiAgICB9XG5cbiAgICAmX18xXzEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDk5LjE2JTtcbiAgICB9XG5cbiAgICAmX19vdGhlciB2aWRlb1twb3N0ZXJdIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICY6bm90KC5pbWFnZS13cmFwcGVyX19vdGhlcikge1xuICAgICAgcGljdHVyZSxcbiAgICAgIGltZyxcbiAgICAgIHZpZGVvLFxuICAgICAgLmItbGF6eS12aWRlby1mYWxsYmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGllMTEge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlWigwKTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmlkZW8ge1xuICAgICAgICAvLyBAaW5jbHVkZSBlZGdlIHtcbiAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDEyMCU7IC8vZm9yIG5vdyB1bnRpbCB3ZSBnZXQgcGljdHVyZWZpbGwgZ29pbmdcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBAaW5jbHVkZSBpZTExIHtcbiAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDEyMCU7IC8vZm9yIG5vdyB1bnRpbCB3ZSBnZXQgcGljdHVyZWZpbGwgZ29pbmdcbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5naWYtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYgKyAuZ2lmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIG1heC13aWR0aDogNjgwcHg7XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLnNob3dfaW1hZ2Uge1xuICAgIHBpY3R1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi52aWRlb190b2dnbGUge1xuICAgIC5fdmlkLXJldmVhbC1yZW1vdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGljdHVyZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlkZW8tYnV0dG9uIHtcbiAgei1pbmRleDogNDtcbiAgLy8gZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogNjhweDtcbiAgd2lkdGg6IDY4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnBsYXktZXhwYW5kIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjLXRleHQtZGFyaywgMC41KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2plY3QtYmtnLXRoZW1lKTtcbiAgICB9XG5cbiAgICAucGxheS1pY29uOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01NCUsIC01MCUpIHNjYWxlKDAuODUsIDAuODUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1wcm9qZWN0LWNvbG9yLXRoZW1lKTtcbiAgICB9XG5cbiAgICAucGxheS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkYy1saWdodDtcbiAgICB9XG4gIH1cblxuICBkaXYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGMtdGV4dC1kYXJrLCAwLjUpO1xuICAgIGhlaWdodDogNjhweDtcbiAgICB3aWR0aDogNjhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAucGxheS1leHBhbmQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE5cHg7XG4gICAgdG9wOiAxOXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjVzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuMTVzIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgfVxuXG4gIC5wbGF5LWljb24ge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTYlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTQlLCAtNTAlKSBzY2FsZSgxLCAxKTtcbiAgICAgIC8vIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIC8vIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIC8vIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRjLWxpZ2h0O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMTdweCAwIDE3cHggMzBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGMtbGlnaHQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cblxuICAucGxheS10ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC40NXMgZWFzZS1pbi1vdXQ7XG4gIH1cbn1cbiIsIi5tZW51LXNvY2lhbCB7XG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAkdHJhbnNpdGlvbnM6IGNvbG9yIDAuMnMgJGN1YmljLWJlemllciwgdHJhbnNmb3JtIDAuMnMgJGN1YmljLWJlemllcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtM3B4KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5hLmxpbmstYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gIHotaW5kZXg6IDU7XG59XG5cbi8qIEJhY2tncm91bmQgQ29sb3JzICovXG4uYmFja2dyb3VuZC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tZWRpdW07XG59XG5cbi5iYWNrZ3JvdW5kLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlnaHQ7XG59XG5cbi5iYWNrZ3JvdW5kLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYXJrO1xuICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG5cbiAgYSxcbiAgLmZhdXgtbGluayB7XG4gICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gIH1cblxuICAuaDEsXG4gIC5oMixcbiAgLmgzLFxuICAuaDQsXG4gIC5oNSxcbiAgLmg2LFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgLnRleHQtZ3JpZF9fc3ViaGVhZGluZyB7XG4gICAgY29sb3I6ICRjLXRleHQtbGlnaHQ7XG4gIH1cblxuICBmaWd1cmUgZmlnY2FwdGlvbixcbiAgLmNhcHRpb24sXG4gIC5xdW90ZS10ZXh0LFxuICAucGFnZS1tb2R1bGUtbGFiZWwge1xuICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgfVxuXG4gIC5pbWFnZS13cmFwcGVyIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodDtcbiAgfVxuXG4gIC5iYWNrZ3JvdW5kLXdoaXRlLFxuICAuYmFja2dyb3VuZC1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG5cbiAgICAuaDEsXG4gICAgLmgyLFxuICAgIC5oMyxcbiAgICAuaDQsXG4gICAgLmg1LFxuICAgIC5oNixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBhLFxuICAgIC5mYXV4LWxpbmsge1xuICAgICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLmJhY2tncm91bmQtYmxhY2sge1xuICBAZXh0ZW5kIC5iYWNrZ3JvdW5kLWRhcms7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGMtdGV4dC1saWdodCAhaW1wb3J0YW50O1xuXG4gIGEge1xuICAgIGNvbG9yOiAkYy10ZXh0LWxpZ2h0O1xuICB9XG59XG5cbi8qIEZvbnQgKi9cblxuLnNlY3Rpb24taGVhZGluZyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNCk7XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICRjLXByaW1hcnk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcblxuICBsZXR0ZXItc3BhY2luZzogMS43NXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICYudGF4b25vbXkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG5cbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB9XG59XG5cbi5hc2lkZS10aXRsZSxcbi5sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMyk7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE1KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYWRkLXF1b3RhdGlvbi1tYXJrcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxQyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAxRCc7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICB9XG59XG5cbi8qIFBhZ2UgTmF2aWdhdGlvbnMgKi9cblxuI3BhZ2UtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gICYucGVvcGxlIHtcbiAgICBAaW5jbHVkZSBicC1tYXgobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5uZXh0LFxuICAgIC5wcmV2IHtcbiAgICAgIHRvcDogMjAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIHRvcDogMjMwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICB0b3A6IDMyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uZXh0LFxuICAucHJldiB7XG4gICAgdG9wOiAyMDBweDtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICB0b3A6IDI4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgdG9wOiAzMjVweDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOCk7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuaWNvbi1hcnJvdyB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcblxuICAgICAgJHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAkdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzICRjdWJpYy1iZXppZXIsIG9wYWNpdHkgMC4yNXM7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICB3aWR0aDogODVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuMjVzICRjdWJpYy1iZXppZXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmljb24tYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uZXh0IHtcbiAgICByaWdodDogMDtcblxuICAgIC5pY29uLWFycm93IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmljb24tYXJyb3c6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTI1cHgpKTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg1cHgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJldiB7XG4gICAgbGVmdDogMDtcblxuICAgIC5pY29uLWFycm93OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMzBweCkgcm90YXRlKDE4MGRlZykpO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5pY29uLWFycm93OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC03cHgpIHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNXB4KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qRW1iZWQgV3JhcHBlcnMgKi9cblxuLm9lbWJlZC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLyogTWFzb25yeSBHcmlkICovXG5cbi5tYXNvbnJ5LWdyaWQge1xuICBtYXJnaW46IDAgLTAuODUlO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzNnB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIH1cblxuICAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTZWFyY2ggYW5kIEZpbHRlciAqL1xuXG4uc2VhcmNoYW5kZmlsdGVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1tYXgtd2lkdGg7XG5cbiAgJiA+IHVsIHtcbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMik7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygxMCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAuc2YtbGV2ZWwtMCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuc2Ytb3B0aW9uLWFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xuXG4gICAgY29sb3I6ICRjLWdyYXktZGFyaztcbiAgfVxufVxuXG4uc2VhcmNoLWZpbHRlci1yZXN1bHRzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG5cbiAgLnNlYXJjaC1maWx0ZXItcmVzdWx0cy1saXN0IHtcbiAgICAvL25ld3NcbiAgICAucG9zdC02NTIgJiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdyhzdGFydCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgwKTtcbiAgICAgIH1cblxuICAgICAgLndwLXBhZ2VuYXZpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDIpO1xuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBoMyB7XG4gICAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYmFjay10by10b3Age1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC5jdGEtbGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi53cC1wYWdlbmF2aSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGMtZ3JheS1kYXJrO1xuXG4gIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIGEsXG4gIC5jdXJyZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOCk7XG4gIH1cblxuICAuY3VycmVudCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA0cHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkYy1wcmltYXJ5O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICB9XG59XG5cbi5lcnJvci00MDQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy96LWluZGV4OiAxO1xuICAgIC5iYWNrZ3JvdW5kLWNvbG9yLFxuICAgIC5wYWdlLWhlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMSxcbiAgICBzZWN0aW9uIGRpdiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdpZHRoOiA4MCU7XG5cbiAgICBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgYm90dG9tOiAtMnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLW1heChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLmxpbmUtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uY2FsbG91dC1saW5lIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1saW5lKCk7XG59XG5cbi8vIFNjcmVlbiBSZWFkZXIgT25seSBDbGFzc1xuLnNyLW9ubHkge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG59XG4iLCIudGVhc2VyLXRpbGUge1xuICAudGVhc2VyLWltYWdlLXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRjdWJpYy1iZXppZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuXG4gICAgLnRlYXNlci1pbWFnZS1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAkY3ViaWMtYmV6aWVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gIH1cblxuICAmLXByb2plY3QsXG4gICYtbmV3cyB7XG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fY2xpZW50LW5hbWUsXG4gICAgJl9fc3ViaGVhZGluZyxcbiAgICAmX193ZWJzaXRlIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcsXG4gICAgJl9fd2Vic2l0ZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuNHMgJGN1YmljLWJlemllcik7XG4gICAgfVxuXG4gICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMDtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAuc2VydmljZSB7XG4gICAgICAgIEBpbmNsdWRlIHNlcnZpY2UtdGFncygpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLnRlYXNlci10aWxlLXByb2plY3RfX2NsaWVudC1uYW1lLFxuICAgICAgLnRlYXNlci10aWxlLW5ld3NfX3N1YmhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxhYnMge1xuICAgIC5leGNlcnB0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIyKTtcbiAgICAgIGNvbG9yOiAjOTc5Nzk3O1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyA6aG92ZXIge1xuICAgIC8vICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOTYpKTtcblxuICAgIC8vICAgICAudGVhc2VyLWltYWdlLWlubmVyIHtcbiAgICAvLyAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNCkpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG5cbiAgJi5wZXJzb24ge1xuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICRoZWFkc2hvdFBhZGRpbmc6IDE4JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZHNob3RQYWRkaW5nO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAmLmItbG9hZGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg5OS4xNiUgKyAjeyRoZWFkc2hvdFBhZGRpbmd9KTtcbiAgICB9XG5cbiAgICAubWV0YS1kYXRhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmb250LWZhbWlseTogZi1pY29ucztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICAgICAgICAkdHJhbnNpdGlvbnM6IHRyYW5zZm9ybSAwLjJzICRjdWJpYy1iZXppZXIsIGNvbG9yIDAuMnMsIG9wYWNpdHkgMC4ycztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOTYpKTtcblxuICAgICAgICAudGVhc2VyLWltYWdlLWlubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jdGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoNnB4KSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICBAZXh0ZW5kIC5pY29uLWFycm93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbmV3cyB7XG4gICAgLnRlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAmX190eXBlIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuXG4gICAgICAmLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zZXJ2aWNlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAudGVhc2VyLXRpbGUtc2VydmljZV9faW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTByZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC50ZWFzZXItY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgLmRlc2MsXG4gICAgICAgIC5jdGEtbGlua3Mge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLWxpbmtzIGEge1xuICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRlYXNlci1pbWFnZS13cmFwcGVyLFxuICAgICAgLnRlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAudGVhc2VyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg1KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAudGVhc2VyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGVhc2VyLWltYWdlLXdyYXBwZXIge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgLnRlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFzZXItaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgLnRlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRlYXNlci1saXN0LWl0ZW0ge1xuICAmLm5ld3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoMG4gKyAxKSxcbiAgICAgICY6bnRoLW9mLXR5cGUoMG4gKyAyKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAubGluZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5saW5lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmN0YS1saW5rcyB7XG4gICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAudGVhc2VyLXRpbGUtbmV3c19faW5uZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC50ZWFzZXItaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgZmxleDogMCAwIDQ3LjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlci1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIGZsZXg6IDAgMCA0Ny41JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMG4gKyAxKSxcbiAgICAmOm50aC1vZi10eXBlKDBuICsgMikge1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgLmN0YS1saW5rcyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIC5saW5lLXdyYXBwZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTEuNSU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGVhc2VyLXRpbGUtbmV3cyB7XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRlYXNlci1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGVhc2VyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjUlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50aXRsZS5oNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMzYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIC50ZWFzZXItY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDguNTQxNjclO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50aXRsZS5oNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoNTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDBuICsgMikge1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZWFzZXItdGlsZS1uZXdzIHtcbiAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLmN0YS1saW5rcyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgIH1cblxuICAgICAgJl9fd2Vic2l0ZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuXG4gICAgICAmX19kYXRlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KGNlbnRlcik7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZWFzZXItaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciBoMyB7XG4gICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAmLnRhbGtzIHtcbiAgICBwYWRkaW5nOiAxNnB4IDUwcHggNDVweCAwO1xuICB9XG5cbiAgJi5jYXJlZXIsXG4gICYudGFsa3Mge1xuICAgIGJvcmRlci10b3A6IDEuNXB4IHNvbGlkIHJnYmEoJGMtZ3JheS1saWdodCwgMC41KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuaWNvbi1hcnJvdzpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB0b3A6IDIzcHg7XG4gICAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMTBweCkpO1xuICAgICAgJHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkY3ViaWMtYmV6aWVyLCB0cmFuc2Zvcm0gMC4ycyAkY3ViaWMtYmV6aWVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIHJpZ2h0OiAtMTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjLWdyYXktbGlnaHQsIDAuNSk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5uby1saW5rKTpob3ZlciB7XG4gICAgICBoMixcbiAgICAgIGgzLFxuICAgICAgaDQsXG4gICAgICBoNSB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAuaWNvbi1hcnJvdzpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jYXJlZXIge1xuICAgIHBhZGRpbmc6IDE2cHggMHB4IDIwcHggMDtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI2cHg7XG4gICAgfVxuXG4gICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAvLyAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgLy8gfVxuXG4gICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAvLyAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICAgIC8vIH1cblxuICAgIC5pY29uLWFycm93OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgdG9wOiAzNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDApO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0NSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDgpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg1Nik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmVlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUudGF4b25vbXkge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJGMtZ3JheS1kYXJrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG4gIH1cblxuICAmLmRlZmF1bHQge1xuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGF4b25vbXkge1xuICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRhcms7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAxMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICR0cmFuc2l0aW9uczogd2lkdGggMC40cyBlYXNlLW91dCAwLjJzLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1vdXQ7IC8vdGFrZW4gZnJvbSBhbmltYXRpb25zLnNjc3NcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMTVweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYXJ0aWNsZS5wZW9wbGUge1xuICBwYWRkaW5nOiAwO1xuXG4gIC5hc2lkZS10aXRsZSB7XG4gICAgY29sb3I6ICRjLXByaW1hcnk7XG4gIH1cblxuICAucGVyc29uLWhlYWRlcixcbiAgLnBlb3BsZS1ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAucGVyc29uLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmNztcblxuICAgIEBpbmNsdWRlIHBhZ2UtaGVhZGluZy1wYWRkaW5nO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDI0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wZXJzb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCg1KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDQpO1xuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBlcnNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTYlO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDUpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcblxuICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcbiAgICB9XG5cbiAgICAucGVyc29uLWltYWdlLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLnBlb3BsZS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAucGVvcGxlLWNvbm5lY3Qge1xuICAgIGNvbG9yOiAkYy1kYXJrO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNCk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhbGtzLWFuZC13cml0aW5ncyB7XG4gICAgLmFzaWRlLXRpdGxlLFxuICAgIC5hcnRpY2xlLWxpc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTEpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcblxuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxKTtcblxuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcblxuICAgICAgLnRlYXNlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcblxuICAgICAgICBAaW5jbHVkZSBicC1tYXgoc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmFydGljbGUubmV3cyB7XG4gIC5jb250YWluZXItLW5ld3MtY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBvc3QtbW9kdWxlIHtcbiAgICAvLyAmOmZpcnN0LWNoaWxkIHtcbiAgICAvLyAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIC8vIH1cblxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC8vIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAvLyB9XG4gIH1cblxuICAuY29udGFpbmVyLS1uZXdzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gIH1cblxuICAubWVkaWEtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICB9XG5cbiAgLmNvbnRhaW5lci0tbmV3cy1tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItLW5ld3MtbWVkaWEtLWxhcmdlLFxuICAuY29udGFpbmVyLS1uZXdzLW1lZGlhLS1mdWxsIHtcbiAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgfVxuICB9XG4gIC5uZXdzLW1lZGlhX190d28tY29sX19pdGVtIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCg2KTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXdzLWNvbnRlbnQsXG4gIC5uZXdzLW1lZGlhLS1yZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbCgxMik7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEwKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCg4KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMik7XG4gICAgfVxuICB9XG4gIC5uZXdzLW1lZGlhLS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2woMTIpO1xuICB9XG4gIC5uZXdzLWNvbnRlbnRfX3RleHQsXG4gIC5uZXdzLW1lZGlhLS1yZWd1bGFyIC5wb3N0LW1vZHVsZSB7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAwIDkuODYlO1xuICAgIH1cbiAgfVxuICAubmV3cy1tZWRpYV9fY29udGFpbmVyLS1mdWxsIHtcbiAgICAuY2FwdGlvbi1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgYmFzZS1jb250YWluZXIoODQlKTtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5jYXB0aW9uLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5uZXdzIHtcbiAgICAmLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgICAgfVxuXG4gICAgICAucHJvamVjdC1ib2R5X19oZXJvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLm5ld3MtaGVhZGVyX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgfVxuXG4gICAgICAubmV3cy1oZWFkZXJfX2F1dGhvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woNyk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgIC8vICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgyKTtcbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgICAgLm5ld3MtaGVhZGVyX192aWRlbyB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgxMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19mdC1pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAyNHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAmLWNvbnRhaW5lciB7XG4gICAgLy8gbWF4LXdpZHRoOiA3NjhweDtcbiAgICAvLyBtYXJnaW46IDAgYXV0bztcblxuICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gfVxuICAgIC8vIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtcXVvdGUtY29udGFpbmVyIHtcbiAgICAgICZfX3F1b3RlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjAxQyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjAxRCc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2J5bGluZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaW1hZ2UtY2FsbG91dCxcbiAgICAmLXNpbmdsZS1pbWFnZSB7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWFnZS1jYWxsb3V0IHtcbiAgICAgICZfX2xlZnQsXG4gICAgICAmX19yaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICZfX2xlZnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgJl9faW1hZ2VzIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sZWZ0LFxuICAgICAgICAmX19yaWdodCB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiA0OCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNpbmdsZS1pbWFnZSB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdmlkZW8ge1xuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYXJ0aWNsZS5jYXJlZXIge1xuICBoZWFkZXIge1xuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAlO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJlZXJfX3N1bW1hcnksXG4gIC5jYXJlZXJfX2RldGFpbHMsXG4gIGhlYWRlciB7XG4gICAgLmZsZXgtcm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMik7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDIuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcl9fZGV0YWlscyB7XG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUge1xuICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcl9fc3VtbWFyeSB7XG4gICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgfVxuXG4gIC5jYXJlZXJfX2FwcGx5IHtcbiAgICAuY3RhLWxpbmtzIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3cy1jb250ZW50X19yZWxhdGVkLXdvcmsge1xuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubGFiZWwge1xuICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5uZXdzLWNvbnRlbnRfX3JlbGF0ZWQtd29ya19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1wcmltYXJ5O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtcHJpbWFyeTtcblxuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjLXByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMjUlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAuMjUlO1xuICB9XG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIHdpZHRoOiAyNiU7XG4gIH1cblxuICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgIG1hcmdpbi1yaWdodDogLTI2JTtcbiAgfVxufVxuLm5ld3MtY29udGVudF9fcmVsYXRlZC13b3JrX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5uZXdzLWNvbnRlbnRfX3JlbGF0ZWQtd29ya19faW1hZ2Uge1xuICBmbGV4OiAwIDAgNDUlO1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4ubmV3cy1jb250ZW50X19yZWxhdGVkLXdvcmtfX3RleHQge1xuICBmbGV4OiAwIDAgNTAlO1xufVxuLm5ld3MtY29udGVudF9fcmVsYXRlZC13b3JrX19zZWUtbW9yZSB7XG4gIGNvbG9yOiAkYy1wcmltYXJ5O1xufVxuIiwiYXJ0aWNsZS5wcm9qZWN0IHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnByb2plY3QtYm9keSB7XG4gIEBpbmNsdWRlIHBhZ2UtaGVhZGluZy1wYWRkaW5nO1xuXG4gICZfX2hlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbGVhZCB7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDgpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlcm8tLTE2XzkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19hcnRpY2xlIHtcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fYXJ0aWNsZS1sZWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICB9XG5cbiAgJl9fYXJ0aWNsZS1jdGEgLmN0YS1saW5rcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fbGVhZCB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNCk7XG4gICAgfVxuICB9XG5cbiAgJl9fYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIC5wYWdlLW1vZHVsZV9fc21hbGwtY3RhcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi1wcm9qZWN0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNik7XG5cbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY2xpZW50IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG5cbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgfVxuXG4gICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlcm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAmLmltYWdlLXdyYXBwZXIge1xuICAgICAgJl9fMTZfOSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBlZGdlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfXzZfNCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni43JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGVkZ2Uge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2Ni43JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX18xXzEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTkuMTYlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZWRnZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDk5LjE2JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5pbWFnZS13cmFwcGVyX19vdGhlcikge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGVkZ2Uge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9qZWN0LWJvZHlfX2hlcm8tZW1iZWQsXG4gICAgICAucHJvamVjdC1ib2R5X19oZXJvLXByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1vdmVybGF5IHtcbiAgICAgIEBpbmNsdWRlIGNvdmVyO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjLWRhcmssIDAuMik7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgICYuX2lzLXBsYXlpbmc6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYtZW1iZWQge1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmpzICYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAuanMgLl9pcy1wbGF5aW5nICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtcHJldmlldyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICYtcHJldmlldyxcbiAgICAmLWJ1dHRvbiB7XG4gICAgICAuanMgLl9pcy1wbGF5aW5nICYge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICB9XG5cbiAgJl9fbW9yZSB7XG4gICAgJi1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcblxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10ZXh0LW1lZGl1bTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC40cztcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcblxuICAgICAgICAvL21hcmdpbi10b3A6IDEuNjNlbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10ZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMS42M2VtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dCAwLjRzO1xuXG4gICAgICAmLm9wZW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FzaWRlIHtcblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAmLnByb2plY3QtYm9keV9fYXNpZGUtLXNpbmdsZSB7XG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMyk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wcm9qZWN0LWJvZHlfX2FzaWRlLS1ib3RoIHtcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG5cbiAgICAgIC5wcm9qZWN0LWJvZHlfX2FzaWRlLWl0ZW0ge1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgZmxleDogMCAwIDQ1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAvLyAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvLyAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgLy8gICB9XG5cbiAgICAgICAgLy8gICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvLyAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hc2lkZS10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgICYtc2VydmljZXMge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgICAuc2VydmljZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIHNlcnZpY2UtdGFncygpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkgKyBsaSxcbiAgICBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tcHJvamVjdC1jb2xvci10aGVtZSk7XG4gIH1cblxuICBhLmFuaW1hdGVkOmFmdGVyLFxuICBwIGE6YWZ0ZXIsXG4gIHAgYTp2aXNpdGVkOmFmdGVyLFxuICAuZmF1eC1saW5rLmFuaW1hdGVkOmFmdGVyLFxuICAuc2YtbGV2ZWwtMC5zZi1vcHRpb24tYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9qZWN0LWNvbG9yLXRoZW1lKTtcbiAgfVxuXG4gIGZpZ3VyZSBmaWdjYXB0aW9uIHAge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxufVxuXG5cbi51LWNvbG9yLXRoZW1lLS1jb2xvciB7XG4gIGNvbG9yOiAkYy1wcmltYXJ5O1xuICBjb2xvcjogdmFyKC0tcHJvamVjdC1jb2xvci10aGVtZSk7XG59XG5cblxuLnByb2plY3QtcXVvdGVzIHtcbiAgcGFkZGluZzogNDJweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodDtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAxMjBweCAwO1xuICB9XG59XG5cblxuLnByb2plY3QtcXVvdGVzX19zaW5nbGUge1xuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDIpO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gIH1cbn1cblxuLnByb2plY3QtcXVvdGVzX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDUpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ucHJvamVjdC1xdW90ZV9fY29udGVudCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNik7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0O1xuICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgfVxufVxuXG4ucHJvamVjdC1xdW90ZV9fYXR0ciB7XG5cbiAgY2l0ZSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuXG4ucHJvamVjdC1zdGF0cyB7XG4gIHBhZGRpbmc6IDQycHggMCA2NHB4O1xuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEwNnB4IDAgMTYzcHg7XG4gIH1cbn1cblxuLnByb2plY3Qtc3RhdHNfX2xlZnQge1xuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMyk7XG4gIH1cbn1cblxuLnByb2plY3Qtc3RhdHNfX2NlbnRlciB7XG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5cbi5wcm9qZWN0LXN0YXRzX19yaWdodCB7XG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5cbi5wcm9qZWN0LXN0YXRzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wcm9qZWN0LXN0YXRzX19pdGVtIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuXG4gICYgKyAucHJvamVjdC1zdGF0c19faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxufVxuXG4ucHJvamVjdC1zdGF0c19faXRlbXMtLXNlcnZpY2VzIHtcbiAgLnByb2plY3Qtc3RhdHNfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuXG4gIC5wcm9qZWN0LXN0YXRzX19pdGVtICsgLnByb2plY3Qtc3RhdHNfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn0iLCIucHJvamVjdC1tb2RzIHtcbiAgbWFyZ2luOiAwIDAgNTBweDtcblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBtYXJnaW46IDAgMCA3MHB4O1xuICB9XG5cbiAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gIC8vICAgbWFyZ2luOiAxMDBweCAwO1xuICAvLyB9XG5cbiAgZmlndXJlIGZpZ2NhcHRpb24gcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG5cbiAgLnByb2plY3QtYm9keV9fcGFyYWdyYXBoLFxuICAucHJvamVjdC1ib2R5X19wYXJhZ3JhcGggcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG5cbiAgJl9fcm93IHtcbiAgICAmLmJhY2tncm91bmQtY29sb3Ige1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDUlIDA7XG4gICAgICAgIG1hcmdpbjogNSUgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLW1heChzbWFsbCkge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMlO1xuICAgIH1cblxuICAgICYudHdvLWltYWdlcyB7XG4gICAgICAuZmlndXJlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRleHQtcm93IHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOCU7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQtY2FsbG91dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgyKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbm5lciB7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvamVjdC1jb2xvci10aGVtZSk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgIHRvcDogLTAuMnJlbTtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMC40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dC1jYWxsb3V0X19oZWFkZXIsXG4gICAgICAudGV4dC1jYWxsb3V0X19saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByb2plY3QtY29sb3ItdGhlbWUpO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1jYWxsb3V0X19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTMpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAudGV4dC1jYWxsb3V0X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNhbGxvdXRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNhbGxvdXRfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgfVxuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgICAgLnRleHQtd3JhcHBlciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaDMge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0OCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWNhbGxvdXQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19xdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1saWdodDtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBtYXJnaW46IDEwMHB4IDAgMTIwcHg7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwIDgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwIDEwMHB4O1xuICAgIH1cblxuICAgIC5xdW90ZS10ZXh0IHtcbiAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgIH1cblxuICAgICYtaW5uZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woOCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG5cbiAgICAgIHAge1xuICAgICAgICAucG9zdC0xNDMzNSAmIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIC5wb3N0LTE0MzM1ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDMyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAucG9zdC0xNDMzNSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzOSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0Nik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAucG9zdC0xNDMzNSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0Mik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg1NCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAgKyBwIHtcbiAgICAgICAgLy8gdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMXJlbTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLW9wZW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMTZweDtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogMDtcbiAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jaXRhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjAxNCc7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLW11bHRpIHtcblxuICAgICAgLnByb2plY3QtbW9kc19fcXVvdGUtaW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41JTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgYmxvY2txdW90ZSB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtcHJlc3MsXG4ucHJvamVjdC1yZWxhdGVkIHtcbiAgLmxpbmUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgfVxuICB9XG59XG5cbi5wcm9qZWN0LXByZXNzIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgLy8gICBtYXJnaW46IDgwcHggMDtcbiAgLy8gfVxuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIG1hcmdpbjogNzBweCAwO1xuICB9XG5cbiAgJl9fZW50cmllcyB7XG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cbiAgfVxuXG4gICZfX2VudHJ5IHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC16ZWQoMm4pO1xuXG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMm4gLSAxKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG5cbiAgICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWluZm8ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcblxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9qZWN0LXJlbGF0ZWQge1xuICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICB9XG5cbiAgLmxpbmUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMC41KTtcbiAgICB9XG4gIH1cblxuICAudGVhc2VyLXRpbGUtcHJvamVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg1KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMC41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3Qtc2VydmljZXMge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgbWFyZ2luLXRvcDogMTByZW07XG5cbiAgJl9fZGV0YWlsIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDMpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmFsdGVybmF0aW5nLWltZy1yb3dzIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgfVxuXG4gICYtLXJpZ2h0LWxlZnQge1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNCk7XG4gICAgICB9XG5cbiAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19faW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgfVxuXG4gICAgICAuYWx0ZXJuYXRpbmctaW1nLXJvd3NfX3JvdzpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgLmFsdGVybmF0aW5nLWltZy1yb3dzX19jb250ZW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFsdGVybmF0aW5nLWltZy1yb3dzX19pbWFnZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWxlZnQtcmlnaHQge1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19fY29udGVudCB7XG4gICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDIuNSU7XG4gICAgICB9XG5cbiAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19faW1hZ2Uge1xuICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gICAgICB9XG5cbiAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19fcm93Om50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgIC5hbHRlcm5hdGluZy1pbWctcm93c19fY29udGVudCB7XG4gICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWx0ZXJuYXRpbmctaW1nLXJvd3NfX2ltYWdlIHtcbiAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyLjUlO1xuICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWx0ZXJuYXRpbmctaW1nLXJvd3NfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJiArICYge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDkxcHg7XG4gICAgfVxuICB9XG59XG5cbi5hbHRlcm5hdGluZy1pbWctcm93c19faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyAuYWx0ZXJuYXRpbmctaW1nLXJvd3NfX2NvbnRlbnQsXG4vLyAuYWx0ZXJuYXRpbmctaW1nLXJvd3NfX2ltYWdlIHtcbi8vICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbi8vICAgICBmbGV4OiAxIDEgNTAlO1xuLy8gICAgIG1heC13aWR0aDogNTAlO1xuLy8gICB9XG4vLyB9XG5cbi5hbHRlcm5hdGluZy1pbWctcm93c19fdGl0bGUge1xuICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDMyKTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLm1lZGlhLWZ1bGwtd2lkdGhfX3JvdyB7XG4gIG1hcmdpbjogNDBweCAwO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogOCU7XG4gIH1cbn1cblxuLm1lZGlhLWZ1bGwtd2lkdGgtLWluc2V0IHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMCk7XG4gIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG59XG5cblxuLm1lZGlhLWZ1bGwtd2lkdGgtLWZ1bGwge1xuXG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jYXB0aW9uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYmFzZS1jb250YWluZXIoODQlKTtcbiAgICBAaW5jbHVkZSBjb250YWluZXItbWF4LXdpZHRoO1xuICB9XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS1cbi8vIE1FRElBIExPQ0tVUFxuLy8gLS0tLS0tLS0tLS0tXG4ubWVkaWEtbG9ja3VwIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgfVxufVxuXG4ubWVkaWEtbG9ja3VwX19sZy0td2l0aC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAubWVkaWEtbG9ja3VwX19sZy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1sb2NrdXBfX2xnLWNvbnRlbnQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDMyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgLm1lZGlhLWxvY2t1cF9fbGctbWVkaWEge1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNyk7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cbiAgfVxufVxuXG4ubWVkaWEtbG9ja3VwX19tZWRpYS1yb3cge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogNDZweDtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLVxuLy8gTUVESUEgUk9XXG4vLyAtLS0tLS0tLS1cbi5tZWRpYS1yb3cge1xuICBtYXJnaW46IDI0cHggMDtcblxuICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIG1hcmdpbi10b3A6IDglO1xuICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUVESUEgUk9XIExPQ0tVUFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4ubWVkaWEtcm93LWxvY2t1cCB7XG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ubWVkaWEtcm93LWxvY2t1cF9faXRlbSB7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBmbGV4OiAxIDAgMDtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMi41JTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtbW9kcyAucHJvamVjdC1tb2RzX19yb3c6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cblxuLnRleHQtcm93ICsgLm1lZGlhLXJvdyB7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogNCU7XG4gIH1cbn1cblxuLm1lZGlhLWZ1bGwtd2lkdGggKyAudGV4dC1yb3cgKyAubWVkaWEtcm93IHtcbiAgbWFyZ2luOiAyNHB4IDA7XG5cbiAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgfVxufSIsImZvcm0ge1xuICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG5cbiAgLmluZGljYXRlcy1yZXF1aXJlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAvL2NvbG9yOiAkYy1saW5rLXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLmZvcm0taXRlbSxcbiAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luOiAwIDAgNzBweDtcbiAgICB9XG5cbiAgICBsYWJlbCxcbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LnJlcXVpcmVkOjpwbGFjZWhvbGRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBjb2xvcjogZGFya3JlZDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICB9XG5cbiAgICAmLnRleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtdGV4dC1kYXJrO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjJzICRjdWJpYy1iZXppZXIgMHMpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy10ZXh0LWRhcms7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgMC4zcyAkY3ViaWMtYmV6aWVyKTtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAud3BjZjctbGlzdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMzApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM0KTtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCg0OCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAkdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgJGN1YmljLWJlemllciwgdHJhbnNmb3JtIDAuMjVzICRjdWJpYy1iZXppZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGMtdGV4dC1tZWRpdW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICByaWdodDogY2FsYygxMDAlIC0gNDRweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4yNXMgJGN1YmljLWJlemllcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTQwcHgpKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtODBweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAud3BjZjctbGlzdC1pdGVtLWxhYmVsOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm90aGVyLWludGVyZXN0LFxuICAgIC5vdGhlci1idWRnZXQge1xuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICAgIG1pbi13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tbWFpbGluZy1saXN0IHtcbiAgICAgIC53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxNik7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc1NzU3NTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyAud3BjZjctbGlzdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKG5vbmUpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgY29udGVudDogJ1xcMjcxMyc7XG4gICAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5hamF4LWxvYWRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1BsZWFzZSB3YWl0Li4uJztcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4ud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZWQ7XG4gICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDM5KTtcbiAgfVxuXG4gIGRpdi5tY2VfaW5saW5lX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICAuc3VibWl0LFxuICAgIC5jdXN0b20tdXBsb2FkIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgIC5hamF4LWxvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgICAgbGVmdDogNDVweDtcbiAgICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYXJrO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4yNXMpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1saWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIHBhZGRpbmc6IDE1cHggNDVweCAxNXB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgzNyk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4yNXMpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJlt0eXBlPSdmaWxlJ10ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibWl0IHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtbWVkaXVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy10ZXh0LW1lZGl1bTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tLXVwbG9hZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbWVkaXVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53cGNmNyxcbi5uZXdzbGV0dGVyLXNpZ24tdXAtZnVsbCB7XG4gIEBleHRlbmQgLmZsZXgtcm93O1xuXG4gIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgd2lkdGg6IDBweDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDgpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgyKTtcbiAgICB9XG4gIH1cbn1cblxuLnBhc3N3b3JkLWZvcm0ge1xuICAmX19jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4JTtcblxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICAgICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTQ1cHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAmLnRleHQge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBjb2xvcjogJGMtdGV4dC1kYXJrO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAuc3VibWl0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICB3aWR0aDogNDNweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBlYXNlLW91dCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NjVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5sYWJzLXNpbmdsZSB7XG4gICZfX3dyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX290aGVyIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmxhYnMtY29udGVudCB7XG4gICRhc3NldHM6ICcubGFicy1jb250ZW50X19hc3NldHMnO1xuXG4gICZfX2Fzc2V0cyxcbiAgJl9faGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA2NXZoO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDM2cHggYXV0byAwO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gIH1cbn1cblxuLmxhYnMtbW9kYWwtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgdmlkZW8sXG4gIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLyogUG9wIFVwICovXG5cbi5wb3AtdXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYy1kYXJrLCAwLjk1KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMjAwMDtcbiAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgbGluZWFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLnBvcC11cC1pcy1vcGVuICYge1xuICAgIC8vIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgfVxuXG4gICoge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLmltYWdlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC5wb3AtdXAtaW5uZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIGNhbGMoLTUwJSArIDQwcHgpLCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMsIHRyYW5zZm9ybSAwLjc1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBvcC11cC1pcy1sb2FkZWQgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogY2FsYyg4JSAtIDVweCk7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgdG9wOiA0OHB4O1xuICAgIH1cblxuICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgIC8vICAgcmlnaHQ6IDglO1xuICAgIC8vICAgcmlnaHQ6IGNhbGMoOCUgLSA1cHgpO1xuICAgIC8vIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtdGV4dC1tZWRpdW07XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2aWRlbyxcbiAgaW1nIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIi5zZXJ2aWNlIHtcbiAgJi1oZXJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNiU7XG4gICAgfVxuICB9XG5cbiAgJi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41JTtcbiAgICB9XG5cbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxuXG4gICYtY2hpbGQge1xuICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg3KTtcbiAgICB9XG4gIH1cblxuICAmLWhhbGYtd2lkdGgge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgIH1cbiAgfVxuXG4gICYtcGFnZS1tb2R1bGVzIHtcbiAgICAucGFnZS1tb2R1bGUge1xuICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMDtcblxuICAgICAgJi5zaW5nbGUtbW9kIHtcbiAgICAgICAgbWFyZ2luOiAxMjBweCBhdXRvIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBtYXJnaW46IDE2JSBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgKyAuYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJhY2tncm91bmQtY29sb3IgKyAuc2luZ2xlLW1vZCB7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luOiA4JSBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4JTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbW9kdWxlIHtcbiAgICAmLmJhY2tncm91bmQtY29sb3Ige1xuICAgICAgcGFkZGluZzogMTIwcHggMDtcbiAgICAgIG1hcmdpbjogNjBweCAwIDA7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogOCUgMCAwO1xuICAgICAgICBwYWRkaW5nOiAxMCUgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJnaW46IDYwcHggYXV0bztcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBtYXJnaW46IDglIGF1dG87XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCgxMik7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc2hpZnQoMSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtcmVzdWx0cyB7XG4gICAgLnJlc3VsdHMtZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0IHtcbiAgICAgICYtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0zJSAtIDdweCk7XG4gICAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuXG4gICAgICAgIC5mbGV4LXJvdyB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZzogNCUgMyU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGVkZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1JTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNSU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLW1heChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCgzbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnAtbWF4KHNtYWxsKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXplZCgybik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNik7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDM4KTtcbiAgICAgICAgY29sb3I6ICMyZDMzMzg7XG4gICAgICB9XG5cbiAgICAgICYtZGVzYyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1mYXEge1xuICAgIC5mbGV4LXJvdyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41JTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woMTIpO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDYpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2woNSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdWVzdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICB9XG5cbiAgICAmX19hbnN3ZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICAucGFnZS1tb2R1bGVfX2xpc3Qge1xuICAgICAgYWxpZ24taXRlbXM6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sKDEyKTtcblxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg2KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbCg0KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhLWxpbmsge1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNoaWZ0KDEpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uc2VydmljZXMge1xuICAmLWxpbmsge1xuICAgIC8vIGNvbG9yOiAkYy1wcmltYXJ5O1xuICB9XG5cbiAgJi1jdGEtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgJi1jdGEtbGlua3Mge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1saW5rIHtcbiAgICAgIGNvbG9yOiAkYy10ZXh0LW1lZGl1bTtcbiAgICB9XG4gIH1cbn1cblxuLmFsbC1zZXJ2aWNlcyB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgQGluY2x1ZGUgZ3JpZC1zaGlmdCgxKTtcblxuICAmLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRjLXRleHQtZGFyaztcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogJGMtdGV4dC1kYXJrO1xuICAgIH1cbiAgfVxuXG4gIC5oMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbmFydGljbGVbcGFnZS1jb2xvcj0nZGFyayddIC5hbGwtc2VydmljZXMsXG5hcnRpY2xlW3BhZ2UtY29sb3I9J2RhcmsnXSAuY3RhLWxpbmtzIHtcbiAgLmgxLFxuICAuaDIsXG4gIHAge1xuICAgIGNvbG9yOiAkYy10ZXh0LWRhcms7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cbn1cblxuYXJ0aWNsZVtwYWdlLWNvbG9yPSdkYXJrJ10gLnNlcnZpY2UtcmVzdWx0cyBwIHtcbiAgY29sb3I6ICRjLXRleHQtZGFyaztcbn1cblxuYXJ0aWNsZVtwYWdlLWNvbG9yPSdkYXJrJ10gLmN0YS1saW5rcyBhIHtcbiAgY29sb3I6ICRjLXByaW1hcnk7XG59XG4iLCIua2V5Ym9hcmQtdXNlciB7XG4gIC5za2lwLWNvbnRlbnQ6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LXVuaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICBjb2xvcjogJGMtdGV4dC1tZWRpdW07XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgYTpmb2N1cyxcbiAgYnV0dG9uOmZvY3VzLFxuICAuZmxpY2tpdHkuY2Fyb3VzZWw6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6ICRjLXByaW1hcnk7XG4gICAgb3V0bGluZS1zdHlsZTogYXV0bztcbiAgICBvdXRsaW5lLXdpZHRoOiA1cHg7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7aURBS2lEO0FnQkxqRDs7cUJBRXFCO0FBVXJCOztxQkFFcUI7QUFVckI7O3FCQUVxQjtBQVdyQjs7cUJBRXFCO0FBMEJyQjs7cUJB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QixDQUFLO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLEVBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLElBQUMsR0FDbkI7RUEzRlAsQUF5Rk0sR0F6RkgsQ0FxQ0QsZ0JBQWdCLENBb0RaLDBCQUEwQixDQUFJO0lBQzVCLGdCQUFnQixFQUFDLEVBQUMsR0FDbkI7RUEzRlAsQUErRk0sR0EvRkgsQ0FxQ0QsZ0JBQWdCLENBeURkLGFBQWEsQUFDVixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsQ0FBQztJRHBLbEIsa0JBQWtCLEVDcUtRLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSztJRHBLOUMsZUFBZSxFQ29LVyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUs7SURuSzlDLGNBQWMsRUNtS1ksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLO0lEbEs5QyxhQUFhLEVDa0thLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSztJRGpLOUMsVUFBVSxFQ2lLZ0IsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQ3pDO0VBbEdQLEFBcUdJLEdBckdELENBcUNELGdCQUFnQixDQWdFZCxLQUFLLENBQUM7SUFDSixTQUFTLEVBQUUsQ0FBQztJQUNaLEtBQUssRUFBRSxLQUFLO0lEM0toQixrQkFBa0IsRUM0S00sU0FBUyxDQUFDLElBQUksQ0YxT3pCLHdDQUF3QyxDRTBPQSxLQUFLO0lEM0sxRCxlQUFlLEVDMktTLFNBQVMsQ0FBQyxJQUFJLENGMU96Qix3Q0FBd0MsQ0UwT0EsS0FBSztJRDFLMUQsY0FBYyxFQzBLVSxTQUFTLENBQUMsSUFBSSxDRjFPekIsd0NBQXdDLENFME9BLEtBQUs7SUR6SzFELGFBQWEsRUN5S1csU0FBUyxDQUFDLElBQUksQ0YxT3pCLHdDQUF3QyxDRTBPQSxLQUFLO0lEeEsxRCxVQUFVLEVDd0tjLFNBQVMsQ0FBQyxJQUFJLENGMU96Qix3Q0FBd0MsQ0UwT0EsS0FBSyxHQUN2RDtFQXpHTCxBQTJHSSxHQTNHRCxDQXFDRCxnQkFBZ0IsQUFzRWIsU0FBUyxFQTNHZCxHQUFHLENBcUNELGdCQUFnQixBQXVFYixnQkFBZ0IsQ0FBQztJRHhMcEIsaUJBQWlCLEVDeUxNLG1CQUFtQjtJRHhMMUMsY0FBYyxFQ3dMUyxtQkFBbUI7SUR2TDFDLGFBQWEsRUN1TFUsbUJBQW1CO0lEdEwxQyxZQUFZLEVDc0xXLG1CQUFtQjtJRHJMMUMsU0FBUyxFQ3FMYyxtQkFBbUI7SURqTDFDLGtCQUFrQixFQ2tMQSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDRmhQdEMsd0NBQXdDLEVFaVAvQyxNQUFNLENBQUMsS0FBSyxDRmpQTCx3Q0FBd0M7SUMrRHJELGVBQWUsRUNpTEcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0ZoUHRDLHdDQUF3QyxFRWlQL0MsTUFBTSxDQUFDLEtBQUssQ0ZqUEwsd0NBQXdDO0lDZ0VyRCxjQUFjLEVDZ0xJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENGaFB0Qyx3Q0FBd0MsRUVpUC9DLE1BQU0sQ0FBQyxLQUFLLENGalBMLHdDQUF3QztJQ2lFckQsYUFBYSxFQytLSyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDRmhQdEMsd0NBQXdDLEVFaVAvQyxNQUFNLENBQUMsS0FBSyxDRmpQTCx3Q0FBd0M7SUNrRXJELFVBQVUsRUM4S1EsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0ZoUHRDLHdDQUF3QyxFRWlQL0MsTUFBTSxDQUFDLEtBQUssQ0ZqUEwsd0NBQXdDLEdFd1BsRDtJQXRITCxBQWtITSxHQWxISCxDQXFDRCxnQkFBZ0IsQUFzRWIsU0FBUyxDQU9SLHFCQUFxQjtJQWxIM0IsR0FBRyxDQXFDRCxnQkFBZ0IsQUFzRWIsU0FBUyxDQVFSLGdCQUFnQixFQW5IdEIsR0FBRyxDQXFDRCxnQkFBZ0IsQUF1RWIsZ0JBQWdCLENBTWYscUJBQXFCO0lBbEgzQixHQUFHLENBcUNELGdCQUFnQixBQXVFYixnQkFBZ0IsQ0FPZixnQkFBZ0IsQ0FBQztNRC9MckIsaUJBQWlCLEVDZ01RLElBQUk7TUQvTDdCLGNBQWMsRUMrTFcsSUFBSTtNRDlMN0IsYUFBYSxFQzhMWSxJQUFJO01EN0w3QixZQUFZLEVDNkxhLElBQUk7TUQ1TDdCLFNBQVMsRUM0TGdCLElBQUksR0FDeEI7RUFySFAsQUEwSE0sR0ExSEgsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsRUExSDVCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQ0FBQztJQUNyQixPQUFPLEVBQUUsQ0FBQztJRHZNaEIsaUJBQWlCLEVDd01RLGdCQUFnQjtJRHZNekMsY0FBYyxFQ3VNVyxnQkFBZ0I7SUR0TXpDLGFBQWEsRUNzTVksZ0JBQWdCO0lEck16QyxZQUFZLEVDcU1hLGdCQUFnQjtJRHBNekMsU0FBUyxFQ29NZ0IsZ0JBQWdCO0lEaE16QyxrQkFBa0IsRUNzTUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsS0FBSztJRHJNL0MsZUFBZSxFQ3FNSyxPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxLQUFLO0lEcE0vQyxjQUFjLEVDb01NLE9BQU8sQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEtBQUs7SURuTS9DLGFBQWEsRUNtTU8sT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsS0FBSztJRGxNL0MsVUFBVSxFQ2tNVSxPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBUTFDO0lEdlVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TUM2TDlDLEFBMEhNLEdBMUhILENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEVBMUg1QixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLENBQUM7UUR0TTNCLGlCQUFpQixFQzJNVSxnQkFBZ0I7UUQxTTNDLGNBQWMsRUMwTWEsZ0JBQWdCO1FEek0zQyxhQUFhLEVDeU1jLGdCQUFnQjtRRHhNM0MsWUFBWSxFQ3dNZSxnQkFBZ0I7UUR2TTNDLFNBQVMsRUN1TWtCLGdCQUFnQixHQVd0QztJQTFJUCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBdkhFLENBQUMsR0FmM0IsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBdkhFLENBQUMsRUF1SEk7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQXZIRSxDQUFDLEdBZjNCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQXZIRSxDQUFDLEVBdUhJO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0F2SEUsQ0FBQyxHQWYzQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0F2SEUsQ0FBQyxFQXVISTtNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBdkhFLENBQUMsR0FmM0IsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBdkhFLENBQUMsRUF1SEk7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQXZIRSxDQUFDLEdBZjNCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQXZIRSxDQUFDLEVBdUhJO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosQ0FBQyxHQW5FckIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBbkVKLENBQUMsRUFtRVU7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixDQUFDLEdBbkVyQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosQ0FBQyxFQW1FVTtNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBbkVKLENBQUMsR0FuRXJCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixDQUFDLEVBbUVVO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosQ0FBQyxHQW5FckIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBbkVKLENBQUMsRUFtRVU7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEdBbkV0QixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxFQW1FUztNQUNuQixnQkFBZ0IsRUFBRSxJQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsR0FuRXRCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEVBbUVTO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxHQW5FdEIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsRUFtRVM7TUFDbkIsZ0JBQWdCLEVBQUUsSUFBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEdBbkV0QixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxFQW1FUztNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsR0FuRXRCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEVBbUVTO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxHQW5FdEIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsRUFtRVM7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEdBbkV0QixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxFQW1FUztNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsR0FuRXRCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEVBbUVTO01BQ25CLGdCQUFnQixFQUFFLElBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxHQW5FdEIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsRUFtRVM7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEdBbkV0QixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FuRUosRUFBRSxFQW1FUztNQUNuQixnQkFBZ0IsRUFBRSxJQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBbkVKLEVBQUUsR0FuRXRCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQW5FSixFQUFFLEVBbUVTO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEdBdEkxQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEVBQUs7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsR0F0STFCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsRUFBSztNQUNuQixnQkFBZ0IsRUFBRSxJQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxHQXRJMUIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxFQUFLO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEdBdEkxQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEVBQUs7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsR0F0STFCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsRUFBSztNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxHQXRJMUIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxFQUFLO01BQ25CLGdCQUFnQixFQUFFLElBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEdBdEkxQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEVBQUs7TUFDbkIsZ0JBQWdCLEVBQUUsR0FBZ0IsR0FDbkM7SUF4SVgsQUFzSVUsR0F0SVAsQ0FxQ0QsZ0JBQWdCLEFBbUZiLFVBQVUsQ0FFVCxzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsR0F0STFCLEdBQUcsQ0FxQ0QsZ0JBQWdCLEFBb0ZiLHdCQUF3QixDQUN2QixzQkFBc0IsQUFZakIsWUFBYSxDQUFBLEVBQUUsRUFBSztNQUNuQixnQkFBZ0IsRUFBRSxLQUFnQixHQUNuQztJQXhJWCxBQXNJVSxHQXRJUCxDQXFDRCxnQkFBZ0IsQUFtRmIsVUFBVSxDQUVULHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxHQXRJMUIsR0FBRyxDQXFDRCxnQkFBZ0IsQUFvRmIsd0JBQXdCLENBQ3ZCLHNCQUFzQixBQVlqQixZQUFhLENBQUEsRUFBRSxFQUFLO01BQ25CLGdCQUFnQixFQUFFLEtBQWdCLEdBQ25DO0lBeElYLEFBc0lVLEdBdElQLENBcUNELGdCQUFnQixBQW1GYixVQUFVLENBRVQsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEdBdEkxQixHQUFHLENBcUNELGdCQUFnQixBQW9GYix3QkFBd0IsQ0FDdkIsc0JBQXNCLEFBWWpCLFlBQWEsQ0FBQSxFQUFFLEVBQUs7TUFDbkIsZ0JBQWdCLEVBQUUsS0FBZ0IsR0FDbkM7RUF4SVgsQUE4SU0sR0E5SUgsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsQ0FBQztJRDNOaEIsaUJBQWlCLEVDNE5RLGdCQUFnQjtJRDNOekMsY0FBYyxFQzJOVyxnQkFBZ0I7SUQxTnpDLGFBQWEsRUMwTlksZ0JBQWdCO0lEek56QyxZQUFZLEVDeU5hLGdCQUFnQjtJRHhOekMsU0FBUyxFQ3dOZ0IsZ0JBQWdCLEdBVXBDO0lBMUpQLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixDQUFDLEVBZ0ZVO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLE1BQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsTUFBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBcElFLENBQUMsRUFvSUk7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsRUFBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxFQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FwSUUsQ0FBQyxFQW9JSTtNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixLQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLEtBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQXBJRSxDQUFDLEVBb0lJO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsSUFBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBcElFLENBQUMsRUFvSUk7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxLQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FwSUUsQ0FBQyxFQW9JSTtNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixJQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLElBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixDQUFDLEVBZ0ZVO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsS0FBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBaEZKLENBQUMsRUFnRlU7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxJQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FoRkosQ0FBQyxFQWdGVTtNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixLQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLEtBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixDQUFDLEVBZ0ZVO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsSUFBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBaEZKLEVBQUUsRUFnRlM7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxLQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FoRkosRUFBRSxFQWdGUztNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixJQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLElBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixFQUFFLEVBZ0ZTO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsS0FBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBaEZKLEVBQUUsRUFnRlM7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxJQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FoRkosRUFBRSxFQWdGUztNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixLQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLEtBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixFQUFFLEVBZ0ZTO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsSUFBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBaEZKLEVBQUUsRUFnRlM7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxLQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FoRkosRUFBRSxFQWdGUztNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixJQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLElBQWtCLEdBR3BDO0lBeEpYLEFBbUpVLEdBbkpQLENBcUNELGdCQUFnQixDQXdHZCxhQUFhLENBQ1gsaUJBQWlCLEFBS1osWUFBYSxDQWhGSixFQUFFLEVBZ0ZTO01BR25CLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQWtCLEVBRy9CLFNBQVMsQ0FBQyxLQUFLLENBRkEsS0FBa0IsR0FHcEM7SUF4SlgsQUFtSlUsR0FuSlAsQ0FxQ0QsZ0JBQWdCLENBd0dkLGFBQWEsQ0FDWCxpQkFBaUIsQUFLWixZQUFhLENBaEZKLEVBQUUsRUFnRlM7TUFHbkIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBa0IsRUFHL0IsU0FBUyxDQUFDLEtBQUssQ0FGQSxJQUFrQixHQUdwQztJQXhKWCxBQW1KVSxHQW5KUCxDQXFDRCxnQkFBZ0IsQ0F3R2QsYUFBYSxDQUNYLGlCQUFpQixBQUtaLFlBQWEsQ0FoRkosRUFBRSxFQWdGUztNQUduQixVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FGVixLQUFrQixFQUcvQixTQUFTLENBQUMsS0FBSyxDQUZBLEtBQWtCLEdBR3BDOztBQXhKWCxBQThKRSxHQTlKQyxDQThKRCxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUdILEFBQ0UsR0FEQyxDQUFDLGVBQWUsQ0FDakIsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsT0FBTztFQUNuQixTQUFTLEVBQUUsYUFBYSxHQWdEekI7RUFwREgsQUFNSSxHQU5ELENBQUMsZUFBZSxDQUNqQixpQkFBaUIsQ0FLZixnQkFBZ0IsQ0FBQztJQUNmLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7RUFSTCxBQVVJLEdBVkQsQ0FBQyxlQUFlLENBQ2pCLGlCQUFpQixDQVNmLFNBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFaTCxBQWNJLEdBZEQsQ0FBQyxlQUFlLENBQ2pCLGlCQUFpQixDQWFmLHFCQUFxQixDQUFDO0lBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGFBQWEsR0FLekI7SUFyQkwsQUFrQk0sR0FsQkgsQ0FBQyxlQUFlLENBQ2pCLGlCQUFpQixDQWFmLHFCQUFxQixDQUluQixTQUFTLENBQUM7TUFDUixPQUFPLEVBQUUsWUFBWSxHQUN0QjtFQXBCUCxBQXdCTSxHQXhCSCxDQUFDLGVBQWUsQ0FDakIsaUJBQWlCLENBc0JmLGFBQWEsQUFDVixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQTFCUCxBQTZCSSxHQTdCRCxDQUFDLGVBQWUsQ0FDakIsaUJBQWlCLENBNEJmLEtBQUssQ0FBQztJQUNKLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBL0JMLEFBaUNJLEdBakNELENBQUMsZUFBZSxDQUNqQixpQkFBaUIsQUFnQ2QsU0FBUyxFQWpDZCxHQUFHLENBQUMsZUFBZSxDQUNqQixpQkFBaUIsQUFpQ2QsZ0JBQWdCLENBQUM7SUFDaEIsU0FBUyxFQUFFLGVBQWUsQ0FBQyxVQUFVLEdBQ3RDO0VBcENMLEFBd0NNLEdBeENILENBQUMsZUFBZSxDQUNqQixpQkFBaUIsQUFxQ2QsVUFBVSxDQUVULHNCQUFzQixFQXhDNUIsR0FBRyxDQUFDLGVBQWUsQ0FDakIsaUJBQWlCLEFBc0NkLHdCQUF3QixDQUN2QixzQkFBc0IsQ0FBQztJQUNyQixPQUFPLEVBQUUsQ0FBQztJRHhSaEIsaUJBQWlCLEVDeVJRLGFBQWE7SUR4UnRDLGNBQWMsRUN3UlcsYUFBYTtJRHZSdEMsYUFBYSxFQ3VSWSxhQUFhO0lEdFJ0QyxZQUFZLEVDc1JhLGFBQWE7SURyUnRDLFNBQVMsRUNxUmdCLGFBQWEsR0FDakM7RUEzQ1AsQUErQ00sR0EvQ0gsQ0FBQyxlQUFlLENBQ2pCLGlCQUFpQixDQTZDZixhQUFhLENBQ1gsaUJBQWlCLENBQUM7SUFDaEIsT0FBTyxFQUFFLENBQUM7SUQvUmhCLGlCQUFpQixFQ2dTUSxlQUFlO0lEL1J4QyxjQUFjLEVDK1JXLGVBQWU7SUQ5UnhDLGFBQWEsRUM4UlksZUFBZTtJRDdSeEMsWUFBWSxFQzZSYSxlQUFlO0lENVJ4QyxTQUFTLEVDNFJnQixlQUFlLEdBQ25DOztBQWxEUCxBQXNERSxHQXREQyxDQUFDLGVBQWUsQ0FzRGpCLFVBQVUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBR0gsMEJBQTBCO0FBRTFCLEFBQ0UsbUJBRGlCLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VEOVNaLGlCQUFpQixFQytTSSxhQUFhO0VEOVNsQyxjQUFjLEVDOFNPLGFBQWE7RUQ3U2xDLGFBQWEsRUM2U1EsYUFBYTtFRDVTbEMsWUFBWSxFQzRTUyxhQUFhO0VEM1NsQyxTQUFTLEVDMlNZLGFBQWEsR0FDakM7O0FBR0gsQUFFRSxVQUZRLENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FFaEIsS0FBSztBQURQLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLEtBQUssQ0FBQztFRDdTTixrQkFBa0IsRUM4U0ksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7RUQ3Uy9DLGVBQWUsRUM2U08sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7RUQ1Uy9DLGNBQWMsRUM0U1EsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7RUQzUy9DLGFBQWEsRUMyU1MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7RUQxUy9DLFVBQVUsRUMwU1ksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FROUM7RUQvYUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJQ29hOUMsQUFFRSxVQUZRLENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FFaEIsS0FBSztJQURQLGNBQWMsQ0FBQyxVQUFVLENBQ3ZCLEtBQUssQ0FBQztNRDdTTixrQkFBa0IsRUNpVE0sZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUs7TURoVGpELGVBQWUsRUNnVFMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUs7TUQvU2pELGNBQWMsRUMrU1UsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUs7TUQ5U2pELGFBQWEsRUM4U1csZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUs7TUQ3U2pELFVBQVUsRUM2U2MsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEtBQUs7TUR6UGpELGlCQUFpQixFQUFDLHNJQUFDO01BQ25CLGFBQWEsRUFBQyxzSUFBQztNQUNmLGNBQWMsRUFBQyxzSUFBQztNQUNoQixTQUFTLEVBQUMsc0lBQUMsR0MyUFY7O0FEL2FHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUNrYjlDLEFBSVEsWUFKSSxBQUVQLE1BQU0sQ0FDTCxLQUFLLEFBQ0YsVUFBVyxDQTFPTSxDQUFDLEVBME9KO0lEclFyQixpQkFBaUIsRUFBQyw2QkFBQztJQUNuQixhQUFhLEVBQUMsNkJBQUM7SUFDZixjQUFjLEVBQUMsNkJBQUM7SUFDaEIsU0FBUyxFQUFDLDZCQUFDLEdDb1FKO0VBTlQsQUFRUSxZQVJJLEFBRVAsTUFBTSxDQUNMLEtBQUssQUFLRixVQUFXLENBOU9NLENBQUMsRUE4T0o7SUR6UXJCLGlCQUFpQixFQUFDLG1DQUFDO0lBQ25CLGFBQWEsRUFBQyxtQ0FBQztJQUNmLGNBQWMsRUFBQyxtQ0FBQztJQUNoQixTQUFTLEVBQUMsbUNBQUMsR0N3UUo7RUFWVCxBQVlRLFlBWkksQUFFUCxNQUFNLENBQ0wsS0FBSyxBQVNGLFVBQVcsQ0FsUE0sQ0FBQyxFQWtQSjtJRDdRckIsaUJBQWlCLEVBQUMsbUNBQUM7SUFDbkIsYUFBYSxFQUFDLG1DQUFDO0lBQ2YsY0FBYyxFQUFDLG1DQUFDO0lBQ2hCLFNBQVMsRUFBQyxtQ0FBQyxHQzRRSjs7QUFLUCxBQUVFLG1CQUZpQixDQW5CckIsWUFBWSxDQXFCUixLQUFLO0FBRFAsY0FBYyxDQXBCaEIsWUFBWSxDQXFCUixLQUFLLENBQUM7RUR0UlIsaUJBQWlCLEVBQUMsZUFBQztFQUNuQixhQUFhLEVBQUMsZUFBQztFQUNmLGNBQWMsRUFBQyxlQUFDO0VBQ2hCLFNBQVMsRUFBQyxlQUFDLEdDcVJSOztBRDFTSCxrQkFBa0IsQ0FBbEIsZ0JBQWtCO0VDK1NsQixFQUFFO0lBQ0EsSUFBSSxFQUFFLEdBQUc7RUFHWCxHQUFHO0lBQ0QsSUFBSSxFQUFFLENBQUM7RUFHVCxJQUFJO0lBQ0YsSUFBSSxFQUFFLEdBQUc7O0FEcFRYLGVBQWUsQ0FBZixnQkFBZTtFQzJTZixFQUFFO0lBQ0EsSUFBSSxFQUFFLEdBQUc7RUFHWCxHQUFHO0lBQ0QsSUFBSSxFQUFFLENBQUM7RUFHVCxJQUFJO0lBQ0YsSUFBSSxFQUFFLEdBQUc7O0FEaFRYLGFBQWEsQ0FBYixnQkFBYTtFQ3VTYixFQUFFO0lBQ0EsSUFBSSxFQUFFLEdBQUc7RUFHWCxHQUFHO0lBQ0QsSUFBSSxFQUFFLENBQUM7RUFHVCxJQUFJO0lBQ0YsSUFBSSxFQUFFLEdBQUc7O0FENVNYLFVBQVUsQ0FBVixnQkFBVTtFQ21TVixFQUFFO0lBQ0EsSUFBSSxFQUFFLEdBQUc7RUFHWCxHQUFHO0lBQ0QsSUFBSSxFQUFFLENBQUM7RUFHVCxJQUFJO0lBQ0YsSUFBSSxFQUFFLEdBQUc7O0FBSWIsQUFBQSxjQUFjLENBQUM7RUFFYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUssR0E2Q2Q7RUQ3Z0JLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUMyZDlDLEFBQUEsY0FBYyxDQUFDO01BUVgsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsS0FBSyxHQXlDaEI7RUFsREQsQUFZRSxjQVpZLENBWVosTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUksR0FDWjtFQWRILEFBZ0JFLGNBaEJZLENBZ0JaLFVBQVU7RUFoQlosY0FBYyxDQWlCWixNQUFNO0VBakJSLGNBQWMsQ0FrQlosT0FBTyxDQUFDO0lBQ04sUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FEaFZELGtCQUFrQixDQUFsQixVQUFrQjtFQ2lYbEIsRUFBRTtJQUNBLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7RUFHWixHQUFHO0lBQ0QsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRztFQUdaLEdBQUc7SUFDRCxHQUFHLEVBQUUsRUFBRTtJQUNQLEtBQUssRUFBRSxHQUFHO0VBR1osSUFBSTtJQUNGLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7O0FEOVhaLGVBQWUsQ0FBZixVQUFlO0VDNldmLEVBQUU7SUFDQSxHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHO0VBR1osR0FBRztJQUNELEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7RUFHWixHQUFHO0lBQ0QsR0FBRyxFQUFFLEVBQUU7SUFDUCxLQUFLLEVBQUUsR0FBRztFQUdaLElBQUk7SUFDRixHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHOztBRDFYWixhQUFhLENBQWIsVUFBYTtFQ3lXYixFQUFFO0lBQ0EsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRztFQUdaLEdBQUc7SUFDRCxHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHO0VBR1osR0FBRztJQUNELEdBQUcsRUFBRSxFQUFFO0lBQ1AsS0FBSyxFQUFFLEdBQUc7RUFHWixJQUFJO0lBQ0YsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRzs7QUR0WFosVUFBVSxDQUFWLFVBQVU7RUNxV1YsRUFBRTtJQUNBLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7RUFHWixHQUFHO0lBQ0QsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsR0FBRztFQUdaLEdBQUc7SUFDRCxHQUFHLEVBQUUsRUFBRTtJQUNQLEtBQUssRUFBRSxHQUFHO0VBR1osSUFBSTtJQUNGLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7O0FEbFlaLGtCQUFrQixDQUFsQixjQUFrQjtFQ3VZbEIsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZLENBQUMsZUFBZTtFQUd6QyxHQUFHO0lBQ0QsU0FBUyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7RUFHN0MsSUFBSTtJQUNGLFNBQVMsRUFBRSxZQUFZLENBQUMsa0JBQWtCOztBRDVZNUMsZUFBZSxDQUFmLGNBQWU7RUNtWWYsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZLENBQUMsZUFBZTtFQUd6QyxHQUFHO0lBQ0QsU0FBUyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7RUFHN0MsSUFBSTtJQUNGLFNBQVMsRUFBRSxZQUFZLENBQUMsa0JBQWtCOztBRHhZNUMsYUFBYSxDQUFiLGNBQWE7RUMrWGIsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZLENBQUMsZUFBZTtFQUd6QyxHQUFHO0lBQ0QsU0FBUyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7RUFHN0MsSUFBSTtJQUNGLFNBQVMsRUFBRSxZQUFZLENBQUMsa0JBQWtCOztBRHBZNUMsVUFBVSxDQUFWLGNBQVU7RUMyWFYsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZLENBQUMsZUFBZTtFQUd6QyxHQUFHO0lBQ0QsU0FBUyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7RUFHN0MsSUFBSTtJQUNGLFNBQVMsRUFBRSxZQUFZLENBQUMsa0JBQWtCOztBRGhaNUMsa0JBQWtCLENBQWxCLFVBQWtCO0VDcVpsQixFQUFFO0lBQ0EsU0FBUyxFQUFFLFlBQVk7RUFHekIsR0FBRztJQUNELFNBQVMsRUFBRSxjQUFjO0VBRzNCLElBQUk7SUFDRixTQUFTLEVBQUUsY0FBYzs7QUQxWjNCLGVBQWUsQ0FBZixVQUFlO0VDaVpmLEVBQUU7SUFDQSxTQUFTLEVBQUUsWUFBWTtFQUd6QixHQUFHO0lBQ0QsU0FBUyxFQUFFLGNBQWM7RUFHM0IsSUFBSTtJQUNGLFNBQVMsRUFBRSxjQUFjOztBRHRaM0IsYUFBYSxDQUFiLFVBQWE7RUM2WWIsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZO0VBR3pCLEdBQUc7SUFDRCxTQUFTLEVBQUUsY0FBYztFQUczQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGNBQWM7O0FEbFozQixVQUFVLENBQVYsVUFBVTtFQ3lZVixFQUFFO0lBQ0EsU0FBUyxFQUFFLFlBQVk7RUFHekIsR0FBRztJQUNELFNBQVMsRUFBRSxjQUFjO0VBRzNCLElBQUk7SUFDRixTQUFTLEVBQUUsY0FBYzs7QUFJN0IsZUFBZTtBRGxhYixrQkFBa0IsQ0FBbEIsWUFBa0I7RUNxYWxCLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBQztFQUdaLElBQUk7SUFDRixPQUFPLEVBQUUsSUFBSTs7QUR0YWYsZUFBZSxDQUFmLFlBQWU7RUNpYWYsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFDO0VBR1osSUFBSTtJQUNGLE9BQU8sRUFBRSxJQUFJOztBRGxhZixhQUFhLENBQWIsWUFBYTtFQzZaYixFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFHWixJQUFJO0lBQ0YsT0FBTyxFQUFFLElBQUk7O0FEOVpmLFVBQVUsQ0FBVixZQUFVO0VDeVpWLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBQztFQUdaLElBQUk7SUFDRixPQUFPLEVBQUUsSUFBSTs7QUN6bEJqQixBQUFBLEtBQUssQ0FBQztFQUNKLHFCQUFxQixDQUFBLFFBQUM7RUFDdEIsbUJBQW1CLENBQUEsUUFBQyxHQUNyQjs7QUFFRCxBQUFBLENBQUMsQ0FBQztFQUNBLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQUVELEFBQUEsQ0FBQztBQUNELENBQUMsQUFBQSxNQUFNO0FBQ1AsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNQLGVBQWUsRUFBRSxVQUFVO0VBQzNCLGNBQWMsRUFBRSxVQUFVO0VBQzFCLGtCQUFrQixFQUFFLFVBQVU7RUFDOUIsVUFBVSxFQUFFLFVBQVUsR0FDdkI7O0FBRUQsQUFBQSxJQUFJO0FBQ0osSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxJQUFJO0VBQ2YsdUJBQXVCLEVBQUUsU0FBUztFQUNsQyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFSERDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RUNxRHJELFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFNBQUM7RUFJWCxXQUFXLEVBQUMsSUFBQztFQUNiLFdBQVcsRUFBQyxNQUFDO0VFdkRiLEtBQUssRUhNTyxPQUFPO0VHTG5CLGdCQUFnQixFSG9CUixPQUFPO0VHbkJmLFdBQVcsRUFBRSxHQUFHLEdBS2pCO0VBWEQsQUFRRSxJQVJFLEFBUUQsZUFBZSxDQUFDO0lBQ2YsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBR0gsQUFBQSxHQUFHO0FBQ0gsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLElBQUk7RUFDWixzQkFBc0IsRUFBRSxPQUFPO0VBQy9CLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGlCQUFpQixFQUFFLElBQUk7RUFDdkIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsRUFBRTtBQUNGLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVELEFBQUEsQ0FBQztBQUNELENBQUMsQUFBQSxRQUFRLENBQUM7RUFDUixLQUFLLEVBQUUsT0FBTztFQUNkLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFFBQVEsRUFBRSxRQUFRLEdBQ25COztBQUVELEFBQUEsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLEdBQUc7QUFDSCxHQUFHO0FBQ0gsR0FBRztBQXVGSCxVQUFVLENBV1IsRUFBRTtBQWpHSixHQUFHO0FBc0ZILFVBQVUsQ0FlUixFQUFFO0FBZkosVUFBVSxDQWdCUixFQUFFO0FBckdKLEdBQUcsQ0FBQztFQUNGLFdBQVcsRUhwREQsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7RUdxRDVDLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUgzQ08sT0FBTztFQzJDbkIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsUUFBQztFQUlYLFdBQVcsRUFBQyxJQUFDO0VBQ2IsV0FBVyxFQUFDLE1BQUMsR0VGZDs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFRk5GLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFFBQUM7RUFJWCxXQUFXLEVBQUMsSUFBQztFQUNiLFdBQVcsRUFBQyxTQUFDLEdFYWQ7RUZqRkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJRW9FL0MsQUFBQSxHQUFHLENBQUM7TUZERixXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxRQUFDO01BTmIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsT0FBQyxHRWtCWjtFRjdFSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lFZ0UvQyxBQUFBLEdBQUcsQ0FBQztNRk5GLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLE9BQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxNQUFDLEdFYWQ7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUZyQkYsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsUUFBQztFQUlYLFdBQVcsRUFBQyxJQUFDO0VBQ2IsV0FBVyxFQUFDLFNBQUMsR0VpQ2Q7RUZyR0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJRW1GL0MsQUFBQSxHQUFHLENBQUM7TUZyQkYsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsU0FBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLFNBQUMsR0VpQ2Q7RUZqR0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJRStFL0MsQUFBQSxHQUFHLENBQUM7TUZyQkYsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsSUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLE1BQUMsR0VpQ2Q7OztBQTVDRCxBQThDQSxHQTlDRztBQXVGSCxVQUFVLENBV1IsRUFBRSxDQXBEQTtFRnpDRixTQUFTLEVBQUMsSUFBQztFQUNYLFNBQVMsRUFBQyxTQUFDO0VBSVgsV0FBVyxFQUFDLElBQUM7RUFDYixXQUFXLEVBQUMsUUFBQyxHRTJDZDtFRi9HSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNOztJRXlEL0MsQUE4Q0EsR0E5Q0c7SUF1RkgsVUFBVSxDQVdSLEVBQUUsQ0FwREE7TUZ6Q0YsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsSUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLE1BQUMsR0UyQ2Q7OztBQXJERCxBQXVEQSxHQXZERztBQXNGSCxVQUFVLENBZVIsRUFBRTtBQWZKLFVBQVUsQ0FnQlIsRUFBRSxDQS9DQTtFRm5ERixTQUFTLEVBQUMsSUFBQztFQUNYLFNBQVMsRUFBQyxPQUFDO0VBSVgsV0FBVyxFQUFDLElBQUM7RUFDYixXQUFXLEVBQUMsU0FBQyxHRXFEZDtFRnpISyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNOztJRTBEL0MsQUF1REEsR0F2REc7SUFzRkgsVUFBVSxDQWVSLEVBQUU7SUFmSixVQUFVLENBZ0JSLEVBQUUsQ0EvQ0E7TUZuREYsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsTUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLFFBQUMsR0VxRGQ7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUY3REYsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsT0FBQztFQUlYLFdBQVcsRUFBQyxJQUFDO0VBQ2IsV0FBVyxFQUFDLFFBQUMsR0UrRGQ7O0FGM0lLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUU2STlDLEFBQ0UsQ0FERCxDQUNDLENBQUM7RUFESCxDQUFDLENBRUMsQ0FBQyxBQUFBLFFBQVEsQ0FBQztJQUlOLFdBQVcsRUFBRSxNQUFNLEdBRXRCOztBQUdILEFBQUEsVUFBVSxDQUFDO0VBb0JULEtBQUssRUhqSk8sT0FBTztFQ2dEbkIsV0FBVyxFQUFDLElBQUM7RUFDYixXQUFXLEVBQUMsUUFBQyxHRTBLZDtFQTlGRCxBQUNFLFVBRFEsQ0FDUixFQUFFO0VBREosVUFBVSxDQUVSLEVBQUU7RUFGSixVQUFVLENBR1IsRUFBRSxDQUFDO0lBQ0QsTUFBTSxFQUFFLFVBQVUsR0FLbkI7SUFUSCxBQU1JLFVBTk0sQ0FDUixFQUFFLEFBS0MsWUFBWTtJQU5qQixVQUFVLENBRVIsRUFBRSxBQUlDLFlBQVk7SUFOakIsVUFBVSxDQUdSLEVBQUUsQUFHQyxZQUFZLENBQUM7TUFDWixVQUFVLEVBQUUsQ0FBQyxHQUNkO0VGaEtDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUV3SjlDLEFBQUEsVUFBVSxDQUFDO01GbEZULFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFNBQUMsR0UrS1o7RUE5RkQsQUE0QkUsVUE1QlEsQ0E0QlIsQ0FBQyxDQUFDO0lGOUdGLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLElBQUM7SUFJWCxXQUFXLEVBQUMsSUFBQztJQUNiLFdBQVcsRUFBQyxTQUFDLEdFbUhaO0lBdkNILEFBZ0NJLFVBaENNLENBNEJSLENBQUMsR0FJSyxDQUFDLENBQUM7TUFDSixVQUFVLEVBQUUsTUFBTSxHQUNuQjtJRmxMQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01FZ0ovQyxBQTRCRSxVQTVCUSxDQTRCUixDQUFDLENBQUM7UUY5R0YsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsT0FBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLFFBQUMsR0VtSFo7RUF2Q0gsQUF5Q0UsVUF6Q1EsQ0F5Q1IsRUFBRTtFQXpDSixVQUFVLENBMENSLEVBQUUsQ0FBQztJQUNELE1BQU0sRUFBRSxTQUFTLEdBY2xCO0lBekRILEFBNkNJLFVBN0NNLENBeUNSLEVBQUUsQ0FJQSxFQUFFO0lBN0NOLFVBQVUsQ0EwQ1IsRUFBRSxDQUdBLEVBQUUsQ0FBQztNQUNELFFBQVEsRUFBRSxRQUFRO01BUWxCLFlBQVksRUFBRSxJQUFJO01BQ2xCLGFBQWEsRUFBRSxHQUFHLEdBQ25CO01BeERMLEFBZ0RNLFVBaERJLENBeUNSLEVBQUUsQ0FJQSxFQUFFLEFBR0MsT0FBTztNQWhEZCxVQUFVLENBMENSLEVBQUUsQ0FHQSxFQUFFLEFBR0MsT0FBTyxDQUFDO1FBQ1AsV0FBVyxFSHhMTCxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO1FHeUwvQyxRQUFRLEVBQUUsUUFBUTtRQUNsQixJQUFJLEVBQUUsQ0FBQyxHQUNSO0VBcERQLEFBNkRNLFVBN0RJLENBMkRSLEVBQUUsQ0FDQSxFQUFFLEFBQ0MsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLE9BQU87SUFDaEIsS0FBSyxFSDVMQyxPQUFPO0lHNkxiLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBakVQLEFBc0VJLFVBdEVNLENBcUVSLEVBQUUsQ0FDQSxFQUFFLENBQUM7SUFDRCxpQkFBaUIsRUFBRSxNQUFNLEdBcUIxQjtJQTVGTCxBQXlFTSxVQXpFSSxDQXFFUixFQUFFLENBQ0EsRUFBRSxBQUdDLFlBQVksQ0FBQztNQUNaLGFBQWEsRUFBRSxNQUFNLEdBQ3RCO0lBM0VQLEFBNkVNLFVBN0VJLENBcUVSLEVBQUUsQ0FDQSxFQUFFLEFBT0MsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLHFDQUFxQyxDQUFDLEVBQUU7TUFJakQsV0FBVyxFQUFFLEdBQUcsR0FTakI7TUZuUEQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRRXdKOUMsQUE2RU0sVUE3RUksQ0FxRVIsRUFBRSxDQUNBLEVBQUUsQUFPQyxPQUFPLENBQUM7VUFRTCxXQUFXLEVBQUUsR0FBRyxHQU1uQjtNRjNPRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FFZ0ovQyxBQTZFTSxVQTdFSSxDQXFFUixFQUFFLENBQ0EsRUFBRSxBQU9DLE9BQU8sQ0FBQztVQVlMLFdBQVcsRUFBRSxHQUFHLEdBRW5COztBQU1QLEFBQUEsVUFBVTtBQUNWLFVBQVUsQ0FBQyxDQUFDLENBQUM7RUZwTFgsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsTUFBQztFRXFMWCxXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUhqUEQsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7RUNzRDVDLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLE1BQUM7RUFJWCxXQUFXLEVBQUMsSUFBQztFQUNiLFdBQVcsRUFBQyxPQUFDO0VFd0xiLFdBQVcsRUFBRSxPQUFPLEdBZ0JyQjtFRnBSSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lFK1A5QyxBQUFBLFdBQVcsQ0FBQztNRnpMVixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxJQUFDO01BSVgsV0FBVyxFQUFDLElBQUM7TUFDYixXQUFXLEVBQUMsSUFBQyxHRXdNZDtFRjVRSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lFdVAvQyxBQUFBLFdBQVcsQ0FBQztNRnpMVixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxPQUFDO01BSVgsV0FBVyxFQUFDLElBQUM7TUFDYixXQUFXLEVBQUMsT0FBQyxHRXdNZDtFQUxFLEFBQUQsb0JBQVUsQ0FBQztJQUNULFdBQVcsRUhoUUgsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7SUNzRDVDLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLFNBQUM7SUFJWCxXQUFXLEVBQUMsSUFBQztJQUNiLFdBQVcsRUFBQyxRQUFDLEdFdU1aOztBQUdILEFBQUEsTUFBTSxDQUFDLFVBQVU7QUFDakIsUUFBUSxDQUFDO0VGak5QLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFNBQUM7RUFJWCxXQUFXLEVBQUMsSUFBQztFQUNiLFdBQVcsRUFBQyxNQUFDO0VFOE1iLGNBQWMsRUFBRSxLQUFLLEdBQ3RCOztBQzNTRCxBQUFBLFVBQVUsQ0FBQztFYjZMVCxXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixLQUFLLEVhOUxtQixHQUFHO0VIZ1EzQixTQUFTLEVBQUUsTUFBTSxHR3ZQbEI7RUFWRCxBUHNERSxVT3REUSxBUHNEUCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFSTlCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lHNUIvQyxBQUFBLFVBQVUsQ0FBQztNSG9RUCxTQUFTLEVBQUUsTUFBTSxHRzFQcEI7RUh1Q0csTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lHN0N6QixBQUFELHNCQUFhLENBQUM7TUFFVixLQUFLLEVBQUUsSUFBSTtNQUNYLFNBQVMsRUFBRSxJQUFJLEdBRWxCOztBQUdILEFBQUEsU0FBUyxFYytVVCxNQUFNO0FBQ04sd0JBQXdCLENkaFZkO0ViaUdSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUZ3QixLQUFLO0VBRzVDLEtBQUssRUFBRSxJQUFJO0VBV1QsU0FBUyxFQUFFLElBQUksR2E1R2xCOztBQUVELEFBQUEsY0FBYyxDQUFDO0ViNkZiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQXlDNkIsYUFBYTtFQXhDekQsS0FBSyxFQUFFLElBQUk7RUFXVCxTQUFTLEVBQUUsSUFBSSxHYXhHbEI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RWJxRUgsS0FBSyxFQUFFLElBQUksR2FuRVo7RUFGRCxBUGtDRSxJT2xDRSxBUGtDRCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QU9sQ0gsQUFBQSxjQUFjLENBQUM7RVhBYixLQUFLLEVIbUNHLElBQVk7RUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHV0M1QztFQUZELEFYR0UsY1dIWSxBWEdYLFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJR1E5QyxBQUFBLGNBQWMsQ0FBQztNWEFiLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksR2NqQ3JCO01BRkQsQVhHRSxjV0hZLEFYR1gsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lHQS9DLEFBQUEsY0FBYyxDQUFDO01YQWIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsU0FBWSxHY2pDckI7TUFGRCxBWEdFLGNXSFksQVhHWCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QVkzQkg7OzhCQUU4QjtBQUU5QixBQUFBLE9BQU8sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsVUFBVSxFQUFFLGdCQUFnQixDQVpSLEtBQUssRUFhdkIsTUFBTSxDQUFDLEVBQUUsQ0FiUyxLQUFLLEdBNEMxQjtFQXRDRCxBQVNFLE9BVEssQ0FTTCxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsQ0FBQztJQUNWLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLENBQUMsR0FnQlI7SUpwQkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNSVY5QyxBQVNFLE9BVEssQ0FTTCxhQUFhLENBQUM7UUFRVixXQUFXLEVBQUUsSUFBSSxHQWFwQjtJSlJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TUl0Qi9DLEFBU0UsT0FUSyxDQVNMLGFBQWEsQ0FBQztRQVdWLFdBQVcsRUFBRSxJQUFJLEdBVXBCO0VKWkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJSWxCL0MsQUFpQ0ksT0FqQ0csQ0FpQ0gsSUFBSSxDQUFDO01BQ0gsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUFJTDs7OEJBRThCO0FBRTlCLEFBQUEsVUFBVSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxDQUFDO0VBR1QsT0FBTyxFQUFFLENBQUM7RUFDVixTQUFTLEVBQUUsYUFBYSxHQTZDekI7RUFwREQsQUFTRSxVQVRRLENBU1IsQ0FBQyxDQUFDO0lBQ0EsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUUsT0FBTztJQUVwQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBb0NaO0lKckZHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TUlrQzlDLEFBU0UsVUFUUSxDQVNSLENBQUMsQ0FBQztRQVNFLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLEtBQUssR0FnQ2Y7SUp6RUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNSXNCL0MsQUFTRSxVQVRRLENBU1IsQ0FBQyxDQUFDO1FBY0UsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsS0FBSyxHQTJCZjtJQW5ESCxBQTJCSSxVQTNCTSxDQVNSLENBQUMsQ0FrQkMsR0FBRyxDQUFDO01BQ0YsVUFBVSxFQUFFLENBQUM7TUFDYixRQUFRLEVBQUUsUUFBUSxHQVVuQjtNQXZDTCxBQStCTSxVQS9CSSxDQVNSLENBQUMsQ0FrQkMsR0FBRyxBQUlBLE1BQU0sRUEvQmIsVUFBVSxDQVNSLENBQUMsQ0FrQkMsR0FBRyxBQUtBLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ1g7TUFsQ1AsQUFvQ00sVUFwQ0ksQ0FTUixDQUFDLENBa0JDLEdBQUcsQUFTQSxLQUFLLENBQUM7UUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBdENQLEFBeUNJLFVBekNNLENBU1IsQ0FBQyxDQWdDQyxLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE1BQU0sRUFBRSxHQUFHO01BQ1gsTUFBTSxFQUFFLENBQUM7TUFDVCxJQUFJLEVBQUUsSUFBSTtNQUNWLEtBQUssRUFBRSxDQUFDO01BQ1IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsZ0JBQWdCLEVMMURWLE9BQU8sR0syRGQ7O0FBSUw7OzhCQUU4QjtBQUU5QixBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLEdBQUc7RUFDWixnQkFBZ0IsRUFBRSxXQUFXLEdBNEI5QjtFQXBDRCxBQVVFLFlBVlUsQ0FVVixLQUFLLENBQUM7SUFDSixnQkFBZ0IsRUwzRFgsT0FBTztJSzREWixNQUFNLEVBQUUsR0FBRztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLEdBQUc7SUFDUixJQUFJLEVBQUUsR0FBRztJSk1YLGlCQUFpQixFSUpJLGVBQWU7SUpLcEMsY0FBYyxFSUxPLGVBQWU7SUpNcEMsYUFBYSxFSU5RLGVBQWU7SUpPcEMsWUFBWSxFSVBTLGVBQWU7SUpRcEMsU0FBUyxFSVJZLGVBQWU7SUpZcEMsa0JBQWtCLEVJWEksR0FBRyxDQUFDLElBQUksQ0xuRGpCLHdDQUF3QztJQytEckQsZUFBZSxFSVpPLEdBQUcsQ0FBQyxJQUFJLENMbkRqQix3Q0FBd0M7SUNnRXJELGNBQWMsRUliUSxHQUFHLENBQUMsSUFBSSxDTG5EakIsd0NBQXdDO0lDaUVyRCxhQUFhLEVJZFMsR0FBRyxDQUFDLElBQUksQ0xuRGpCLHdDQUF3QztJQ2tFckQsVUFBVSxFSWZZLEdBQUcsQ0FBQyxJQUFJLENMbkRqQix3Q0FBd0M7SUtvRG5ELFFBQVEsRUFBRSxRQUFRLEdBWW5CO0lBL0JILEFBcUJJLFlBckJRLENBVVYsS0FBSyxBQVdGLFVBQVcsQ0gyRlUsQ0FBQyxFRzNGUjtNQUViLEdBQUcsRUFBRSxHQUFHO01KRlosaUJBQWlCLEVJR00sZ0JBQWdCO01KRnZDLGNBQWMsRUlFUyxnQkFBZ0I7TUpEdkMsYUFBYSxFSUNVLGdCQUFnQjtNSkF2QyxZQUFZLEVJQVcsZ0JBQWdCO01KQ3ZDLFNBQVMsRUlEYyxnQkFBZ0IsR0FDcEM7SUF6QkwsQUEyQkksWUEzQlEsQ0FVVixLQUFLLEFBaUJGLFVBQVcsQ0hxRlUsQ0FBQyxFR3JGUjtNQUNiLE1BQU0sRUFBRSxHQUFHO01BQ1gsR0FBRyxFQUFFLElBQUksR0FDVjtFSmxIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lJb0YvQyxBQUFBLFlBQVksQ0FBQztNQWtDVCxPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRDs7OEJBRThCO0FBRTlCLEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsT0FBTyxDQXpKQyxLQUFLLENBeUpnQixJQUFJO0VBQzdDLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGtCQUFrQixFQUFFLGFBQWE7RUFDakMsT0FBTyxFQUFFLGFBQWEsR0EwSXZCO0VKclBHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJSWlHN0IsQUFBQSxJQUFJLENBQUM7TUFhRCxJQUFJLEVBQUUsQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsVUFBVSxFQUFFLEtBQUssR0FxSXBCO01BbklJLEFBQUQsYUFBVSxDQUFDO1FBQ1QsT0FBTyxFQUFFLElBQUksR0FDZDtFSmpKQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lJcUoxQyxBQUFELFlBQVMsQ0FBQztNQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7SUFSQSxBQUFELGFBQVUsQ0FVQztNQUNULFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxHQUFHO01BQ1YsT0FBTyxFQUFFLENBQUMsR0FDWDtFQS9CTCxBQXVDRSxJQXZDRSxDQXVDRixtQkFBbUIsQ0FBQztJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUVaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0lBRWhCOztzQ0FFa0MsRUFvR25DO0lBbkpILEFBaURJLElBakRBLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBQUM7TUFDRixPQUFPLEVBQUUsWUFBWTtNQUNyQixNQUFNLEVBQUUsSUFBSTtNQUNaLElBQUksRUFBRSxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVEsR0E2Rm5CO01KblBELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtRSWlHN0IsQUFpREksSUFqREEsQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0FBQztVQU9BLFNBQVMsRUFBRSxLQUFLLEdBMEZuQjtNSmhSQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FJOEgvQyxBQWlESSxJQWpEQSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQUFDO1VBV0EsSUFBSSxFQUFFLEtBQUs7VUFDWCxNQUFNLEVBQUUsS0FBSztVQUNiLEtBQUssRUFBRSxDQUFDO1VKbkZkLGlCQUFpQixFSW9GUSxlQUFlO1VKbkZ4QyxjQUFjLEVJbUZXLGVBQWU7VUpsRnhDLGFBQWEsRUlrRlksZUFBZTtVSmpGeEMsWUFBWSxFSWlGYSxlQUFlO1VKaEZ4QyxTQUFTLEVJZ0ZnQixlQUFlLEdBbUZyQztNQWxKTCxBQWtFTSxJQWxFRixDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWlCRCxhQUFhO01BbEVuQixJQUFJLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBa0JELGFBQWEsQ0FBQztRQUNaLFdBQVcsRUx6TEwsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRQ3FEckQsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsUUFBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLElBQUM7UUlpSVAsV0FBVyxFQUFFLEdBQUc7UUFDaEIsY0FBYyxFQUFFLE1BQU0sR0FtRXZCO1FBM0lQLEFBMEVRLElBMUVKLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FRWCxDQUFDO1FBMUVULElBQUksQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0FrQkQsYUFBYSxDQU9YLENBQUMsQ0FBQztVQUNBLEtBQUssRUxwTEEsT0FBTyxHS3FMYjtRSjFNSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1VJOEgvQyxBQWtFTSxJQWxFRixDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWlCRCxhQUFhO1VBbEVuQixJQUFJLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBa0JELGFBQWEsQ0FBQztZSm5JbEIsU0FBUyxFQUFDLElBQUM7WUFDWCxTQUFTLEVBQUMsT0FBQztZQUlYLFdBQVcsRUFBQyxJQUFDO1lBQ2IsV0FBVyxFQUFDLFFBQUMsR0lxTVI7WUEzSVAsQUEwRVEsSUExRUosQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0FpQkQsYUFBYSxDQVFYLENBQUM7WUExRVQsSUFBSSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWtCRCxhQUFhLENBT1gsQ0FBQyxDQVFHO2NBQ0EsS0FBSyxFTGhNTCxPQUFPLEdLaU1SO1FBcEZYLEFBdUZRLElBdkZKLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FxQlgsVUFBVTtRQXZGbEIsSUFBSSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWtCRCxhQUFhLENBb0JYLFVBQVUsQ0FBQztVQUNULFFBQVEsRUFBRSxRQUFRLEdBa0RuQjtVSjNPTCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07WUlpRzdCLEFBMkZZLElBM0ZSLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FxQlgsVUFBVSxDQUlOLENBQUM7WUEzRmIsSUFBSSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWtCRCxhQUFhLENBb0JYLFVBQVUsQ0FJTixDQUFDLENBQUM7Y0p4R1osa0JBQWtCLEVJeUdjLEtBQUssQ0FBQyxJQUFJLENMdks3Qix3Q0FBd0M7Y0MrRHJELGVBQWUsRUl3R2lCLEtBQUssQ0FBQyxJQUFJLENMdks3Qix3Q0FBd0M7Y0NnRXJELGNBQWMsRUl1R2tCLEtBQUssQ0FBQyxJQUFJLENMdks3Qix3Q0FBd0M7Y0NpRXJELGFBQWEsRUlzR21CLEtBQUssQ0FBQyxJQUFJLENMdks3Qix3Q0FBd0M7Y0NrRXJELFVBQVUsRUlxR3NCLEtBQUssQ0FBQyxJQUFJLENMdks3Qix3Q0FBd0MsR0t3SzFDO1lBN0ZiLEFBMkZZLElBM0ZSLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FxQlgsVUFBVSxDQUlOLENBQUM7WUEzRmIsSUFBSSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWtCRCxhQUFhLENBb0JYLFVBQVUsQ0FJTixDQUFDLENBSUM7Y0FDQSxhQUFhLEVBQUUsSUFBSTtjQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmO1lBbEdiLEFBcUdjLElBckdWLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FxQlgsVUFBVSxBQWFMLE1BQU0sQ0FDTCxDQUFDO1lBckdmLElBQUksQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0FrQkQsYUFBYSxDQW9CWCxVQUFVLEFBYUwsTUFBTSxDQUNMLENBQUMsQ0FBQztjQUNBLEtBQUssRUxoTkwsT0FBTyxHS2lOUjtVSnJPVCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1lJOEgvQyxBQXVGUSxJQXZGSixDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWlCRCxhQUFhLENBcUJYLFVBQVU7WUF2RmxCLElBQUksQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0FrQkQsYUFBYSxDQW9CWCxVQUFVLENBQUM7Y0FxQlAsT0FBTyxFQUFFLE1BQU0sR0E4QmxCO2NBMUlULEFBOEdZLElBOUdSLENBdUNGLG1CQUFtQixDQVVqQixHQUFHLENBaUJELGFBQWEsQ0FxQlgsVUFBVSxBQXVCTCxJQUFLLENBQUEsWUFBWTtjQTlHOUIsSUFBSSxDQXVDRixtQkFBbUIsQ0FVakIsR0FBRyxDQWtCRCxhQUFhLENBb0JYLFVBQVUsQUF1QkwsSUFBSyxDQUFBLFlBQVksRUFBRTtnQkFDbEIsV0FBVyxFQUFFLElBQUksR0FDbEI7TUo5T1AsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRSThIL0MsQUE2SU0sSUE3SUYsQ0F1Q0YsbUJBQW1CLENBVWpCLEdBQUcsQ0E0RkQsYUFBYSxDQUFDO1VBRVYsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBS1AsQUFBQSxXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxHQUFHO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxLQUFLLEdBeUJqQjtFSjNUSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lJNFI5QyxBQUFBLFdBQVcsQ0FBQztNQVNSLE9BQU8sRUFBRSxLQUFLLEdBc0JqQjtFSm5USyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lJb1IvQyxBQUFBLFdBQVcsQ0FBQztNQWFSLElBQUksRUFBRSxHQUFHLEdBa0JaO0VBL0JELEFBZ0JFLFdBaEJTLENBZ0JULGtCQUFrQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLFFBQVE7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUozT2xCLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLE9BQUM7SUk0T1QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLEtBQUs7SUFDckIsS0FBSyxFTHhSTSxPQUFPLEdLNlJuQjtJQTlCSCxBQTJCSSxXQTNCTyxDQWdCVCxrQkFBa0IsQUFXZixNQUFNLENBQUM7TUFDTixLQUFLLEVMNVJLLE9BQU8sR0s2UmxCOztBQUlMLEFBQUEsY0FBYyxDQUFDO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsQ0FBQztFQUNqQixPQUFPLEVBQUUsRUFBRSxHQWlEWjtFSjdVRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUl3UjdCLEFBTUUsY0FOWSxDQU1aLFNBQVMsQ0FBQztNQUVOLFdBQVcsRUFBRSxJQUFJO01BQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsR0FFNUI7RUp4VUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJSTZUOUMsQUFBQSxjQUFjLENBQUM7TUFjWCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUMsR0FvQ1o7RUFyREQsQUFxQkksY0FyQlUsQ0FvQlosU0FBUyxDQUNQLGVBQWUsQ0FBQztJQUNkLGNBQWMsRUFBRSxJQUFJLEdBQ3JCO0VBdkJMLEFBeUJJLGNBekJVLENBb0JaLFNBQVMsQ0FLUCxlQUFlO0VBekJuQixjQUFjLENBb0JaLFNBQVMsQ0FNUCxJQUFJLENBQUM7SUFDSCxLQUFLLEVMNVRLLE9BQU87SUs2VGpCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxDQUFDLEdBQ2xCO0VBaENMLEFBbUNNLGNBbkNRLENBb0JaLFNBQVMsQ0FjUCxLQUFLLENBQ0gsUUFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEtBQUssR0FVZjtJSm5XRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01JcVQvQyxBQW1DTSxjQW5DUSxDQW9CWixTQUFTLENBY1AsS0FBSyxDQUNILFFBQVEsQ0FBQztRQUlMLE9BQU8sRUFBRSxZQUFZLEdBT3hCO1FBOUNQLEFBeUNVLGNBekNJLENBb0JaLFNBQVMsQ0FjUCxLQUFLLENBQ0gsUUFBUSxBQU1ILGNBQWMsQUFBQSxNQUFNLENBQUM7VUFDcEIsT0FBTyxFQUFFLE1BQU07VUFDZixPQUFPLEVBQUUsR0FBRyxHQUNiO0VBNUNYLEFBZ0RNLGNBaERRLENBb0JaLFNBQVMsQ0FjUCxLQUFLLENBY0gsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFLUCxBQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxBQUFBLFNBQVMsQ0FBQztFQUMzQixLQUFLLEVMelZTLE9BQU8sR0swVnRCOztBQUVELEFBQUEsZUFBZSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUM5QyxLQUFLLEVMN1ZTLE9BQU8sR0s4VnRCOztBQUVELEFBQUEsTUFBTSxDQUFDLFFBQVE7QUFDZixNQUFNLENBQUMsZ0JBQWdCLENBQUM7RUFDdEIsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFFRCxBQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUM7RUFDVixRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUFFRCxBQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7RUFDOUIsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsT0FBTztFQUNqQixPQUFPLEVBQUUsUUFBUSxHQUNsQjs7QUFFRDs7OEJBRThCO0FKMVcxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUkyVzdCLEFBQ0UsbUJBRGlCLENBQ2pCLE9BQU8sQ0FBQztJQUVKLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLEVBQUU7SUFDWCxnQkFBZ0IsRUx6V2IsT0FBTztJSzBXVixRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLGdCQUFnQixDQXhhWixLQUFLLEVBd2E4QixNQUFNLENBQUMsRUFBRSxHQUUvRDs7QUFWSCxBQVlFLG1CQVppQixDQVlqQixPQUFPLENBQUMsYUFBYSxDQUFDO0VBRXBCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGdCQUFnQixFQUFFLHNCQUFzQjtFSjlTMUMsaUJBQWlCLEVJK1NJLGFBQWEsQ0FBQyxVQUFVO0VKOVM3QyxjQUFjLEVJOFNPLGFBQWEsQ0FBQyxVQUFVO0VKN1M3QyxhQUFhLEVJNlNRLGFBQWEsQ0FBQyxVQUFVO0VKNVM3QyxZQUFZLEVJNFNTLGFBQWEsQ0FBQyxVQUFVO0VKM1M3QyxTQUFTLEVJMlNZLGFBQWEsQ0FBQyxVQUFVLEdBd0I1QztFSm5aQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUkyVzdCLEFBcUJVLG1CQXJCUyxDQVlqQixPQUFPLENBQUMsYUFBYSxDQU9qQixVQUFVLENBQ1IsQ0FBQyxDQUNDLEdBQUcsQ0FBQztNSjVTWixrQkFBa0IsRUk2U1ksT0FBTyxDQUFDLElBQUk7TUo1UzFDLGVBQWUsRUk0U2UsT0FBTyxDQUFDLElBQUk7TUozUzFDLGNBQWMsRUkyU2dCLE9BQU8sQ0FBQyxJQUFJO01KMVMxQyxhQUFhLEVJMFNpQixPQUFPLENBQUMsSUFBSTtNSnpTMUMsVUFBVSxFSXlTb0IsT0FBTyxDQUFDLElBQUksR0FDakM7SUF2QlgsQUF5QlUsbUJBekJTLENBWWpCLE9BQU8sQ0FBQyxhQUFhLENBT2pCLFVBQVUsQ0FDUixDQUFDLENBS0MsS0FBSztJQXpCZixtQkFBbUIsQ0FZakIsT0FBTyxDQUFDLGFBQWEsQ0FPakIsVUFBVSxDQUNSLENBQUMsQ0FNQyxNQUFNLENBQUM7TUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBNUJYLEFBOEJVLG1CQTlCUyxDQVlqQixPQUFPLENBQUMsYUFBYSxDQU9qQixVQUFVLENBQ1IsQ0FBQyxDQVVDLE1BQU0sQ0FBQztNQUNMLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUFoQ1gsQUFrQ1UsbUJBbENTLENBWWpCLE9BQU8sQ0FBQyxhQUFhLENBT2pCLFVBQVUsQ0FDUixDQUFDLENBY0MsS0FBSyxDQUFDO01BQ0osZ0JBQWdCLEVMdlpaLE9BQU8sQ0t1WnNCLFVBQVUsR0FDNUM7O0FBcENYLEFBMkNJLG1CQTNDZSxDQTBDakIsWUFBWSxDQUNWLEtBQUssQ0FBQztFQUNKLGdCQUFnQixFTGhhTixPQUFPLEdLOGFsQjtFQTFETCxBQThDTSxtQkE5Q2EsQ0EwQ2pCLFlBQVksQ0FDVixLQUFLLEFBR0YsVUFBVyxDSGxQUSxDQUFDLEVHa1BOO0lKN1VuQixpQkFBaUIsRUk4VVEsa0JBQWtCLENBQUMsYUFBYTtJSjdVekQsY0FBYyxFSTZVVyxrQkFBa0IsQ0FBQyxhQUFhO0lKNVV6RCxhQUFhLEVJNFVZLGtCQUFrQixDQUFDLGFBQWE7SUozVXpELFlBQVksRUkyVWEsa0JBQWtCLENBQUMsYUFBYTtJSjFVekQsU0FBUyxFSTBVZ0Isa0JBQWtCLENBQUMsYUFBYSxHQUNwRDtFQWhEUCxBQWtETSxtQkFsRGEsQ0EwQ2pCLFlBQVksQ0FDVixLQUFLLEFBT0YsVUFBVyxDSHRQUSxDQUFDLEVHc1BOO0lBQ2IsS0FBSyxFQUFFLEdBQUc7SUFDVixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBckRQLEFBdURNLG1CQXZEYSxDQTBDakIsWUFBWSxDQUNWLEtBQUssQUFZRixVQUFXLENIM1BRLENBQUMsRUcyUE47SUp0Vm5CLGlCQUFpQixFSXVWUSxrQkFBa0IsQ0FBQyxjQUFjO0lKdFYxRCxjQUFjLEVJc1ZXLGtCQUFrQixDQUFDLGNBQWM7SUpyVjFELGFBQWEsRUlxVlksa0JBQWtCLENBQUMsY0FBYztJSnBWMUQsWUFBWSxFSW9WYSxrQkFBa0IsQ0FBQyxjQUFjO0lKblYxRCxTQUFTLEVJbVZnQixrQkFBa0IsQ0FBQyxjQUFjLEdBQ3JEOztBQXpEUCxBQTZERSxtQkE3RGlCLENBNkRqQixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxPQUFPLEdBQ3BCOztBQWhFSCxBQWtFRSxtQkFsRWlCLENBa0VqQixRQUFRLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLDBCQUEwQixFQUFFLEtBQUs7RUFDakMsbUJBQW1CLEVBQUUsTUFBTSxHQUM1Qjs7QUFHSDs7OEJBRThCO0NBRTlCLEFBQUEsQUFJUSxVQUpQLENBQVcsTUFBTSxBQUFqQixFQUNDLGFBQWEsQ0FDWCxVQUFVLENBQ1IsQ0FBQyxDQUNDLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0NBTlQsQUFBQSxBQVFRLFVBUlAsQ0FBVyxNQUFNLEFBQWpCLEVBQ0MsYUFBYSxDQUNYLFVBQVUsQ0FDUixDQUFDLENBS0MsS0FBSztDQVJiLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUFDQyxhQUFhLENBQ1gsVUFBVSxDQUNSLENBQUMsQ0FNQyxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztDQVhULEFBQUEsQUFhUSxVQWJQLENBQVcsTUFBTSxBQUFqQixFQUNDLGFBQWEsQ0FDWCxVQUFVLENBQ1IsQ0FBQyxDQVVDLEtBQUssQ0FBQztFQUNKLGdCQUFnQixFTGpkVixPQUFPLEdLa2RkOztDQWZULEFBQUEsQUFvQk0sVUFwQkwsQ0FBVyxNQUFNLEFBQWpCLEVBQ0MsYUFBYSxDQWtCWCxZQUFZLENBQ1YsS0FBSyxDQUFDO0VBQ0osZ0JBQWdCLEVMeGRSLE9BQU8sR0t5ZGhCOztDQXRCUCxBQUFBLEFBMEJFLFVBMUJELENBQVcsTUFBTSxBQUFqQixFQTBCQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7RUFDM0MsS0FBSyxFTDdkTSxPQUFPLEdLOGRuQjs7Q0FLSCxBQUFBLEFBSVEsVUFKUCxDQUFXLFNBQVMsQUFBcEIsRUFDQyxhQUFhLENBQ1gsVUFBVSxDQUNSLENBQUMsQ0FDQyxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztDQU5ULEFBQUEsQUFRUSxVQVJQLENBQVcsU0FBUyxBQUFwQixFQUNDLGFBQWEsQ0FDWCxVQUFVLENBQ1IsQ0FBQyxDQUtDLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0NBVlQsQUFBQSxBQVlRLFVBWlAsQ0FBVyxTQUFTLEFBQXBCLEVBQ0MsYUFBYSxDQUNYLFVBQVUsQ0FDUixDQUFDLENBU0MsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLENBQUMsR0FDWDs7Q0FkVCxBQUFBLEFBZ0JRLFVBaEJQLENBQVcsU0FBUyxBQUFwQixFQUNDLGFBQWEsQ0FDWCxVQUFVLENBQ1IsQ0FBQyxDQWFDLEtBQUssQ0FBQztFQUNKLGdCQUFnQixFTHJlakIsT0FBTyxHS3NlUDs7Q0FsQlQsQUFBQSxBQXVCTSxVQXZCTCxDQUFXLFNBQVMsQUFBcEIsRUFDQyxhQUFhLENBcUJYLFlBQVksQ0FDVixLQUFLLENBQUM7RUFDSixnQkFBZ0IsRUw1ZWYsT0FBTyxHSzZlVDs7Q0F6QlAsQUFBQSxBQTZCRSxVQTdCRCxDQUFXLFNBQVMsQUFBcEIsRUE2QkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0VBQzNDLEtBQUssRUxsZkEsT0FBTyxHS21mYjs7QUMvaUJILEFBQ0UsTUFESSxDQUNKLHFCQUFxQjtBQUR2QixNQUFNLENBRUosZ0JBQWdCLENBQUM7RWJzQmpCLEtBQUssRUhtQ0csSUFBWTtFR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdhakIxQztFQVJILEFiMkJFLE1hM0JJLENBQ0oscUJBQXFCLEFiMEJwQixXQUFXO0VhM0JkLE1BQU0sQ0FFSixnQkFBZ0IsQWJ5QmYsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLeEIvQyxBQUNFLE1BREksQ0FDSixxQkFBcUI7SUFEdkIsTUFBTSxDQUVKLGdCQUFnQixDQUFDO01ic0JqQixLQUFLLEVIbUNHLE1BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHYWpCMUM7TUFSSCxBYjJCRSxNYTNCSSxDQUNKLHFCQUFxQixBYjBCcEIsV0FBVztNYTNCZCxNQUFNLENBRUosZ0JBQWdCLEFieUJmLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBYTdCSCxBQVlNLE1BWkEsQ0FXRCxjQUFPLEFBQ0wsUUFBUSxDQUFDO0VBQ1IsT0FBTyxFQUFFLGFBQWE7RUFDdEIsVUFBVSxFQUFFLElBQUksR0E4RGpCO0VMNURELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUtoQjlDLEFBWU0sTUFaQSxDQVdELGNBQU8sQUFDTCxRQUFRLENBQUM7TUFJTixPQUFPLEVBQUUsTUFBTTtNQUNmLE1BQU0sRUFBRSxDQUFDLEdBMkRaO0VMcERELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SUt4Qi9DLEFBWU0sTUFaQSxDQVdELGNBQU8sQUFDTCxRQUFRLENBQUM7TUFRTixPQUFPLEVBQUUsYUFBYTtNQUN0QixNQUFNLEVBQUUsQ0FBQyxHQXVEWjtFTHBERCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLeEIvQyxBQThCUSxNQTlCRixDQVdELGNBQU8sQUFDTCxRQUFRLENBa0JQLFNBQVMsRUE5QmpCLE1BQU0sQ0FXRCxjQUFPLEFBQ0wsUUFBUSxDWStVZixNQUFNO0laM1ZOLE1BQU0sQ0FXRCxjQUFPLEFBQ0wsUUFBUSxDWWdWZix3QkFBd0IsQ1o5VE47TUFFTixTQUFTLEVBQUUsTUFBTSxHQUVwQjtFTG1CTCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUtyRDdCLEFBb0NVLE1BcENKLENBV0QsY0FBTyxBQUNMLFFBQVEsQ0F3QkosaUJBQVMsQ0FBQztNQUVQLEtBQUssRUFBRSxJQUFJLEdBb0NkO0VBMUVYLEFBeUNZLE1BekNOLENBV0QsY0FBTyxBQUNMLFFBQVEsQ0E2QkYsc0JBQUssQ0FBQztJTDZDakIsU0FBUyxFQUFDLElBQUM7SUFDWCxTQUFTLEVBQUMsU0FBQztJQUlYLFdBQVcsRUFBQyxJQUFDO0lBQ2IsV0FBVyxFQUFDLFNBQUMsR0s1QkY7SUx0RFAsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNS1Y5QyxBQXlDWSxNQXpDTixDQVdELGNBQU8sQUFDTCxRQUFRLENBNkJGLHNCQUFLLENBQUM7UUFLSCxTQUFTLEVBQUUsR0FBRyxHQWtCakI7SUxoRFAsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNS2hCOUMsQUF5Q1ksTUF6Q04sQ0FXRCxjQUFPLEFBQ0wsUUFBUSxDQTZCRixzQkFBSyxDQUFDO1FBVUgsU0FBUyxFQUFFLElBQUksR0FhbEI7SUx4Q1AsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNS3hCL0MsQUF5Q1ksTUF6Q04sQ0FXRCxjQUFPLEFBQ0wsUUFBUSxDQTZCRixzQkFBSyxDQUFDO1FBY0gsVUFBVSxFQUFFLElBQUk7UUFDaEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsU0FBUyxFQUFFLEdBQUc7UUw2QjVCLFNBQVMsRUFBQyxJQUFDO1FBQ1gsU0FBUyxFQUFDLElBQUM7UUFJWCxXQUFXLEVBQUMsSUFBQztRQUNiLFdBQVcsRUFBQyxNQUFDLEdLNUJGO0lMcENQLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TUs1Qi9DLEFBeUNZLE1BekNOLENBV0QsY0FBTyxBQUNMLFFBQVEsQ0E2QkYsc0JBQUssQ0FBQztRQXFCSCxVQUFVLEVBQUUsS0FBSyxHQUVwQjtFTHhDUCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLeEIvQyxBQWlFWSxNQWpFTixDQVdELGNBQU8sQUFDTCxRQUFRLENBcURGLHFCQUFJLENBQUM7TUFLRixVQUFVLEVBQUUsSUFBSSxHQUduQjs7QUF6RWIsQUE4RU0sTUE5RUEsQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0FBQztFQUNYLE9BQU8sRUFBRSxNQUFNLEdBaUloQjtFTHBMRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLNUIvQyxBQW9GUSxNQXBGRixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQU1WLFVBQVUsQ0FBQztNQUVQLFNBQVMsRUFBRSxLQUFLLEdBRW5CO0VBeEZULEFBMEZRLE1BMUZGLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBWVYsU0FBUyxFQTFGakIsTUFBTSxDQVdELGNBQU8sQUFtRUwsV0FBVyxDWTZRbEIsTUFBTTtFWjNWTixNQUFNLENBV0QsY0FBTyxBQW1FTCxXQUFXLENZOFFsQix3QkFBd0IsQ1psUU47SUFDUixlQUFlLEVBQUUsYUFBYSxHQUMvQjtFQTVGVCxBQStGWSxNQS9GTixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQWlCTCw0QkFBUSxDQUFDO0lBQ1IsS0FBSyxFTnZEUCxPQUFPLEdNd0ROO0VBakdiLEFBa0dZLE1BbEdOLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBb0JMLCtCQUFXLENBQUM7SUFDWCxXQUFXLEVBQUUsR0FBRztJTGI1QixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxTQUFDLEdLY0E7RUFyR2IsQUF3R1UsTUF4R0osQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0FBQztJQUNQLFVBQVUsRUFBRSxJQUFJO0liakYxQixLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtJYWtGakMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLE1BQU0sR0FrR25CO0lBOU1YLEFiMkJFLE1hM0JJLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLEFiN0VmLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNS2hCOUMsQUF3R1UsTUF4R0osQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0FBQztRQU9MLFVBQVUsRUFBRSxHQUFHO1FidkYzQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHYXFMbEM7UUE5TVgsQWIyQkUsTWEzQkksQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQWI3RWYsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01LeEIvQyxBQXdHVSxNQXhHSixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQTBCUCxrQkFBTyxDQUFDO1FiaEZqQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHYXFMbEM7UUE5TVgsQWIyQkUsTWEzQkksQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQWI3RWYsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SWE3QkgsQUF1SFksTUF2SE4sQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0FlTixlQUFlLEFBQUEsS0FBSyxDQUFDO01BQ25CLE1BQU0sRUFBRSxDQUFDLEdBbUJWO01BM0liLEFBMEhjLE1BMUhSLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBZU4sZUFBZSxBQUFBLEtBQUssQ0FHbEIsS0FBSyxDQUFDO1FBQ0osWUFBWSxFTmxGaEIsT0FBTyxHTWlHSjtRTHpGWCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7VUtqRDVCLEFBMEhjLE1BMUhSLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBZU4sZUFBZSxBQUFBLEtBQUssQ0FHbEIsS0FBSyxDQUFDO1lBSUYsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLElBQUksR0FXcEI7UUExSWYsQUFrSWdCLE1BbElWLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBZU4sZUFBZSxBQUFBLEtBQUssQ0FHbEIsS0FBSyxBQVFGLGlCQUFpQixDQUFDO1VBQ2pCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENOMUY5QyxPQUFPLEdNMkZGO1FBcElqQixBQXNJZ0IsTUF0SVYsQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0FlTixlQUFlLEFBQUEsS0FBSyxDQUdsQixLQUFLLEFBWUYsYUFBYSxDQUFDO1VBQ2IsS0FBSyxFTjVGVCxPQUFPO1VDMkNuQixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxTQUFDLEdLa0RJO0lBeklqQixBQTZJWSxNQTdJTixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQTBCUCxrQkFBTyxDQXFDTixHQUFHLEFBQUEsaUJBQWlCLENBQUM7TUx2RC9CLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUM7TUt3REMsT0FBTyxFQUFFLGtCQUFrQixHQUM1QjtJQWhKYixBQWtKWSxNQWxKTixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQTBCUCxrQkFBTyxDQTBDTixjQUFjLENBQUM7TUw1RHpCLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFNBQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxTQUFDLEdLbUVGO01MdklQLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UUt4Qi9DLEFBa0pZLE1BbEpOLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBMENOLGNBQWMsQ0FBQztVQUlYLE1BQU0sRUFBRSxDQUFDLEdBU1o7TUEvSmIsQUE0SmMsTUE1SlIsQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0EwQ04sY0FBYyxDQVVaLFNBQVMsQ0FBQztRQUNSLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0lBOUpmLEFBaUtZLE1BaktOLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBeUROLGFBQWEsQ0FBQztNQUNaLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxDQUFDO01BQ1IsR0FBRyxFQUFFLENBQUM7TUFDTixPQUFPLEVBQUUsQ0FBQyxHQXdDWDtNQTdNYixBQXVLYyxNQXZLUixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQTBCUCxrQkFBTyxDQXlETixhQUFhLENBTVgsT0FBTyxDQUFDO1FBQ04sWUFBWSxFQUFFLENBQUM7UUFDZixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTyxHQStCbEI7UUw1TFQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVS2hCOUMsQUF1S2MsTUF2S1IsQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0F5RE4sYUFBYSxDQU1YLE9BQU8sQ0FBQztZQVNKLE1BQU0sRUFBRSxJQUFJO1lBQ1osS0FBSyxFQUFFLElBQUksR0EyQmQ7UUE1TWYsQUFxTGtCLE1BckxaLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBeUROLGFBQWEsQ0FNWCxPQUFPLEFBYUosTUFBTSxBQUNKLE9BQU8sQ0FBQztVQUNQLFNBQVMsRUFBRSxlQUFlLEdBQzNCO1FBdkxuQixBQTBMZ0IsTUExTFYsQ0FXRCxjQUFPLEFBbUVMLFdBQVcsQ0EwQlAsa0JBQU8sQ0F5RE4sYUFBYSxDQU1YLE9BQU8sQUFtQkosT0FBTyxDQUFDO1VBS1AsV0FBVyxFQUFFLElBQUk7VUFDakIsT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVOeEpYLE9BQU87VUNnR2pCLGtCQUFrQixFS3lEa0IsSUFBSSxDQUFDLFFBQVE7VUx4RGpELGVBQWUsRUt3RHFCLElBQUksQ0FBQyxRQUFRO1VMdkRqRCxjQUFjLEVLdURzQixJQUFJLENBQUMsUUFBUTtVTHREakQsYUFBYSxFS3NEdUIsSUFBSSxDQUFDLFFBQVE7VUxyRGpELFVBQVUsRUtxRDBCLElBQUksQ0FBQyxRQUFRLEdBQ2xDO1VMbkxYLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7WUtoQjlDLEFBMExnQixNQTFMVixDQVdELGNBQU8sQUFtRUwsV0FBVyxDQTBCUCxrQkFBTyxDQXlETixhQUFhLENBTVgsT0FBTyxBQW1CSixPQUFPLENBQUM7Y0FFTCxXQUFXLEVBQUUsSUFBSSxHQU9wQjtRQW5NakIsQUFxTWdCLE1Bck1WLENBV0QsY0FBTyxBQW1FTCxXQUFXLENBMEJQLGtCQUFPLENBeUROLGFBQWEsQ0FNWCxPQUFPLENBOEJMLEtBQUssQ0FBQztVQUNKLFVBQVUsRUFBRSxDQUFDO1VBQ2IsT0FBTyxFQUFFLENBQUM7VUFDVixNQUFNLEVBQUUsSUFBSTtVQUNaLE1BQU0sRUFBRSxJQUFJO1VBQ1osS0FBSyxFQUFFLElBQUksR0FDWjs7QUEzTWpCLEFBcU5JLE1Bck5FLENBb05KLGVBQWUsQUFDWixpQkFBaUIsQ0FBQztFQUNqQixPQUFPLEVBQUUsTUFBTSxHQUtoQjtFTG5NQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLeEIvQyxBQXFOSSxNQXJORSxDQW9OSixlQUFlLEFBQ1osaUJBQWlCLENBQUM7TUFJZixPQUFPLEVBQUUsU0FBUyxHQUVyQjs7QUx0S0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VLckQ3QixBQThOTSxNQTlOQSxDQW9OSixlQUFlLENBU2IsY0FBYyxBQUNYLFdBQVcsQ0FBQztJQUVULFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQWxPUCxBQXFPUSxNQXJPRixDQW9OSixlQUFlLENBU2IsY0FBYyxDQU9aLFlBQVksQUFDVCxhQUFhLENBQUM7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsR0FBRztFQUNkLFVBQVUsRUFBRSxLQUFLLEdBU2xCO0VMak9ILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUtoQjlDLEFBcU9RLE1Bck9GLENBb05KLGVBQWUsQ0FTYixjQUFjLENBT1osWUFBWSxBQUNULGFBQWEsQ0FBQztNQU1YLFNBQVMsRUFBRSxHQUFHLEdBTWpCO0VMek5ILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SUt4Qi9DLEFBcU9RLE1Bck9GLENBb05KLGVBQWUsQ0FTYixjQUFjLENBT1osWUFBWSxBQUNULGFBQWEsQ0FBQztNQVVYLFNBQVMsRUFBRSxHQUFHLEdBRWpCOztBTHJOSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VLNUIvQyxBQW9QTSxNQXBQQSxDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FBQztJQUVkLGVBQWUsRUFBRSxRQUFRLEdBMkU1Qjs7QUFqVVAsQUF5UFEsTUF6UEYsQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLEFBS2QsYUFBYSxDQUFDO0VBQ2IsY0FBYyxFQUFFLEdBQUcsR0FDcEI7O0FBM1BULEFBNlBRLE1BN1BGLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQVNmLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLFVBQVU7RUFDdkIsYUFBYSxFQUFFLElBQUksR0FNcEI7RUF0UVQsQUFrUVUsTUFsUUosQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBU2YsU0FBUyxDQUtQLE1BQU0sQ0FBQztJQUNMLFdBQVcsRUFBRSxDQUFDO0lMN0t4QixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxPQUFDLEdLOEtGOztBQXJRWCxBQXdRUSxNQXhRRixDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FvQmYsRUFBRSxDQUFDO0ViaFBULEtBQUssRUhtQ0csSUFBWTtFR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdhNFFwQztFQXJTVCxBYjJCRSxNYTNCSSxDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FvQmYsRUFBRSxBYjdPUCxXQUFXLENBQUM7SUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUtoQjlDLEFBd1FRLE1BeFFGLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQW9CZixFQUFFLENBQUM7TWJoUFQsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2E0UXBDO01BclNULEFiMkJFLE1hM0JJLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQW9CZixFQUFFLEFiN09QLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJS3hCL0MsQUErUVUsTUEvUUosQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBb0JmLEVBQUUsQUFPQyxjQUFjLENBQUM7TUFFWixZQUFZLEVBQUUsSUFBSSxHQWFyQjtFTHpPUCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUtyRDdCLEFBK1FVLE1BL1FKLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQW9CZixFQUFFLEFBT0MsY0FBYyxDQUFDO01BT1osYUFBYSxFQUFFLElBQUksR0FRdEI7RUxsUUwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJSzVCL0MsQUErUVUsTUEvUUosQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBb0JmLEVBQUUsQUFPQyxjQUFjLENBQUM7TUFXWixZQUFZLEVBQUUsSUFBSSxHQUlyQjtFTDlRTCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lLaEI5QyxBYjJCRSxNYTNCSSxDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FvQmYsRUFBRSxBYjdPUCxXQUFXLENhcVFTO01BRVQsS0FBSyxFQUFFLE9BQU8sR0FFakI7O0FBcFNYLEFBK1NRLE1BL1NGLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQTJEZixRQUFRO0FBL1NoQixNQUFNLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQTREZixNQUFNLENBQUM7RUwxTmIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsU0FBQyxHSzJOSjs7QUFsVFQsQUFvVFEsTUFwVEYsQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBZ0VmLFFBQVEsQ0FBQztFQUNQLFVBQVUsRUFBRSxLQUFLLEdBQ2xCOztBQXRUVCxBQXdUUSxNQXhURixDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FvRWYsUUFBUTtBQXhUaEIsTUFBTSxDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FxRWYsTUFBTTtBQXpUZCxNQUFNLENBb05KLGVBQWUsQ0FTYixjQUFjLENBdUJaLGlCQUFpQixDQXNFZixNQUFNLENBQUM7RUFLTCxLQUFLLEVObFJBLE9BQU8sR01tUmI7RUx4U0gsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJS3hCL0MsQUF3VFEsTUF4VEYsQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBb0VmLFFBQVE7SUF4VGhCLE1BQU0sQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0F1QlosaUJBQWlCLENBcUVmLE1BQU07SUF6VGQsTUFBTSxDQW9OSixlQUFlLENBU2IsY0FBYyxDQXVCWixpQkFBaUIsQ0FzRWYsTUFBTSxDQUFDO01BRUgsT0FBTyxFQUFFLEtBQUssR0FJakI7O0FBaFVULEFBbVVNLE1BblVBLENBb05KLGVBQWUsQ0ErR1YscUJBQU8sQ0FBQztFQUNQLFdBQVcsRU5uU0wsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFTW9TL0MsY0FBYyxFQUFFLFNBQVM7RUwvTy9CLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLE9BQUM7RUtnUEwsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFTjdSRyxPQUFPLEdNa1NoQjtFTDlURCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lLaEI5QyxBQW1VTSxNQW5VQSxDQW9OSixlQUFlLENBK0dWLHFCQUFPLENBQUM7TUFTTCxhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QUE5VVAsQUF1VlEsTUF2VkYsQ0FvTkosZUFBZSxDQVNiLGNBQWMsQ0FtSFosRUFBRSxBQU9DLGFBQWEsQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUksR0FzQmhCOztBQWhYVCxBQWtYUSxNQWxYRixDQW9OSixlQUFlLENBU2IsY0FBYyxDQW1IWixFQUFFLENBa0NBLFVBQVUsQ0FBQztFQUNULFdBQVcsRU5sVlAsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFTW1WN0MsS0FBSyxFTnpVRCxPQUFPO0VDMkNuQixTQUFTLEVBQUMsSUFBQztFQUNYLFNBQVMsRUFBQyxPQUFDO0VBSVgsV0FBVyxFQUFDLElBQUM7RUFDYixXQUFXLEVBQUMsUUFBQztFSzJSTCxhQUFhLEVBQUUsSUFBSTtFQUNuQixZQUFZLEVBQUUsSUFBSSxHQVNuQjtFTHpXSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lLeEIvQyxBQWtYUSxNQWxYRixDQW9OSixlQUFlLENBU2IsY0FBYyxDQW1IWixFQUFFLENBa0NBLFVBQVUsQ0FBQztNQVNQLFlBQVksRUFBRSxJQUFJLEdBTXJCO0VBallULEFBOFhVLE1BOVhKLENBb05KLGVBQWUsQ0FTYixjQUFjLENBbUhaLEVBQUUsQ0FrQ0EsVUFBVSxDQVlSLENBQUMsQ0FBQztJQUNBLEtBQUssRU5sVkYsT0FBTyxHTW1WWDs7QUFoWVgsQUFzWUUsTUF0WUksQ0FzWUosY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLFdBQVcsR0E4RnJCO0VBcmVILEFBeVlJLE1BellFLENBc1lKLGNBQWMsQ0FHWixTQUFTLEVBelliLE1BQU0sQ0FzWUosY0FBYyxDWTNDaEIsTUFBTTtFWjNWTixNQUFNLENBc1lKLGNBQWMsQ1kxQ2hCLHdCQUF3QixDWjZDVjtJQUNSLFdBQVcsRUFBRSxRQUFRLEdBS3RCO0lML1hDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TUtoQjlDLEFBeVlJLE1BellFLENBc1lKLGNBQWMsQ0FHWixTQUFTLEVBelliLE1BQU0sQ0FzWUosY0FBYyxDWTNDaEIsTUFBTTtNWjNWTixNQUFNLENBc1lKLGNBQWMsQ1kxQ2hCLHdCQUF3QixDWjZDVjtRQUlOLFdBQVcsRUFBRSxNQUFNLEdBRXRCO0VML1hDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SUtoQjlDLEFBc1lFLE1BdFlJLENBc1lKLGNBQWMsQ0FBQztNQVlYLE9BQU8sRUFBRSxNQUFNLEdBbUZsQjtFQXJlSCxBQXFaSSxNQXJaRSxDQXNZSixjQUFjLENBZVosY0FBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsS0FBSztJYi9YMUIsS0FBSyxFSG1DRyxNQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR2F1WnhDO0lBaGJMLEFiMkJFLE1hM0JJLENBc1lKLGNBQWMsQ0FlWixjQUFjLEFiMVhmLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lhN0JILEFBMFpNLE1BMVpBLENBc1lKLGNBQWMsQ0FlWixjQUFjLENBS1osRUFBRSxDQUFDO01BQ0QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsV0FBVyxFQUFFLE9BQU87TUFDcEIsWUFBWSxFQUFFLElBQUksR0FrQm5CO01BL2FQLEFBK1pRLE1BL1pGLENBc1lKLGNBQWMsQ0FlWixjQUFjLENBS1osRUFBRSxBQUtDLE9BQU8sQ0FBQztRTHRSZixrQkFBa0IsRUt1UkksU0FBUyxDQUFDLElBQUksQ05yVnZCLHdDQUF3QztRQytEckQsZUFBZSxFS3NSTyxTQUFTLENBQUMsSUFBSSxDTnJWdkIsd0NBQXdDO1FDZ0VyRCxjQUFjLEVLcVJRLFNBQVMsQ0FBQyxJQUFJLENOclZ2Qix3Q0FBd0M7UUNpRXJELGFBQWEsRUtvUlMsU0FBUyxDQUFDLElBQUksQ05yVnZCLHdDQUF3QztRQ2tFckQsVUFBVSxFS21SWSxTQUFTLENBQUMsSUFBSSxDTnJWdkIsd0NBQXdDLEdNdVY5QztNQWxhVCxBQXFhVSxNQXJhSixDQXNZSixjQUFjLENBZVosY0FBYyxDQUtaLEVBQUUsQUFVQyxNQUFNLEFBQ0osT0FBTyxDQUFDO1FMcFNqQixpQkFBaUIsRUtxU1ksZ0JBQWdCO1FMcFM3QyxjQUFjLEVLb1NlLGdCQUFnQjtRTG5TN0MsYUFBYSxFS21TZ0IsZ0JBQWdCO1FMbFM3QyxZQUFZLEVLa1NpQixnQkFBZ0I7UUxqUzdDLFNBQVMsRUtpU29CLGdCQUFnQixHQUNwQztNQXZhWCxBQTBhUSxNQTFhRixDQXNZSixjQUFjLENBZVosY0FBYyxDQUtaLEVBQUUsQ0FnQkEsQ0FBQyxDQUFDO1FBQ0EsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUE5YVQsQUFrYkksTUFsYkUsQ0FzWUosY0FBYyxDQTRDWixZQUFZLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxZQUFZO0liOVp6QixLQUFLLEVIbUNHLE1BQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHYTJjeEM7SUFwZUwsQWIyQkUsTWEzQkksQ0FzWUosY0FBYyxDQTRDWixZQUFZLEFidlpiLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNS2hCOUMsQUFrYkksTUFsYkUsQ0FzWUosY0FBYyxDQTRDWixZQUFZLENBQUM7UUFRVCxLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRSxJQUFJO1FBQ1osVUFBVSxFQUFFLEtBQUssR0F3Q3BCO0lMbmJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNS2pENUIsQUErYk0sTUEvYkEsQ0FzWUosY0FBYyxDQTRDWixZQUFZLENBYVYsVUFBVSxDQUFDO1FBRVAsT0FBTyxFQUFFLElBQUksR0FFaEI7SUFuY1AsQUFxY00sTUFyY0EsQ0FzWUosY0FBYyxDQTRDWixZQUFZLENBbUJWLElBQUk7SUFyY1YsTUFBTSxDQXNZSixjQUFjLENBNENaLFlBQVksQ0FvQlYsY0FBYyxDQUFDO01BQ2IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUMsR0FPVjtNTC9iRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FLaEI5QyxBQXFjTSxNQXJjQSxDQXNZSixjQUFjLENBNENaLFlBQVksQ0FtQlYsSUFBSTtRQXJjVixNQUFNLENBc1lKLGNBQWMsQ0E0Q1osWUFBWSxDQW9CVixjQUFjLENBQUM7VUFLWCxNQUFNLEVBQUUsT0FBTztVQUNmLEdBQUcsRUFBRSxHQUFHO1VBQ1IsU0FBUyxFQUFFLGdCQUFnQixHQUU5QjtJQS9jUCxBQWlkTSxNQWpkQSxDQXNZSixjQUFjLENBNENaLFlBQVksQ0ErQlYsSUFBSSxDQUFDO01BQ0gsS0FBSyxFQUFFLElBQUk7TUw1WGpCLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLE9BQUM7TUs2WEwsS0FBSyxFTnZhRSxPQUFPLEdNNGFmO01MemNELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UUtoQjlDLEFBaWRNLE1BamRBLENBc1lKLGNBQWMsQ0E0Q1osWUFBWSxDQStCVixJQUFJLENBQUM7VUwzWFQsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsU0FBQyxHS2tZTjtJQXpkUCxBQTJkTSxNQTNkQSxDQXNZSixjQUFjLENBNENaLFlBQVksQ0F5Q1YsY0FBYyxDQUFDO01BQ2IsS0FBSyxFQUFFLElBQUk7TUFDWCxLQUFLLEVBQUUsQ0FBQztNQUNSLGdCQUFnQixFQUFFLFdBQVcsR0FLOUI7TUxuZEQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRS2hCOUMsQUEyZE0sTUEzZEEsQ0FzWUosY0FBYyxDQTRDWixZQUFZLENBeUNWLGNBQWMsQ0FBQztVQU1YLEtBQUssRUFBRSxJQUFJLEdBRWQ7O0FDbmVQOztxQkFFcUI7QUFFckIsQUFBQSxLQUFLO0FBQ0wsT0FBTyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsTUFBTTtFQUNkLElBQUksRUFBRSxDQUFDLEdBQ1I7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxNQUFNLEdBRWpCOztBQUVELEFBQUEsS0FBSyxDQUFBLEFBQUEsVUFBQyxDQUFXLFNBQVMsQUFBcEIsRUFBc0I7RUFDMUIsZ0JBQWdCLEVQd0NKLE9BQU87RU92Q25CLGdCQUFnQixFQUFFLHdCQUF3QixHQUMzQzs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNOLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQzNCRDs7aURBRWlEO0FBRWpELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxpQkFBaUIsQUFBQSxNQUFNLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUksR0FNYjtFQVRELEFBS0UsZ0JBTGMsQ0FLZCxNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUdILGVBQWU7QUFFZixBQUFBLGlCQUFpQixBQUFBLGFBQWEsQ0FBQztFQUM3QiwyQkFBMkIsRUFBRSxXQUFXO0VBQ3hDLG1CQUFtQixFQUFFLFdBQVc7RUFDaEMsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsYUFBYSxDQUFDLGtCQUFrQixDQUFDO0VBQ2hELE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLFlBQVk7RUFDcEIsTUFBTSxFQUFFLElBQUksR0FDYjs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLGFBQWEsQ0FBQyxrQkFBa0IsQUFBQSxnQkFBZ0IsQ0FBQztFQUNoRSxNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVELEFBQUEsYUFBYSxDQUFDLG1CQUFtQixDQUFDO0VBQ2hDLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBRUQ7OzhCQUU4QjtBQUU5QixBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQUFFLGVBQWUsR0FzQjVCO0VQcEVLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SU8yQzlDLEFBQUEsbUJBQW1CLENBQUM7TUFNaEIsVUFBVSxFQUFFLGVBQWUsR0FtQjlCO0VBekJELEFBU0UsbUJBVGlCLENBU2pCLEVBQUUsQ0FBQztJQUtELE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsT0FBTztJQUNmLGdCQUFnQixFUm5CVCxPQUFPLEdRd0JmO0lQbkVHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TU8yQzlDLEFBU0UsbUJBVGlCLENBU2pCLEVBQUUsQ0FBQztRQUVDLEtBQUssRUFBRSxLQUFLLEdBYWY7SUF4QkgsQUFxQkksbUJBckJlLENBU2pCLEVBQUUsQUFZQyxZQUFZLENBQUM7TUFDWixnQkFBZ0IsRVIzQkosT0FBTyxHUTRCcEI7O0FBSUw7OzhCQUU4QjtBQUU5QixBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsR0FBRyxFQUFFLENBQUM7RUFDTixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxDQUFDO0VQc0NWLGtCQUFrQixFT3JDRSxPQUFPLENBQUMsSUFBSTtFUHNDaEMsZUFBZSxFT3RDSyxPQUFPLENBQUMsSUFBSTtFUHVDaEMsY0FBYyxFT3ZDTSxPQUFPLENBQUMsSUFBSTtFUHdDaEMsYUFBYSxFT3hDTyxPQUFPLENBQUMsSUFBSTtFUHlDaEMsVUFBVSxFT3pDVSxPQUFPLENBQUMsSUFBSSxHQXVEakM7RVAxR0csTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lPeUM1QixBQUFBLDBCQUEwQixDQUFDO01BYXZCLE9BQU8sRUFBRSxJQUFJLEdBb0RoQjtFQWpFRCxBQWdCRSwwQkFoQndCLEFBZ0J2QixPQUFPLENBQUM7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEtBQUs7SUFDakIsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGdCQUFnQixFUnZFSix3QkFBTztJUXdFbkIsVUFBVSxFQUFFLE1BQU07SUFDbEIsS0FBSyxFUjFFSyxPQUFPO0lRMkVqQixXQUFXLEVBQUUsT0FBTztJUGhDdEIsU0FBUyxFQUFDLElBQUM7SUFDWCxTQUFTLEVBQUMsU0FBQztJT2lDVCxXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsQ0FBQyxHQUVmO0VBakNILEFBbUNFLDBCQW5Dd0IsQUFtQ3ZCLFNBQVMsQ0FBQztJQUNULElBQUksRUFBRSxDQUFDLEdBT1I7SUEzQ0gsQUFzQ0ksMEJBdENzQixBQW1DdkIsU0FBUyxBQUdQLE9BQU8sQ0FBQztNQUNQLElBQUksRUFBRSxJQUFJO01QUWQsa0JBQWtCLEVPUE0sSUFBSSxDQUFDLElBQUksQ1J2RHBCLHdDQUF3QztNQytEckQsZUFBZSxFT1JTLElBQUksQ0FBQyxJQUFJLENSdkRwQix3Q0FBd0M7TUNnRXJELGNBQWMsRU9UVSxJQUFJLENBQUMsSUFBSSxDUnZEcEIsd0NBQXdDO01DaUVyRCxhQUFhLEVPVlcsSUFBSSxDQUFDLElBQUksQ1J2RHBCLHdDQUF3QztNQ2tFckQsVUFBVSxFT1hjLElBQUksQ0FBQyxJQUFJLENSdkRwQix3Q0FBd0M7TUNzRHJELGlCQUFpQixFT0VNLGNBQWM7TVBEckMsY0FBYyxFT0NTLGNBQWM7TVBBckMsYUFBYSxFT0FVLGNBQWM7TVBDckMsWUFBWSxFT0RXLGNBQWM7TVBFckMsU0FBUyxFT0ZjLGNBQWMsR0FDbEM7RUExQ0wsQUE2Q0UsMEJBN0N3QixBQTZDdkIsS0FBSyxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUMsR0FNVDtJQXBESCxBQWdESSwwQkFoRHNCLEFBNkN2QixLQUFLLEFBR0gsT0FBTyxDQUFDO01QRFgsa0JBQWtCLEVPRU0sS0FBSyxDQUFDLElBQUksQ1JoRXJCLHdDQUF3QztNQytEckQsZUFBZSxFT0NTLEtBQUssQ0FBQyxJQUFJLENSaEVyQix3Q0FBd0M7TUNnRXJELGNBQWMsRU9BVSxLQUFLLENBQUMsSUFBSSxDUmhFckIsd0NBQXdDO01DaUVyRCxhQUFhLEVPRFcsS0FBSyxDQUFDLElBQUksQ1JoRXJCLHdDQUF3QztNQ2tFckQsVUFBVSxFT0ZjLEtBQUssQ0FBQyxJQUFJLENSaEVyQix3Q0FBd0M7TVFpRWpELEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFuREwsQUFzREUsMEJBdER3QixBQXNEdkIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUMsR0FTWDtJQWhFSCxBQXlESSwwQkF6RHNCLEFBc0R2QixNQUFNLEFBR0osU0FBUyxBQUFBLE9BQU8sQ0FBQztNQUNoQixJQUFJLEVBQUUsR0FBRyxHQUNWO0lBM0RMLEFBNkRJLDBCQTdEc0IsQUFzRHZCLE1BQU0sQUFPSixLQUFLLEFBQUEsT0FBTyxDQUFDO01BQ1osS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFJTDs7OEJBRThCO0FBQzlCLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixNQUFNLEVBQUUsT0FBTztFUHhCZixrQkFBa0IsRU95QkUsTUFBTSxDQUFDLElBQUk7RVB4Qi9CLGVBQWUsRU93QkssTUFBTSxDQUFDLElBQUk7RVB2Qi9CLGNBQWMsRU91Qk0sTUFBTSxDQUFDLElBQUk7RVB0Qi9CLGFBQWEsRU9zQk8sTUFBTSxDQUFDLElBQUk7RVByQi9CLFVBQVUsRU9xQlUsTUFBTSxDQUFDLElBQUk7RUFDL0IsTUFBTSxFQUFFLGVBQWUsR0EyQ3hCO0VBOUNELEFBUUUsZ0JBUmMsQ0FRZCxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRUFBRSxHQUFHO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFnQlgsT0FBTyxFQUFFLEdBQUc7SVBsRGQsa0JBQWtCLEVPbURJLE9BQU8sQ0FBQyxLQUFLO0lQbERuQyxlQUFlLEVPa0RPLE9BQU8sQ0FBQyxLQUFLO0lQakRuQyxjQUFjLEVPaURRLE9BQU8sQ0FBQyxLQUFLO0lQaERuQyxhQUFhLEVPZ0RTLE9BQU8sQ0FBQyxLQUFLO0lQL0NuQyxVQUFVLEVPK0NZLE9BQU8sQ0FBQyxLQUFLLEdBaUJsQztJQTdDSCxBQWNJLGdCQWRZLENBUWQsTUFBTSxDQU1KLE1BQU0sQ0FBQztNQUVMLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUksR0FRYjtNQXpCTCxBQW1CTSxnQkFuQlUsQ0FRZCxNQUFNLENBTUosTUFBTSxDQUtKLEdBQUc7TUFuQlQsZ0JBQWdCLENBUWQsTUFBTSxDQU1KLE1BQU0sQ0FNSixLQUFLLENBQUM7UUFDSixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsU0FBUyxFQUFFLENBQUMsR0FDYjtJQXhCUCxBQThCSSxnQkE5QlksQ0FRZCxNQUFNLENBc0JKLFFBQVEsQ0FBQztNQUNQLFVBQVUsRUFBRSxJQUFJO01BQ2hCLE9BQU8sRUFBRSxDQUFDO01QMUdkLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUM7TU8yR1AsY0FBYyxFQUFFLEdBQUc7TVB6RHZCLGtCQUFrQixFTzBETSxPQUFPLENBQUMsS0FBSztNUHpEckMsZUFBZSxFT3lEUyxPQUFPLENBQUMsS0FBSztNUHhEckMsY0FBYyxFT3dEVSxPQUFPLENBQUMsS0FBSztNUHZEckMsYUFBYSxFT3VEVyxPQUFPLENBQUMsS0FBSztNUHREckMsVUFBVSxFT3NEYyxPQUFPLENBQUMsS0FBSyxHQUNsQztJQXBDTCxBQXNDSSxnQkF0Q1ksQ0FRZCxNQUFNLEFBOEJILFlBQVksQ0FBQztNQUNaLE9BQU8sRUFBRSxDQUFDLEdBS1g7TUE1Q0wsQUF5Q00sZ0JBekNVLENBUWQsTUFBTSxBQThCSCxZQUFZLENBR1gsUUFBUSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFLUCxBQUVFLFNBRk8sQUFBQSxTQUFTLENBRWhCLE1BQU0sQ0FBQztFQUNMLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFFVixVQUFVLEVBQUUscUNBQXFDLEdBV2xEO0VBbEJILEFBU0ksU0FUSyxBQUFBLFNBQVMsQ0FFaEIsTUFBTSxDQU9KLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFYTCxBQWFJLFNBYkssQUFBQSxTQUFTLENBRWhCLE1BQU0sQUFXSCxZQUFZLENBQUM7SUFDWixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxPQUFPO0lBQ25CLFVBQVUsRUFBRSxpQ0FBaUMsR0FDOUM7O0FEeE1MLEFBQUEsT0FBTyxDRXpCQztFUnlRTixXQUFXLEVBQUUsS0FBSztFUXhQbEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7RVJISyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lNUzlDLEFBQUEsT0FBTyxDRXpCQztNUjRRSixXQUFXLEVBQUUsS0FBSyxHUXpQckI7RVJLSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lNQy9DLEFBQUEsT0FBTyxDRXpCQztNUmdSSixXQUFXLEVBQUUsS0FBSyxHUTdQckI7RVJTSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRNUIvQyxBQUdFLE9BSEssQUFHSixLQUFLLEFBQUEsS0FBSyxDQUFDO01BRVIsV0FBVyxFQUFFLEtBQUssR0FFckI7RUFQSCxBQVFFLE9BUkssQ0FRSixBQUFBLFVBQUMsQ0FBVyxXQUFXLEFBQXRCLEVBQXdCO0lBQ3hCLGdCQUFnQixFVGtEVCxPQUFPLEdTakRmOztBQVdILEFBQUEsWUFBWSxDQUFDO0VBZVgsTUFBTSxFQUFFLFNBQVMsR0E2ekNsQjtFQTUwQ0QsQUFDRSxZQURVLEFBQ1QsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFMSCxBQU9FLFlBUFUsQUFPVCxjQUFjLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBVEgsQUFXRSxZQVhVLEFBV1QsYUFBYSxDQUFDO0lBQ2YsYUFBYSxFQUFFLENBQUMsR0FDZjtFUmxCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRSzlDLEFBQUEsWUFBWSxDQUFDO01Ba0JULE1BQU0sRUFBRSxPQUFPLEdBMHpDbEI7RVJyMENLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVFQL0MsQUFBQSxZQUFZLENBQUM7TUF1QlQsTUFBTSxFQUFFLFNBQVMsR0FxekNwQjtFQTUwQ0QsQUEyQkUsWUEzQlUsQUEyQlQsaUJBQWlCLENBQUM7SUFDakIsT0FBTyxFQUFFLE1BQU0sR0FTaEI7SVJsQ0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQTJCRSxZQTNCVSxBQTJCVCxpQkFBaUIsQ0FBQztRQVFmLE9BQU8sRUFBRSxNQUFNLEdBRWxCO0VBR0EsQUFBRCx3QkFBYSxDQUFDO0lBQ1osVUFBVSxFQUFFLElBQUksR0FLakI7SVJ2Q0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUWlDNUMsQUFBRCx3QkFBYSxDQUFDO1FSeUJkLFNBQVMsRUFBQyxJQUFDO1FBQ1gsU0FBUyxFQUFDLE9BQUM7UUFJWCxXQUFXLEVBQUMsSUFBQztRQUNiLFdBQVcsRUFBQyxRQUFDLEdRekJaO0VBRUEsQUFBRCxrQkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7RUFuREgsQUF5REksWUF6RFEsQUFxRFQsU0FBUyxDQUlSLFVBQVUsQ0FBQztJQUNULFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VSeERDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVFIL0MsQUE4REUsWUE5RFUsQUE4RFQsYUFBYSxHQTlEaEIsWUFBWSxBQThEUSxTQUFTLENBQUM7TUFFeEIsVUFBVSxFQUFFLEdBQUcsR0FLbEI7RVI5REcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUVAvQyxBQThERSxZQTlEVSxBQThEVCxhQUFhLEdBOURoQixZQUFZLEFBOERRLFNBQVMsQ0FBQztNQUt4QixVQUFVLEVBQUUsR0FBRyxHQUVsQjtFQUdBLEFBQUQsd0JBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxhQUFhLEdBa0N2QjtJUmhIRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RNkUzQyxBQUFELHdCQUFhLENBQUM7UUFHVixPQUFPLEVBQUUsWUFBWSxHQWdDeEI7SVJ4R0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUXFFNUMsQUFBRCx3QkFBYSxDQUFDO1FBTVYsT0FBTyxFQUFFLFlBQVksR0E2QnhCO0lBbkNBLEFBZ0JDLHdCQWhCVyxDQWdCWCxVQUFVLENBQUM7TUFDVCxLQUFLLEVBQUUsSUFBSTtNUnhCZixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxJQUFDO01Rc0NQLFVBQVUsRUFBRSxNQUFNO01BQ2xCLEtBQUssRVRuRkcsT0FBTyxHU29GaEI7TVIvR0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRUTZFM0MsQUFnQkMsd0JBaEJXLENBZ0JYLFVBQVUsQ0FBQztVUnZCYixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxPQUFDLEdRd0NSO01BbENGLEFBd0JHLHdCQXhCUyxDQWdCWCxVQUFVLENBUVIsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLFlBQVksR0FLdEI7UUE5QkosQUEyQkssd0JBM0JPLENBZ0JYLFVBQVUsQ0FRUixJQUFJLENBR0YsQ0FBQyxDQUFDO1VBQ0EsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUFRTixBQUNDLHdCQURXLENBQ1gsVUFBVSxDQUFDO0lBQ1QsTUFBTSxFQUFFLGFBQWE7SUFDckIsS0FBSyxFVDVGQyxPQUFPO0lDNkNqQixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxJQUFDLEdRK0RSO0lSdElDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFrSDNDLEFBQ0Msd0JBRFcsQ0FDWCxVQUFVLENBQUM7UVI3Q2IsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsT0FBQztRUW9ETCxVQUFVLEVBQUUsSUFBSSxHQVduQjtJQXBCRixBQVlHLHdCQVpTLENBQ1gsVUFBVSxDQVdSLElBQUksQ0FBQztNQUNILE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0lBZEosQUFnQkcsd0JBaEJTLENBQ1gsVUFBVSxDQWVSLENBQUMsQUFBQSxNQUFNLENBQUM7TUFDTixnQkFBZ0IsRVQxR1osT0FBTztNUzJHWCxNQUFNLEVBQUUsR0FBRyxHQUNaO0VBS0osQUFBRCxrQkFBTyxDQUFDO0lBQ04sVUFBVSxFQUFFLElBQUksR0EyQ2pCO0lSOUtHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFrSTVDLEFBQUQsa0JBQU8sQ0FBQztRQUlKLFVBQVUsRUFBRSxFQUFFLEdBd0NqQjtJQXJDRSxBQUFELHVCQUFNLENBQUM7TVIzRVQsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsUUFBQztNUWlGUCxXQUFXLEVUdklILFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7TVN3SWpELFdBQVcsRUFBRSxHQUFHO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BRWxCLGFBQWEsRUFBRSxJQUFJLEdBeUJwQjtNUnpLQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRcUkxQyxBQUFELHVCQUFNLENBQUM7VVIzRVQsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsT0FBQyxHUThHUjtNUjdLQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FReUkxQyxBQUFELHVCQUFNLENBQUM7VUFjSCxhQUFhLEVBQUUsSUFBSSxHQXNCdEI7TVJ6S0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUXFJMUMsQUFBRCx1QkFBTSxDQUFDO1VBa0JILGFBQWEsRUFBRSxJQUFJLEdBa0J0QjtNQXBDQSxBQXFCQyx1QkFyQkksQ0FxQkosSUFBSSxDQUFDO1FBQ0gsV0FBVyxFQUFFLEdBQUc7UUFDaEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsSUFBSSxHQVVaO1FBbkNGLEFBMkJHLHVCQTNCRSxDQXFCSixJQUFJLEFBTUQsT0FBTyxDQUFDO1VBQ1AsT0FBTyxFQUFFLEVBQUU7VUFDWCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1RsSmYsT0FBTztVU21KYixTQUFTLEVBQUUsR0FBRztVQUNkLEtBQUssRUFBRSxLQUFLO1VBQ1osUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFQUFFLENBQUMsR0FDUDtFQTlLVCxBQXdMSSxZQXhMUSxDQW9MVixVQUFVLENBSVIsRUFBRSxBQUFBLFVBQVcsQ0FBQSxPQUFPLEVBQUU7SUFDcEIsT0FBTyxFQUFFLElBQUksR0FDZDtFUnZMQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBd0xJLFlBeExRLENBb0xWLFVBQVUsQ0FJUixFQUFFLEFBQUEsVUFBVyxDQUFBLE9BQU8sRUFlSTtNQUNwQixPQUFPLEVBQUUsS0FBSyxHQUNmO0lBek1QLEFBMk1NLFlBM01NLENBb0xWLFVBQVUsQ0F1Qk4sRUFBRSxBQUFBLFVBQVcsQ0FBQSxPQUFPLEVBQUU7TUFDcEIsT0FBTyxFQUFFLElBQUksR0FDZDtFUnRNRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRUC9DLEFBMk1NLFlBM01NLENBb0xWLFVBQVUsQ0F1Qk4sRUFBRSxBQUFBLFVBQVcsQ0FBQSxPQUFPLEVBTUU7TUFDcEIsT0FBTyxFQUFFLEtBQUssR0FDZjtFQW5OUCxBQXVOSSxZQXZOUSxDQXVOUCxnQkFBTSxDQUFDO0loQnBOVixLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxTnhDO0lBek5MLEFoQk1FLFlnQk5VLENBdU5QLGdCQUFNLEFoQmpOUixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQTJOSSxZQTNOUSxDQXNOVixVQUFVLENBS1IsS0FBSyxDQUFDO0lBR0osV0FBVyxFQUFFLE1BQU07SUFFbkIsZUFBZSxFQUFFLGFBQWEsR0FLL0I7SVJ6TUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO01RNUI1QixBQTJOSSxZQTNOUSxDQXNOVixVQUFVLENBS1IsS0FBSyxDQUFDO1FBUUYsVUFBVSxFQUFFLEdBQUcsR0FFbEI7RUFyT0wsQUF1T0ksWUF2T1EsQ0FzTlYsVUFBVSxDQWlCUixVQUFVLENBQUM7SUFDVCxVQUFVLEVBQUUsTUFBTTtJQUdsQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxLQUFLLEdBMENqQjtJQXRSTCxBQStPUSxZQS9PSSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQ0FPUixNQUFNLENBQ0osY0FBYyxDQUFDO01BQ2IsZ0JBQWdCLEVBQUUsV0FBVyxHQUM5QjtJUnFCd0IsU0FBQyxFQUFyQixhQUFhLEVBQUUsSUFBSTtNUXRRaEMsQUF1T0ksWUF2T1EsQ0FzTlYsVUFBVSxDQWlCUixVQUFVLENBQUM7UUFjUCxPQUFPLEVBQUUsT0FBTyxHQWlDbkI7UVJuUkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVUUgvQyxBQXVPSSxZQXZPUSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQ0FBQztZQWlCTCxPQUFPLEVBQUUsT0FBTyxHQThCckI7SVJWeUUsU0FBQyxFQUFsRSxlQUFlLEVBQUUsUUFBUSxFQUF3QyxHQUFDLEVBQWxDLGVBQWUsRUFBRSxlQUFlO01RNVE3RSxBQXVPSSxZQXZPUSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQ0FBQztRQXNCUCxPQUFPLEVBQUUsT0FBTyxHQXlCbkI7UVJuUkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVUUgvQyxBQXVPSSxZQXZPUSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQ0FBQztZQXlCTCxPQUFPLEVBQUUsT0FBTyxHQXNCckI7SVJuUkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQXVPSSxZQXZPUSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQ0FBQztRQThCUCxTQUFTLEVBQUUsSUFBSTtRaEJsUXJCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQmtSeEM7UUF0UkwsQWhCTUUsWWdCTlUsQ0FzTlYsVUFBVSxDQWlCUixVQUFVLEFoQmpPWCxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtRZ0JSSCxBaEI2REUsWWdCN0RVLENBc05WLFVBQVUsQ0FpQlIsVUFBVSxBaEIxS1gsVUFBVyxDQUFBLEVBQUUsRUFBTztVQUNuQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QVEvQkMsTUFBTSxNQUFDLE1BQW1CLE1BckNBLFNBQVMsRUFBRSxLQUFLLE9BcUNsQyxTQUFTLEVBQUUsTUFBTTtFUWhDN0IsQUF1T0ksWUF2T1EsQ0FzTlYsVUFBVSxDQWlCUixVQUFVLENBQUM7SWhCcE9iLEtBQUssRUhtQ0csU0FBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQmtSeEM7SUF0UkwsQWhCTUUsWWdCTlUsQ0FzTlYsVUFBVSxDQWlCUixVQUFVLEFoQmpPWCxXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJZ0JSSCxBaEI2REUsWWdCN0RVLENBc05WLFVBQVUsQ0FpQlIsVUFBVSxBaEIxS1gsVUFBVyxDQUFBLEVBQUUsRUFBTztNQUNuQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUW5DQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TVE1QjVCLEFBdU9JLFlBdk9RLENBc05WLFVBQVUsQ0FpQlIsVUFBVSxDQUFDO1FoQnBPYixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JrUnhDO1FBdFJMLEFoQk1FLFlnQk5VLENBc05WLFVBQVUsQ0FpQlIsVUFBVSxBaEJqT1gsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7UWdCUkgsQWhCNkRFLFlnQjdEVSxDQXNOVixVQUFVLENBaUJSLFVBQVUsQWhCMUtYLFVBQVcsQ0FBQSxFQUFFLEVBQU87VUFDbkIsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVE1REcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUUgvQyxBQTJSSSxZQTNSUSxBQTBSVCxhQUFhLENBQ1osU0FBUyxFQTNSYixZQUFZLEFBMFJULGFBQWEsQ1M0Q2hCLE1BQU07SVR0VU4sWUFBWSxBQTBSVCxhQUFhLENTNkNoQix3QkFBd0IsQ1Q1Q1Y7TWhCeFJaLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksR21CMFBqQjtNQWhTTCxBaEJNRSxZZ0JOVSxBQTBSVCxhQUFhLENBQ1osU0FBUyxBaEJyUlYsV0FBVyxFZ0JOZCxZQUFZLEFBMFJULGFBQWEsQ1M0Q2hCLE1BQU0sQXpCaFVILFdBQVc7TWdCTmQsWUFBWSxBQTBSVCxhQUFhLENTNkNoQix3QkFBd0IsQXpCalVyQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQW1TTSxZQW5TTSxBQTBSVCxhQUFhLENBUVosbUJBQW1CLENBQ2pCLEVBQUU7RUFuU1IsWUFBWSxBQTBSVCxhQUFhLENBUVosbUJBQW1CLEdBRWIsR0FBRyxDQUFDO0loQmpTWixLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JrU3RDO0lBdFNQLEFoQk1FLFlnQk5VLEFBMFJULGFBQWEsQ0FRWixtQkFBbUIsQ0FDakIsRUFBRSxBaEI3UkwsV0FBVztJZ0JOZCxZQUFZLEFBMFJULGFBQWEsQ0FRWixtQkFBbUIsR0FFYixHQUFHLEFoQjlSVixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVFIL0MsQUFrU0ksWUFsU1EsQUEwUlQsYUFBYSxDQVFaLG1CQUFtQixDQUFDO01oQi9SdEIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHbUJzUWpCO01BNVNMLEFoQk1FLFlnQk5VLEFBMFJULGFBQWEsQ0FRWixtQkFBbUIsQWhCNVJwQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUW9CQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVE1QjVCLEFBK1NNLFlBL1NNLEFBMFJULGFBQWEsQ0FxQlQsdUJBQUssQ0FBQztNaEI1U1gsS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCMlR0QztNQS9UUCxBaEJNRSxZZ0JOVSxBQTBSVCxhQUFhLENBcUJULHVCQUFLLEFoQnpTVCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QVF3QkMsTUFBTSxNQUFDLE1BQW1CLE1BckNBLFNBQVMsRUFBRSxLQUFLLE9BcUNsQyxTQUFTLEVBQUUsTUFBTTtFUWhDN0IsQUErU00sWUEvU00sQUEwUlQsYUFBYSxDQXFCVCx1QkFBSyxDQUFDO0loQjVTWCxLQUFLLEVIbUNHLE1BQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0IyVHRDO0lBL1RQLEFoQk1FLFlnQk5VLEFBMFJULGFBQWEsQ0FxQlQsdUJBQUssQWhCelNULFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lnQlJILEFoQjZERSxZZ0I3RFUsQUEwUlQsYUFBYSxDQXFCVCx1QkFBSyxBaEJsUFQsVUFBVyxDQUFBLEVBQUUsRUFBTztNQUNuQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUTVERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBK1NNLFlBL1NNLEFBMFJULGFBQWEsQ0FxQlQsdUJBQUssQ0FBQztNaEI1U1gsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCMlR0QztNQS9UUCxBaEJNRSxZZ0JOVSxBQTBSVCxhQUFhLENBcUJULHVCQUFLLEFoQnpTVCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNZ0JSSCxBaEI2REUsWWdCN0RVLEFBMFJULGFBQWEsQ0FxQlQsdUJBQUssQWhCbFBULFVBQVcsQ0FBQSxFQUFFLEVBQU87UUFDbkIsWUFBWSxFQUFFLENBQUMsR0FDaEI7RWdCL0RILEFBb1VJLFlBcFVRLEFBbVVULGdCQUFnQixDQUNmLHNCQUFzQixDQUFDO0loQmpVekIsS0FBSyxFSG1DRyxJQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCc1Z4QztJQTFWTCxBaEJNRSxZZ0JOVSxBQW1VVCxnQkFBZ0IsQ0FDZixzQkFBc0IsQWhCOVR2QixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUFvVUksWUFwVVEsQUFtVVQsZ0JBQWdCLENBQ2Ysc0JBQXNCLENBQUM7UWhCalV6QixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JzVnhDO1FBMVZMLEFoQk1FLFlnQk5VLEFBbVVULGdCQUFnQixDQUNmLHNCQUFzQixBaEI5VHZCLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQW9VSSxZQXBVUSxBQW1VVCxnQkFBZ0IsQ0FDZixzQkFBc0IsQ0FBQztRaEJqVXpCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQnNWeEM7UUExVkwsQWhCTUUsWWdCTlUsQUFtVVQsZ0JBQWdCLENBQ2Ysc0JBQXNCLEFoQjlUdkIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBK1VNLFlBL1VNLEFBbVVULGdCQUFnQixDQUNmLHNCQUFzQixBQVduQixXQUFXLENBQUM7UWpCaE9qQixXQUFXLEVGekVILFFBQVksR21CNlNmO0lSaFZELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUFxVk0sWUFyVk0sQUFtVVQsZ0JBQWdCLENBQ2Ysc0JBQXNCLEFBaUJuQixZQUFZLENBQUM7UWpCdE9sQixXQUFXLEVGekVILE1BQVksR21CbVRmO0VBelZQLEFBNlZNLFlBN1ZNLEFBbVVULGdCQUFnQixDQXlCZiw0QkFBNEIsQ0FDMUIsTUFBTSxDQUFDO0loQjFWWCxLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0IyVnRDO0lBL1ZQLEFoQk1FLFlnQk5VLEFBbVVULGdCQUFnQixDQXlCZiw0QkFBNEIsQ0FDMUIsTUFBTSxBaEJ2VlQsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RWdCUkgsQUFtV00sWUFuV00sQUFtVVQsZ0JBQWdCLENBK0JmLDRCQUE0QixDQUMxQixNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSSxHQXVCWjtJUmhZRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RSzlDLEFBbVdNLFlBbldNLEFBbVVULGdCQUFnQixDQStCZiw0QkFBNEIsQ0FDMUIsTUFBTSxDQUFDO1FBSUgsS0FBSyxFQUFFLGdCQUFnQixHQW9CMUI7SVJ4WEQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQW1XTSxZQW5XTSxBQW1VVCxnQkFBZ0IsQ0ErQmYsNEJBQTRCLENBQzFCLE1BQU0sQ0FBQztRQVFILEtBQUssRUFBRSxnQkFBZ0IsR0FnQjFCO0lSL1ZILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNUTVCNUIsQUE4V1EsWUE5V0ksQUFtVVQsZ0JBQWdCLENBK0JmLDRCQUE0QixDQUMxQixNQUFNLEdBV0EsTUFBTSxDQUFDO1FBRVAsVUFBVSxFQUFFLElBQUksR0FVbkI7SVIvWEgsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQThXUSxZQTlXSSxBQW1VVCxnQkFBZ0IsQ0ErQmYsNEJBQTRCLENBQzFCLE1BQU0sR0FXQSxNQUFNLENBQUM7UUFNUCxXQUFXLEVBQUUsSUFBSSxHQU1wQjtJUnZYSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBOFdRLFlBOVdJLEFBbVVULGdCQUFnQixDQStCZiw0QkFBNEIsQ0FDMUIsTUFBTSxHQVdBLE1BQU0sQ0FBQztRQVVQLFdBQVcsRUFBRSxJQUFJLEdBRXBCO0VBMVhULEFBOFhJLFlBOVhRLEFBbVVULGdCQUFnQixDQTJEZixTQUFTLEdBQUcsU0FBUyxFQTlYekIsWUFBWSxBQW1VVCxnQkFBZ0IsQ1NHbkIsTUFBTSxHVHdEVSxTQUFTLEVBOVh6QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR1R1RFIsU0FBUyxFQTlYekIsWUFBWSxBQW1VVCxnQkFBZ0IsQ0EyRGYsU0FBUyxHU3hEYixNQUFNLEVUdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENTR25CLE1BQU0sR0FBTixNQUFNLEVUdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENTSW5CLHdCQUF3QixHQUR4QixNQUFNO0VUdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENBMkRmLFNBQVMsR1N2RGIsd0JBQXdCO0VUdlV4QixZQUFZLEFBbVVULGdCQUFnQixDU0duQixNQUFNLEdBQ04sd0JBQXdCO0VUdlV4QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR0FBeEIsd0JBQXdCO0VUdlV4QixZQUFZLEFBbVVULGdCQUFnQixDQTREZixTQUFTLEdBQUcsTUFBTTtFQS9YdEIsWUFBWSxBQW1VVCxnQkFBZ0IsQ1NHbkIsTUFBTSxHVHlEVSxNQUFNO0VBL1h0QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR1R3RFIsTUFBTSxDQUFDO0lBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBU2pCO0lSOVlDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUE4WEksWUE5WFEsQUFtVVQsZ0JBQWdCLENBMkRmLFNBQVMsR0FBRyxTQUFTLEVBOVh6QixZQUFZLEFBbVVULGdCQUFnQixDU0duQixNQUFNLEdUd0RVLFNBQVMsRUE5WHpCLFlBQVksQUFtVVQsZ0JBQWdCLENTSW5CLHdCQUF3QixHVHVEUixTQUFTLEVBOVh6QixZQUFZLEFBbVVULGdCQUFnQixDQTJEZixTQUFTLEdTeERiLE1BQU0sRVR0VU4sWUFBWSxBQW1VVCxnQkFBZ0IsQ1NHbkIsTUFBTSxHQUFOLE1BQU0sRVR0VU4sWUFBWSxBQW1VVCxnQkFBZ0IsQ1NJbkIsd0JBQXdCLEdBRHhCLE1BQU07TVR0VU4sWUFBWSxBQW1VVCxnQkFBZ0IsQ0EyRGYsU0FBUyxHU3ZEYix3QkFBd0I7TVR2VXhCLFlBQVksQUFtVVQsZ0JBQWdCLENTR25CLE1BQU0sR0FDTix3QkFBd0I7TVR2VXhCLFlBQVksQUFtVVQsZ0JBQWdCLENTSW5CLHdCQUF3QixHQUF4Qix3QkFBd0I7TVR2VXhCLFlBQVksQUFtVVQsZ0JBQWdCLENBNERmLFNBQVMsR0FBRyxNQUFNO01BL1h0QixZQUFZLEFBbVVULGdCQUFnQixDU0duQixNQUFNLEdUeURVLE1BQU07TUEvWHRCLFlBQVksQUFtVVQsZ0JBQWdCLENTSW5CLHdCQUF3QixHVHdEUixNQUFNLENBQUM7UUFJZixVQUFVLEVBQUUsSUFBSSxHQU1uQjtJUnRZQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBOFhJLFlBOVhRLEFBbVVULGdCQUFnQixDQTJEZixTQUFTLEdBQUcsU0FBUyxFQTlYekIsWUFBWSxBQW1VVCxnQkFBZ0IsQ1NHbkIsTUFBTSxHVHdEVSxTQUFTLEVBOVh6QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR1R1RFIsU0FBUyxFQTlYekIsWUFBWSxBQW1VVCxnQkFBZ0IsQ0EyRGYsU0FBUyxHU3hEYixNQUFNLEVUdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENTR25CLE1BQU0sR0FBTixNQUFNLEVUdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENTSW5CLHdCQUF3QixHQUR4QixNQUFNO01UdFVOLFlBQVksQUFtVVQsZ0JBQWdCLENBMkRmLFNBQVMsR1N2RGIsd0JBQXdCO01UdlV4QixZQUFZLEFBbVVULGdCQUFnQixDU0duQixNQUFNLEdBQ04sd0JBQXdCO01UdlV4QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR0FBeEIsd0JBQXdCO01UdlV4QixZQUFZLEFBbVVULGdCQUFnQixDQTREZixTQUFTLEdBQUcsTUFBTTtNQS9YdEIsWUFBWSxBQW1VVCxnQkFBZ0IsQ1NHbkIsTUFBTSxHVHlEVSxNQUFNO01BL1h0QixZQUFZLEFBbVVULGdCQUFnQixDU0luQix3QkFBd0IsR1R3RFIsTUFBTSxDQUFDO1FBUWYsVUFBVSxFQUFFLElBQUksR0FFbkI7RUF6WUwsQUE2WUksWUE3WVEsQUE0WVQsZ0JBQWdCLENBQ2YsU0FBUztFQTdZYixZQUFZLEFBNFlULGdCQUFnQixDQUVmLFVBQVUsQ0FBQztJaEIzWWIsS0FBSyxFSG1DRyxJQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCb1p4QztJQXhaTCxBaEJNRSxZZ0JOVSxBQTRZVCxnQkFBZ0IsQ0FDZixTQUFTLEFoQnZZVixXQUFXO0lnQk5kLFlBQVksQUE0WVQsZ0JBQWdCLENBRWYsVUFBVSxBaEJ4WVgsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RSzlDLEFBNllJLFlBN1lRLEFBNFlULGdCQUFnQixDQUNmLFNBQVM7TUE3WWIsWUFBWSxBQTRZVCxnQkFBZ0IsQ0FFZixVQUFVLENBQUM7UWhCM1liLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQm9aeEM7UUF4WkwsQWhCTUUsWWdCTlUsQUE0WVQsZ0JBQWdCLENBQ2YsU0FBUyxBaEJ2WVYsV0FBVztRZ0JOZCxZQUFZLEFBNFlULGdCQUFnQixDQUVmLFVBQVUsQWhCeFlYLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQTZZSSxZQTdZUSxBQTRZVCxnQkFBZ0IsQ0FDZixTQUFTO01BN1liLFlBQVksQUE0WVQsZ0JBQWdCLENBRWYsVUFBVSxDQUFDO1FoQjNZYixLQUFLLEVIbUNHLE9BQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JvWnhDO1FBeFpMLEFoQk1FLFlnQk5VLEFBNFlULGdCQUFnQixDQUNmLFNBQVMsQWhCdllWLFdBQVc7UWdCTmQsWUFBWSxBQTRZVCxnQkFBZ0IsQ0FFZixVQUFVLEFoQnhZWCxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVFIL0MsQUEwWkksWUExWlEsQUE0WVQsZ0JBQWdCLENBY2YsU0FBUyxDQUFDO01qQjNTWixXQUFXLEVGekVILFFBQVksR21Cd1hqQjtFQTlaTCxBQWdhSSxZQWhhUSxBQTRZVCxnQkFBZ0IsQ0FvQmYsVUFBVSxDQUFDO0lBQ1QsVUFBVSxFQUFFLEdBQUcsR0FVaEI7SVJ0YkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUVc5QyxBQWdhSSxZQWhhUSxBQTRZVCxnQkFBZ0IsQ0FvQmYsVUFBVSxDQUFDO1FBSVAsVUFBVSxFQUFFLEdBQUcsR0FPbEI7SVJoYkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQWdhSSxZQWhhUSxBQTRZVCxnQkFBZ0IsQ0FvQmYsVUFBVSxDQUFDO1FBUVAsVUFBVSxFQUFFLEVBQUU7UWpCelRwQixXQUFXLEVGekVILFFBQVksR21CcVlqQjtFUnhhQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBK2FJLFlBL2FRLEFBOGFULGFBQWEsQ0FDWixzQkFBc0I7SUEvYTFCLFlBQVksQUE4YVQsYUFBYSxDQUVaLDBCQUEwQixDQUFDO01oQjdhN0IsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TWdCK2FyQyxTQUFTLEVBQUUsS0FBSyxHQUVuQjtNQXJiTCxBaEJNRSxZZ0JOVSxBQThhVCxhQUFhLENBQ1osc0JBQXNCLEFoQnphdkIsV0FBVztNZ0JOZCxZQUFZLEFBOGFULGFBQWEsQ0FFWiwwQkFBMEIsQWhCMWEzQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQXNiSSxZQXRiUSxBQThhVCxhQUFhLENBUVosS0FBSyxDQUFDO0lBQ0osZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixVQUFVLEVBQUUsRUFBRSxHQUtmO0VBN2JMLEFBK2JJLFlBL2JRLEFBOGFULGFBQWEsQ0FpQlosVUFBVSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEtBQUssR0FpQmY7SVIzTTRCLFNBQUMsRUFBckIsYUFBYSxFQUFFLElBQUk7TVF0UWhDLEFBK2JJLFlBL2JRLEFBOGFULGFBQWEsQ0FpQlosVUFBVSxDQUFDO1FBSVAsT0FBTyxFQUFFLE1BQU0sR0FjbEI7UVI5Y0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVUUgvQyxBQStiSSxZQS9iUSxBQThhVCxhQUFhLENBaUJaLFVBQVUsQ0FBQztZQU9MLE9BQU8sRUFBRSxPQUFPLEdBV3JCO0lSck15RSxTQUFDLEVBQWxFLGVBQWUsRUFBRSxRQUFRLEVBQXdDLEdBQUMsRUFBbEMsZUFBZSxFQUFFLGVBQWU7TVE1UTdFLEFBK2JJLFlBL2JRLEFBOGFULGFBQWEsQ0FpQlosVUFBVSxDQUFDO1FBWVAsT0FBTyxFQUFFLE1BQU0sR0FNbEI7UVI5Y0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVUUgvQyxBQStiSSxZQS9iUSxBQThhVCxhQUFhLENBaUJaLFVBQVUsQ0FBQztZQWVMLE9BQU8sRUFBRSxPQUFPLEdBR3JCO0VBamRMLEFBcWRJLFlBcmRRLEFBb2RULHNCQUFzQixDQUNyQixPQUFPLENBQUM7SWhCbGRWLEtBQUssRUhtQ0csSUFBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCO0lnQm1kdkMsYUFBYSxFQUFFLEdBQUcsR0FNbkI7SUE3ZEwsQWhCTUUsWWdCTlUsQUFvZFQsc0JBQXNCLENBQ3JCLE9BQU8sQWhCL2NSLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQXFkSSxZQXJkUSxBQW9kVCxzQkFBc0IsQ0FDckIsT0FBTyxDQUFDO1FoQmxkVixLQUFLLEVIbUNHLE1BQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtRZ0J1ZHJDLGFBQWEsRUFBRSxDQUFDLEdBRW5CO1FBN2RMLEFoQk1FLFlnQk5VLEFBb2RULHNCQUFzQixDQUNyQixPQUFPLEFoQi9jUixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQStkSSxZQS9kUSxBQW9kVCxzQkFBc0IsQ0FXckIsY0FBYyxDQUFDO0lBQ2IsYUFBYSxFQUFFLElBQUksR0FDcEI7RVJyY0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lRNUI1QixBQW1lSSxZQW5lUSxBQW9kVCxzQkFBc0IsQ0FlckIsQ0FBQyxDQUFDO01SbGFKLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUMsR1FxYVI7RUF2ZUwsQUEyZUksWUEzZVEsQUEwZVQsZUFBZSxDQUNkLHVCQUF1QixDQUFDO0lBQ3RCLE9BQU8sRUFBRSxNQUFNLEdBS2hCO0lSOWVDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUEyZUksWUEzZVEsQUEwZVQsZUFBZSxDQUNkLHVCQUF1QixDQUFDO1FoQnhlMUIsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkI7UUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHbUIyY2pCO1FBamZMLEFoQk1FLFlnQk5VLEFBMGVULGVBQWUsQ0FDZCx1QkFBdUIsQWhCcmV4QixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQW1mSSxZQW5mUSxBQTBlVCxlQUFlLENBU2QsRUFBRSxDQUFDO0lBQ0QsWUFBWSxFQUFFLElBQUksR0FlbkI7SUFuZ0JMLEFBc2ZNLFlBdGZNLEFBMGVULGVBQWUsQ0FTZCxFQUFFLEFBR0MsT0FBTyxDQUFDO01ScmJiLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFFBQUM7TVEyYkwsS0FBSyxFVHplRCxPQUFPLEdTMGVaO01SbmdCRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FRSzlDLEFBc2ZNLFlBdGZNLEFBMGVULGVBQWUsQ0FTZCxFQUFFLEFBR0MsT0FBTyxDQUFDO1VScmJiLFNBQVMsRUFBQyxJQUFDO1VBQ1gsU0FBUyxFQUFDLFFBQUMsR1E0Yk47SUE5ZlAsQUFnZ0JNLFlBaGdCTSxBQTBlVCxlQUFlLENBU2QsRUFBRSxBQWFDLE1BQU0sQUFBQSxPQUFPLENBQUM7TUFDYixLQUFLLEVUMWVHLE9BQU8sR1MyZWhCO0VBbGdCUCxBQXVnQkksWUF2Z0JRLEFBc2dCVCxrQkFBa0IsQ0FDakIsa0JBQWtCLENBQUM7SUFDakIsV0FBVyxFQUFFLE1BQU0sR0ErRHBCO0lBdmtCTCxBQTJnQlEsWUEzZ0JJLEFBc2dCVCxrQkFBa0IsQ0FDakIsa0JBQWtCLEFBR2YsYUFBYSxDQUNaLDZCQUE2QixDQUFDO01BQzVCLEtBQUssRUFBRSxDQUFDO01BQ1IsVUFBVSxFQUFFLElBQUksR0FNakI7TVIvZEwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRUXBENUMsQUEyZ0JRLFlBM2dCSSxBQXNnQlQsa0JBQWtCLENBQ2pCLGtCQUFrQixBQUdmLGFBQWEsQ0FDWiw2QkFBNkIsQ0FBQztVakI1WnBDLFdBQVcsRUZ6RUgsUUFBWTtVbUIyZVYsVUFBVSxFQUFFLENBQUMsR0FFaEI7SVIvZEwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUXBENUMsQUFxaEJRLFlBcmhCSSxBQXNnQlQsa0JBQWtCLENBQ2pCLGtCQUFrQixBQUdmLGFBQWEsQ0FXWix3QkFBd0IsQ0FBQztRakJ0YS9CLFdBQVcsRUZ6RUgsRUFBWSxHbUJ1ZmI7SVIxaEJILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUFxaEJRLFlBcmhCSSxBQXNnQlQsa0JBQWtCLENBQ2pCLGtCQUFrQixBQUdmLGFBQWEsQ0FXWix3QkFBd0IsQ0FBQztRakJ0YS9CLFdBQVcsRUZ6RUgsUUFBWSxHbUJ1ZmI7SUE3aEJULEFBZ2lCTSxZQWhpQk0sQUFzZ0JULGtCQUFrQixDQTBCZCw2QkFBVyxDQUFDO01BQ1gsYUFBYSxFQUFFLElBQUk7TWhCOWhCekIsS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUFEM0MsS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCZ2pCdEM7TVJ6akJELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UVFLOUMsQUFnaUJNLFlBaGlCTSxBQXNnQlQsa0JBQWtCLENBMEJkLDZCQUFXLENBQUM7VUFJVCxhQUFhLEVBQUUsSUFBSSxHQWdCdEI7TUFwakJQLEFoQk1FLFlnQk5VLEFBc2dCVCxrQkFBa0IsQ0EwQmQsNkJBQVcsQWhCMWhCZixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUTRDQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FRcEQ1QyxBQWdpQk0sWUFoaUJNLEFBc2dCVCxrQkFBa0IsQ0EwQmQsNkJBQVcsQ0FBQztVaEI3aEJqQixLQUFLLEVIbUNHLE1BQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVZ0J1aUJuQyxhQUFhLEVBQUUsR0FBRyxHQVNyQjtVQXBqQlAsQWhCTUUsWWdCTlUsQUFzZ0JULGtCQUFrQixDQTBCZCw2QkFBVyxBaEIxaEJmLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01RTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUUgvQyxBQWdpQk0sWUFoaUJNLEFBc2dCVCxrQkFBa0IsQ0EwQmQsNkJBQVcsQ0FBQztVaEI3aEJqQixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEdtQjhnQmY7VUFwakJQLEFoQk1FLFlnQk5VLEFBc2dCVCxrQkFBa0IsQ0EwQmQsNkJBQVcsQWhCMWhCZixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNZ0JSSCxBaEJNRSxZZ0JOVSxBQXNnQlQsa0JBQWtCLENBMEJkLDZCQUFXLEFoQjFoQmYsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SWdCUkgsQUFzakJNLFlBdGpCTSxBQXNnQlQsa0JBQWtCLENBZ0RkLHlCQUFPLENBQUMsR0FBRyxDQUFDO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SVJ2Z0JILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFwRDVDLEFBNmpCTSxZQTdqQk0sQUFzZ0JULGtCQUFrQixDQXVEZCx3QkFBTSxDQUFDO1FoQjFqQlosS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkI7UUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHbUJnaUJmO1FBdGtCUCxBaEJNRSxZZ0JOVSxBQXNnQlQsa0JBQWtCLENBdURkLHdCQUFNLEFoQnZqQlYsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBNmpCTSxZQTdqQk0sQUFzZ0JULGtCQUFrQixDQXVEZCx3QkFBTSxDQUFDO1FoQjFqQlosS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCa2tCdEM7UUF0a0JQLEFoQk1FLFlnQk5VLEFBc2dCVCxrQkFBa0IsQ0F1RGQsd0JBQU0sQWhCdmpCVixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQTBrQkUsWUExa0JVLEFBMGtCVCxrQkFBa0IsQ0FBQztJQUNsQixVQUFVLEVBQUUsSUFBSSxHQWtIakI7SVJsc0JHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUEwa0JFLFlBMWtCVSxBQTBrQlQsa0JBQWtCLENBQUM7UUFHaEIsVUFBVSxFQUFFLENBQUMsR0FnSGhCO0lSdHJCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RUC9DLEFBMGtCRSxZQTFrQlUsQUEwa0JULGtCQUFrQixDQUFDO1FBTWhCLFVBQVUsRUFBRSxJQUFJLEdBNkduQjtJQTdyQkgsQUFtbEJNLFlBbmxCTSxBQTBrQlQsa0JBQWtCLENBUWpCLG1CQUFtQixDQUNqQixZQUFZLENBQUM7TWhCaGxCakIsS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCaWxCdEM7TUFybEJQLEFoQk1FLFlnQk5VLEFBMGtCVCxrQkFBa0IsQ0FRakIsbUJBQW1CLENBQ2pCLFlBQVksQWhCN2tCZixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJZ0JSSCxBQXlsQk0sWUF6bEJNLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLENBQ3RCLFlBQVksQ0FBQztNaEJ0bEJqQixLQUFLLEVIbUNHLElBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNZ0J1bEJyQyxZQUFZLEVBQUUsQ0FBQyxHQVNoQjtNQXBtQlAsQWhCTUUsWWdCTlUsQUEwa0JULGtCQUFrQixDQWNqQix3QkFBd0IsQ0FDdEIsWUFBWSxBaEJubEJmLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01nQlJILEFBNmxCUSxZQTdsQkksQUEwa0JULGtCQUFrQixDQWNqQix3QkFBd0IsQ0FDdEIsWUFBWSxBQUlULElBQUssQ0FBQSxjQUFjLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEdBQUcsR0FLaEI7UVI3VndCLFNBQUMsRUFBckIsYUFBYSxFQUFFLElBQUk7VVF0UWhDLEFBNmxCUSxZQTdsQkksQUEwa0JULGtCQUFrQixDQWNqQix3QkFBd0IsQ0FDdEIsWUFBWSxBQUlULElBQUssQ0FBQSxjQUFjLEVBQUU7WUFJbEIsVUFBVSxFQUFFLElBQUksR0FFbkI7SVJ4bUJILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUF3bUJVLFlBeG1CRSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQWVuQixVQUFVLENBQ1QsWUFBWSxDQUFDO1FBQ1gsVUFBVSxFQUFFLENBQUMsR0FvQmQ7UUE3bkJYLEFBMm1CWSxZQTNtQkEsQUEwa0JULGtCQUFrQixDQWNqQix3QkFBd0IsQUFlbkIsVUFBVSxDQUNULFlBQVksQUFHVCxjQUFjLENBQUM7VWhCeG1CMUIsS0FBSyxFSG1DRyxTQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCeW1CaEM7VUE3bUJiLEFoQk1FLFlnQk5VLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBZW5CLFVBQVUsQ0FDVCxZQUFZLEFBR1QsY0FBYyxBaEJybUJ4QixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtRZ0JSSCxBQSttQlksWUEvbUJBLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBZW5CLFVBQVUsQ0FDVCxZQUFZLEFBT1QsYUFBYSxDQUFDO1VBQ2IsV0FBVyxFQUFFLEVBQUU7VWhCN21CM0IsS0FBSyxFSG1DRyxTQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkI7VUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHbUJzbEJUO1VSdFhvQixTQUFDLEVBQXJCLGFBQWEsRUFBRSxJQUFJO1lRdFFoQyxBQSttQlksWUEvbUJBLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBZW5CLFVBQVUsQ0FDVCxZQUFZLEFBT1QsYUFBYSxDQUFDO2NBSVgsV0FBVyxFQUFFLElBQUksR0FTcEI7VVJoWGlFLFNBQUMsRUFBbEUsZUFBZSxFQUFFLFFBQVEsRUFBd0MsR0FBQyxFQUFsQyxlQUFlLEVBQUUsZUFBZTtZUTVRN0UsQUErbUJZLFlBL21CQSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQWVuQixVQUFVLENBQ1QsWUFBWSxBQU9ULGFBQWEsQ0FBQztjQVFYLFdBQVcsRUFBRSxJQUFJLEdBS3BCO1VBNW5CYixBaEJNRSxZZ0JOVSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQWVuQixVQUFVLENBQ1QsWUFBWSxBQU9ULGFBQWEsQWhCem1CdkIsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7TWdCUkgsQUFpb0JVLFlBam9CRSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQXdDbkIsV0FBVyxDQUNWLFlBQVksQ0FBQztRQUNYLFVBQVUsRUFBRSxDQUFDLEdBb0JkO1FBdHBCWCxBQW9vQlksWUFwb0JBLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBd0NuQixXQUFXLENBQ1YsWUFBWSxBQUdULGFBQWEsQ0FBQztVaEJqb0J6QixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEdtQmltQlQ7VUF2b0JiLEFoQk1FLFlnQk5VLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBd0NuQixXQUFXLENBQ1YsWUFBWSxBQUdULGFBQWEsQWhCOW5CdkIsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7UWdCUkgsQUF5b0JZLFlBem9CQSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQXdDbkIsV0FBVyxDQUNWLFlBQVksQUFRVCxjQUFjLENBQUM7VUFDZCxXQUFXLEVBQUUsRUFBRTtVaEJ2b0IzQixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JpcEJoQztVUnpZaUUsU0FBQyxFQUFsRSxlQUFlLEVBQUUsUUFBUSxFQUF3QyxHQUFDLEVBQWxDLGVBQWUsRUFBRSxlQUFlO1lRNVE3RSxBQXlvQlksWUF6b0JBLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBd0NuQixXQUFXLENBQ1YsWUFBWSxBQVFULGNBQWMsQ0FBQztjQUlaLFdBQVcsRUFBRSxJQUFJLEdBUXBCO1VSL1lvQixTQUFDLEVBQXJCLGFBQWEsRUFBRSxJQUFJO1lRdFFoQyxBQXlvQlksWUF6b0JBLEFBMGtCVCxrQkFBa0IsQ0FjakIsd0JBQXdCLEFBd0NuQixXQUFXLENBQ1YsWUFBWSxBQVFULGNBQWMsQ0FBQztjQVFaLFdBQVcsRUFBRSxJQUFJLEdBSXBCO1VBcnBCYixBaEJNRSxZZ0JOVSxBQTBrQlQsa0JBQWtCLENBY2pCLHdCQUF3QixBQXdDbkIsV0FBVyxDQUNWLFlBQVksQUFRVCxjQUFjLEFoQm5vQnhCLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lnQlJILEFBNHBCTSxZQTVwQk0sQUEwa0JULGtCQUFrQixDQWlGakIsc0JBQXNCLENBQ3BCLFlBQVksQ0FBQztNQUNYLFVBQVUsRUFBRSxJQUFJO01oQjFwQnRCLEtBQUssRUhtQ0csSUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01nQmlxQnJDLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01BdHFCUCxBaEJNRSxZZ0JOVSxBQTBrQlQsa0JBQWtCLENBaUZqQixzQkFBc0IsQ0FDcEIsWUFBWSxBaEJ0cEJmLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQTRwQk0sWUE1cEJNLEFBMGtCVCxrQkFBa0IsQ0FpRmpCLHNCQUFzQixDQUNwQixZQUFZLENBYUc7UUFDWCxVQUFVLEVBQUUsQ0FBQztRaEJ2cUJyQixLQUFLLEVIbUNHLE1BQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0J3cUJwQztRQTVxQlQsQWhCTUUsWWdCTlUsQUEwa0JULGtCQUFrQixDQWlGakIsc0JBQXNCLENBQ3BCLFlBQVksQWhCdHBCZixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUFnckJJLFlBaHJCUSxBQTBrQlQsa0JBQWtCLENBc0dqQixTQUFTLEdBQUcsU0FBUyxFQWhyQnpCLFlBQVksQUEwa0JULGtCQUFrQixDU3BRckIsTUFBTSxHVDBXVSxTQUFTLEVBaHJCekIsWUFBWSxBQTBrQlQsa0JBQWtCLENTblFyQix3QkFBd0IsR1R5V1IsU0FBUyxFQWhyQnpCLFlBQVksQUEwa0JULGtCQUFrQixDQXNHakIsU0FBUyxHUzFXYixNQUFNLEVUdFVOLFlBQVksQUEwa0JULGtCQUFrQixDU3BRckIsTUFBTSxHQUFOLE1BQU0sRVR0VU4sWUFBWSxBQTBrQlQsa0JBQWtCLENTblFyQix3QkFBd0IsR0FEeEIsTUFBTTtNVHRVTixZQUFZLEFBMGtCVCxrQkFBa0IsQ0FzR2pCLFNBQVMsR1N6V2Isd0JBQXdCO01UdlV4QixZQUFZLEFBMGtCVCxrQkFBa0IsQ1NwUXJCLE1BQU0sR0FDTix3QkFBd0I7TVR2VXhCLFlBQVksQUEwa0JULGtCQUFrQixDU25RckIsd0JBQXdCLEdBQXhCLHdCQUF3QixDVHlXRTtRQUVsQixVQUFVLEVBQUUsSUFBSSxHQU1uQjtJUnJyQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQWdyQkksWUFockJRLEFBMGtCVCxrQkFBa0IsQ0FzR2pCLFNBQVMsR0FBRyxTQUFTLEVBaHJCekIsWUFBWSxBQTBrQlQsa0JBQWtCLENTcFFyQixNQUFNLEdUMFdVLFNBQVMsRUFockJ6QixZQUFZLEFBMGtCVCxrQkFBa0IsQ1NuUXJCLHdCQUF3QixHVHlXUixTQUFTLEVBaHJCekIsWUFBWSxBQTBrQlQsa0JBQWtCLENBc0dqQixTQUFTLEdTMVdiLE1BQU0sRVR0VU4sWUFBWSxBQTBrQlQsa0JBQWtCLENTcFFyQixNQUFNLEdBQU4sTUFBTSxFVHRVTixZQUFZLEFBMGtCVCxrQkFBa0IsQ1NuUXJCLHdCQUF3QixHQUR4QixNQUFNO01UdFVOLFlBQVksQUEwa0JULGtCQUFrQixDQXNHakIsU0FBUyxHU3pXYix3QkFBd0I7TVR2VXhCLFlBQVksQUEwa0JULGtCQUFrQixDU3BRckIsTUFBTSxHQUNOLHdCQUF3QjtNVHZVeEIsWUFBWSxBQTBrQlQsa0JBQWtCLENTblFyQix3QkFBd0IsR0FBeEIsd0JBQXdCLENUeVdFO1FBTWxCLFVBQVUsRUFBRSxJQUFJLEdBRW5CO0lBeHJCTCxBQTByQkksWUExckJRLEFBMGtCVCxrQkFBa0IsQ0FnSGpCLHdCQUF3QixDQUFDLENBQUMsQ0FBQztNQUN6QixLQUFLLEVUdnFCQyxPQUFPLEdTd3FCZDtFQTVyQkwsQUFpc0JNLFlBanNCTSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLEdBbUV4QjtJUnB3QkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQWlzQk0sWUFqc0JNLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQ0FBQztRQU1MLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGNBQWMsRUFBRSxHQUFHLEdBK0R0QjtRQXZ3QlAsQUEwc0JVLFlBMXNCRSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLENBU0osNEJBQTRCO1FBMXNCdEMsWUFBWSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLENBVUosc0JBQXNCLENBQUM7VWhCeHNCL0IsS0FBSyxFSG1DRyxNQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCeXNCbEM7VUE3c0JYLEFoQk1FLFlnQk5VLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQ0FTSiw0QkFBNEIsQWhCcHNCbkMsV0FBVztVZ0JOZCxZQUFZLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQ0FVSixzQkFBc0IsQWhCcnNCN0IsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7UWdCUkgsQUFndEJZLFlBaHRCQSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLEFBY0gsV0FBVyxDQUNWLHNCQUFzQixDQUFDO1VBQ3JCLEtBQUssRUFBRSxDQUFDLEdBU1Q7SVIvdEJQLE1BQU0sTUFBQyxNQUFrQyxNQVFqQixTQUFTLEVBQUUsTUFBTSxPQVJqQixTQUFTLEVBQUUsS0FBSztNUUs5QyxBQWd0QlksWUFodEJBLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQUFjSCxXQUFXLENBQ1Ysc0JBQXNCLENBQUM7UUFJbkIsYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLENBQUMsR0FLbEI7SVJudEJQLE1BQU0sTUFBQyxNQUFtQyxNQUpsQixTQUFTLEVBQUUsTUFBTSxPQUlqQixTQUFTLEVBQUUsTUFBTTtNUVAvQyxBQWd0QlksWUFodEJBLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQUFjSCxXQUFXLENBQ1Ysc0JBQXNCLENBQUM7UUFRbkIsYUFBYSxFQUFFLEVBQUUsR0FFcEI7SVJ2dEJQLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUE0dEJZLFlBNXRCQSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLEFBY0gsV0FBVyxDQWFWLDRCQUE0QixDQUFDO1VBQzNCLEtBQUssRUFBRSxDQUFDLEdBQ1Q7UUE5dEJiLEFBa3VCWSxZQWx1QkEsQUErckJULGFBQWEsQ0FFVCxvQkFBTyxBQWdDSCxZQUFZLENBQ1gsc0JBQXNCLENBQUM7VUFDckIsS0FBSyxFQUFFLENBQUMsR0FTVDtJUnp1QlAsTUFBTSxNQUFDLE1BQW1DLE1BQWxCLFNBQVMsRUFBRSxNQUFNLE9BQWpCLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBa3VCWSxZQWx1QkEsQUErckJULGFBQWEsQ0FFVCxvQkFBTyxBQWdDSCxZQUFZLENBQ1gsc0JBQXNCLENBQUM7UUFJbkIsYUFBYSxFQUFFLENBQUM7UUFDaEIsWUFBWSxFQUFFLElBQUksR0FLckI7SVJydUJQLE1BQU0sTUFBQyxNQUFtQyxNQUpsQixTQUFTLEVBQUUsTUFBTSxPQUlqQixTQUFTLEVBQUUsTUFBTTtNUVAvQyxBQWt1QlksWUFsdUJBLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQUFnQ0gsWUFBWSxDQUNYLHNCQUFzQixDQUFDO1FBUW5CLFlBQVksRUFBRSxFQUFFLEdBRW5CO0lSenVCUCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRSC9DLEFBOHVCWSxZQTl1QkEsQUErckJULGFBQWEsQ0FFVCxvQkFBTyxBQWdDSCxZQUFZLENBYVgsNEJBQTRCLENBQUM7VUFDM0IsS0FBSyxFQUFFLENBQUMsR0FJVDtJUjV1QlAsTUFBTSxNQUFDLE1BQW1DLE1BSmxCLFNBQVMsRUFBRSxNQUFNLE9BSWpCLFNBQVMsRUFBRSxNQUFNO01RUC9DLEFBOHVCWSxZQTl1QkEsQUErckJULGFBQWEsQ0FFVCxvQkFBTyxBQWdDSCxZQUFZLENBYVgsNEJBQTRCLENBQUM7UUFHekIsWUFBWSxFQUFFLGVBQWUsR0FFaEM7SVI1dUJQLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFQL0MsQUF3dkJVLFlBeHZCRSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLENBdURKLDRCQUE0QixDQUFDO1FoQnJ2QnJDLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQnN2QmxDO1FBMXZCWCxBaEJNRSxZZ0JOVSxBQStyQlQsYUFBYSxDQUVULG9CQUFPLENBdURKLDRCQUE0QixBaEJsdkJuQyxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNZ0JSSCxBQTR2QlUsWUE1dkJFLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQ0EyREosc0JBQXNCLENBQUM7UWhCenZCL0IsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCMHZCbEM7UUE5dkJYLEFoQk1FLFlnQk5VLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQ0EyREosc0JBQXNCLEFoQnR2QjdCLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01nQlJILEFBa3VCWSxZQWx1QkEsQUErckJULGFBQWEsQ0FFVCxvQkFBTyxBQWdDSCxZQUFZLENBQ1gsc0JBQXNCLENBOEJhO1FBQ25DLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01BbHdCWCxBQW13QlUsWUFud0JFLEFBK3JCVCxhQUFhLENBRVQsb0JBQU8sQUFrRUgsV0FBVyxDQUFDLDRCQUE0QixDQUFDO1FBQ3hDLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VBcndCWCxBQXl3Qk0sWUF6d0JNLEFBK3JCVCxhQUFhLENBMEVULDRCQUFlLENBQUM7SUFDZixLQUFLLEVBQUUsSUFBSSxHQUNaO0VBM3dCUCxBQTZ3Qk0sWUE3d0JNLEFBK3JCVCxhQUFhLENBOEVULHNCQUFTLENBQUM7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLFVBQVUsRUFBRSxJQUFJLEdBcURqQjtJQXAwQlAsQUFpeEJRLFlBanhCSSxBQStyQlQsYUFBYSxDQThFVCxzQkFBUyxDQUlSLEtBQUssQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJO01SanRCeEIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsSUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLFNBQUMsR1FndUJOO01ScHlCSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRSC9DLEFBaXhCUSxZQWp4QkksQUErckJULGFBQWEsQ0E4RVQsc0JBQVMsQ0FJUixLQUFLLENBQUM7VUFXRixVQUFVLEVBQUUsSUFBSTtVUjN0QjFCLFNBQVMsRUFBQyxJQUFDO1VBQ1gsU0FBUyxFQUFDLFFBQUM7VUFJWCxXQUFXLEVBQUMsSUFBQztVQUNiLFdBQVcsRUFBQyxPQUFDLEdRZ3VCTjtNUmh5QkgsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUVAvQyxBQWl4QlEsWUFqeEJJLEFBK3JCVCxhQUFhLENBOEVULHNCQUFTLENBSVIsS0FBSyxDQUFDO1VBaUJGLFVBQVUsRUFBRSxJQUFJO1VBQ2hCLFNBQVMsRUFBRSxLQUFLO1VSbHVCMUIsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsT0FBQztVQUlYLFdBQVcsRUFBQyxJQUFDO1VBQ2IsV0FBVyxFQUFDLFFBQUMsR1FndUJOO0lScHlCSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBNndCTSxZQTd3Qk0sQUErckJULGFBQWEsQ0E4RVQsc0JBQVMsQ0FBQztRQTZCUCxhQUFhLEVBQUUsSUFBSTtRQUNuQixVQUFVLEVBQUUsQ0FBQyxHQXlCaEI7SUFwMEJQLEFBOHlCUSxZQTl5QkksQUErckJULGFBQWEsQ0E4RVQsc0JBQVMsQ0FpQ1IsVUFBVSxDQUFDO01BQ1QsVUFBVSxFQUFFLE1BQU07TUFDbEIsS0FBSyxFVDV4QkgsT0FBTyxHUyt5QlY7TVJ4MEJILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UVFLOUMsQUE4eUJRLFlBOXlCSSxBQStyQlQsYUFBYSxDQThFVCxzQkFBUyxDQWlDUixVQUFVLENBQUM7VUFLUCxVQUFVLEVBQUUsSUFBSSxHQWdCbkI7TVJoMEJILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUE4eUJRLFlBOXlCSSxBQStyQlQsYUFBYSxDQThFVCxzQkFBUyxDQWlDUixVQUFVLENBQUM7VVI3dUJqQixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxPQUFDLEdRaXdCSjtNUjV6QkgsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUVAvQyxBQTh5QlEsWUE5eUJJLEFBK3JCVCxhQUFhLENBOEVULHNCQUFTLENBaUNSLFVBQVUsQ0FBQztVQVlQLFVBQVUsRUFBRSxNQUFNLEdBU3JCO0VBbjBCVCxBQXUwQkksWUF2MEJRLEFBK3JCVCxhQUFhLEFBd0lYLGlCQUFpQixDQUFDO0lBQ2pCLFVBQVUsRUFBRSxJQUFJLEdBT2pCO0lScDFCQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RSzlDLEFBdTBCSSxZQXYwQlEsQUErckJULGFBQWEsQUF3SVgsaUJBQWlCLENBQUM7UUFHZixVQUFVLEVBQUUsSUFBSSxHQUtuQjtJUngwQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUVAvQyxBQXUwQkksWUF2MEJRLEFBK3JCVCxhQUFhLEFBd0lYLGlCQUFpQixDQUFDO1FBTWYsT0FBTyxFQUFFLE1BQU0sR0FFbEI7RVJwMUJDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFLOUMsQUFtMUJJLFlBbjFCUSxBQWsxQlQsb0JBQW9CLENBQ25CLCtCQUErQixDQUFDO01BRTVCLE9BQU8sRUFBRSxJQUFJLEdBRWhCO0VBdjFCTCxBQXcxQkksWUF4MUJRLEFBazFCVCxvQkFBb0IsQ0FNbkIsK0JBQStCLENBQUM7SUFDOUIsT0FBTyxFQUFFLElBQUksR0FJZDtJUmwyQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQXcxQkksWUF4MUJRLEFBazFCVCxvQkFBb0IsQ0FNbkIsK0JBQStCLENBQUM7UUFHNUIsT0FBTyxFQUFFLEtBQUssR0FFakI7RUE3MUJMLEFBKzFCSSxZQS8xQlEsQUFrMUJULG9CQUFvQixDQWFuQixxQ0FBcUMsQ0FBQztJQUNwQyxLQUFLLEVBQUUsV0FBVztJQUNsQixZQUFZLEVBQUUsSUFBSSxHQUluQjtJQXIyQkwsQUFrMkJNLFlBbDJCTSxBQWsxQlQsb0JBQW9CLENBYW5CLHFDQUFxQyxBQUdsQyxXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFQXAyQlAsQUFzMkJJLFlBdDJCUSxBQWsxQlQsb0JBQW9CLENBb0JuQixNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBeDJCTCxBQTIyQkUsWUEzMkJVLEFBMjJCVCxtQkFBbUIsQ0FBQztJQUNuQixVQUFVLEVBQUUsSUFBSSxHQTBFakI7SVJuN0JHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUEyMkJFLFlBMzJCVSxBQTIyQlQsbUJBQW1CLENBQUM7UUFHakIsVUFBVSxFQUFFLElBQUk7UUFDaEIsYUFBYSxFQUFFLEdBQUcsR0F1RXJCO0lSLzZCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RUC9DLEFBaTNCSSxZQWozQlEsQUEyMkJULG1CQUFtQixBQU1qQixpQkFBaUIsQ0FBQztRQUVmLFdBQVcsRUFBRSxNQUFNLEdBRXRCO0lBcjNCTCxBQXUzQkksWUF2M0JRLEFBMjJCVCxtQkFBbUIsQ0FZbEIsa0JBQWtCLENBQUM7TUFDakIsYUFBYSxFQUFFLENBQUMsR0FRakI7TVJwMkJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztRUTVCNUIsQUF1M0JJLFlBdjNCUSxBQTIyQlQsbUJBQW1CLENBWWxCLGtCQUFrQixDQUFDO1VBR2YsV0FBVyxFVC8yQlAsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7VUNzRDVDLFNBQVMsRUFBQyxJQUFDO1VBQ1gsU0FBUyxFQUFDLElBQUM7VUFJWCxXQUFXLEVBQUMsSUFBQztVQUNiLFdBQVcsRUFBQyxNQUFDO1VRc3pCUCxjQUFjLEVBQUUsVUFBVTtVQUMxQixjQUFjLEVBQUUsQ0FBQyxHQUVwQjtJQWg0QkwsQUFrNEJJLFlBbDRCUSxBQTIyQlQsbUJBQW1CLENBdUJsQixTQUFTLEVBbDRCYixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NyaUJ0QixNQUFNO0lUdFVOLFlBQVksQUEyMkJULG1CQUFtQixDU3BpQnRCLHdCQUF3QixDVDJqQlY7TUFDUixVQUFVLEVBQUUsSUFBSTtNQUNoQixRQUFRLEVBQUUsUUFBUSxHQThDbkI7TUFsN0JMLEFBczRCTSxZQXQ0Qk0sQUEyMkJULG1CQUFtQixDQXVCbEIsU0FBUyxDQUlQLDZCQUE2QixFQXQ0Qm5DLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Rna0JBLDZCQUE2QixFQXQ0Qm5DLFlBQVksQUEyMkJULG1CQUFtQixDU3BpQnRCLHdCQUF3QixDVCtqQmxCLDZCQUE2QixDQUFDO1FBQzVCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TVJ4MkJILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtRUWhDN0IsQUEyNEJRLFlBMzRCSSxBQTIyQlQsbUJBQW1CLENBdUJsQixTQUFTLENBU0wsWUFBWSxFQTM0QnBCLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Rxa0JFLFlBQVksRUEzNEJwQixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NwaUJ0Qix3QkFBd0IsQ1Rva0JoQixZQUFZLENBQUM7VUFDWCxLQUFLLEVBQUUsR0FBRyxHQVVYO1VBdDVCVCxBQTY0QlUsWUE3NEJFLEFBMjJCVCxtQkFBbUIsQ0F1QmxCLFNBQVMsQ0FTTCxZQUFZLEFBRVQsWUFBWSxFQTc0QnZCLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Rxa0JFLFlBQVksQUFFVCxZQUFZLEVBNzRCdkIsWUFBWSxBQTIyQlQsbUJBQW1CLENTcGlCdEIsd0JBQXdCLENUb2tCaEIsWUFBWSxBQUVULFlBQVksQ0FBQztZQUNaLGFBQWEsRUFBRSxFQUFFLEdBQ2xCO1VBLzRCWCxBQWc1QlUsWUFoNUJFLEFBMjJCVCxtQkFBbUIsQ0F1QmxCLFNBQVMsQ0FTTCxZQUFZLEFBS1QsVUFBVyxDUHpzQkksQ0FBQyxHT3ZNM0IsWUFBWSxBQTIyQlQsbUJBQW1CLENTcmlCdEIsTUFBTSxDVHFrQkUsWUFBWSxBQUtULFVBQVcsQ1B6c0JJLENBQUMsR092TTNCLFlBQVksQUEyMkJULG1CQUFtQixDU3BpQnRCLHdCQUF3QixDVG9rQmhCLFlBQVksQUFLVCxVQUFXLENQenNCSSxDQUFDLEVPeXNCRjtZQUNiLFlBQVksRUFBRSxFQUFFLEdBQ2pCO1VBbDVCWCxBQW01QlUsWUFuNUJFLEFBMjJCVCxtQkFBbUIsQ0F1QmxCLFNBQVMsQ0FTTCxZQUFZLEFBUVQsV0FBVyxFQW41QnRCLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Rxa0JFLFlBQVksQUFRVCxXQUFXLEVBbjVCdEIsWUFBWSxBQTIyQlQsbUJBQW1CLENTcGlCdEIsd0JBQXdCLENUb2tCaEIsWUFBWSxBQVFULFdBQVcsQ0FBQztZQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TVJsNUJMLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUFrNEJJLFlBbDRCUSxBQTIyQlQsbUJBQW1CLENBdUJsQixTQUFTLEVBbDRCYixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NyaUJ0QixNQUFNO1FUdFVOLFlBQVksQUEyMkJULG1CQUFtQixDU3BpQnRCLHdCQUF3QixDVDJqQlY7VUF3Qk4sYUFBYSxFQUFFLENBQUMsR0F3Qm5CO1VBbDdCTCxBQTQ1QlEsWUE1NUJJLEFBMjJCVCxtQkFBbUIsQ0F1QmxCLFNBQVMsQ0EwQkwsQ0FBQyxFQTU1QlQsWUFBWSxBQTIyQlQsbUJBQW1CLENTcmlCdEIsTUFBTSxDVHNsQkUsQ0FBQyxFQTU1QlQsWUFBWSxBQTIyQlQsbUJBQW1CLENTcGlCdEIsd0JBQXdCLENUcWxCaEIsQ0FBQyxDQUFDO1lBQ0EsUUFBUSxFQUFFLE9BQU8sR0FDbEI7VUE5NUJULEFBZzZCUSxZQWg2QkksQUEyMkJULG1CQUFtQixDQXVCbEIsU0FBUyxDQThCTCxxQkFBcUIsRUFoNkI3QixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NyaUJ0QixNQUFNLENUMGxCRSxxQkFBcUIsRUFoNkI3QixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NwaUJ0Qix3QkFBd0IsQ1R5bEJoQixxQkFBcUIsQ0FBQztZQUNwQixRQUFRLEVBQUUsTUFBTSxHQUNqQjtVQWw2QlQsQUEyNEJRLFlBMzRCSSxBQTIyQlQsbUJBQW1CLENBdUJsQixTQUFTLENBU0wsWUFBWSxFQTM0QnBCLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Rxa0JFLFlBQVksRUEzNEJwQixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NwaUJ0Qix3QkFBd0IsQ1Rva0JoQixZQUFZLENBeUJDO1lBQ1gsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsT0FBTyxHQVVqQjtZQWg3QlQsQUF3NkJVLFlBeDZCRSxBQTIyQlQsbUJBQW1CLENBdUJsQixTQUFTLENBa0NMLFlBQVksQUFJVCxjQUFjLEVBeDZCekIsWUFBWSxBQTIyQlQsbUJBQW1CLENTcmlCdEIsTUFBTSxDVDhsQkUsWUFBWSxBQUlULGNBQWMsRUF4NkJ6QixZQUFZLEFBMjJCVCxtQkFBbUIsQ1NwaUJ0Qix3QkFBd0IsQ1Q2bEJoQixZQUFZLEFBSVQsY0FBYyxDQUFDO2NBQ2QsYUFBYSxFQUFFLEtBQUs7Y0FDcEIsWUFBWSxFQUFFLENBQUMsR0FDaEI7WUEzNkJYLEFBNDZCVSxZQTU2QkUsQUEyMkJULG1CQUFtQixDQXVCbEIsU0FBUyxDQWtDTCxZQUFZLEFBUVQsYUFBYSxFQTU2QnhCLFlBQVksQUEyMkJULG1CQUFtQixDU3JpQnRCLE1BQU0sQ1Q4bEJFLFlBQVksQUFRVCxhQUFhLEVBNTZCeEIsWUFBWSxBQTIyQlQsbUJBQW1CLENTcGlCdEIsd0JBQXdCLENUNmxCaEIsWUFBWSxBQVFULGFBQWEsQ0FBQztjQUNiLFlBQVksRUFBRSxLQUFLO2NBQ25CLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lBLzZCWCxBQW03QkksWUFuN0JRLEFBMjJCVCxtQkFBbUIsQ0F3RWxCLHdCQUF3QixDQUFDLENBQUMsQ0FBQztNQUN6QixLQUFLLEVUaDZCQyxPQUFPLEdTaTZCZDtFUmw3QkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUUgvQyxBQXk3QkksWUF6N0JRLEFBdzdCVCxhQUFhLENBQ1osbUJBQW1CLENBQUM7TWhCdDdCdEIsS0FBSyxFSG1DRyxNQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsU0FBWSxHbUJ3NUJqQjtNQTk3QkwsQWhCTUUsWWdCTlUsQUF3N0JULGFBQWEsQ0FDWixtQkFBbUIsQWhCbjdCcEIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRUC9DLEFBaThCRSxZQWo4QlUsQUFpOEJULG1CQUFtQixDQUFDO01BRWpCLE9BQU8sRUFBRSxJQUFJLEdBRWhCO0VSbDhCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBdThCRSxZQXY4QlUsQ0F1OEJWLDBCQUEwQixDQUFDO01BRXZCLE9BQU8sRUFBRSxPQUFPO01BQ2hCLE9BQU8sRUFBRSxJQUFJO01BQ2IsY0FBYyxFQUFFLEdBQUc7TUFDbkIsZUFBZSxFQUFFLE1BQU07TUFDdkIsV0FBVyxFQUFFLE1BQU0sR0FZdEI7TUF6OUJILEFBKzhCTSxZQS84Qk0sQ0F1OEJWLDBCQUEwQixDQVF0Qix5QkFBeUIsQ0FBQztRQUN4QixZQUFZLEVBQUUsS0FBSyxHQUNwQjtNQWo5QlAsQUFvOUJRLFlBcDlCSSxDQXU4QlYsMEJBQTBCLENBWXRCLHlCQUF5QixDQUN2Qix3QkFBd0IsQ0FBQyxVQUFVLENBQUM7UUFDbEMsVUFBVSxFQUFFLENBQUMsR0FDZDtFQXQ5QlQsQUE0OUJJLFlBNTlCUSxBQTI5QlQsaUJBQWlCLENBQ2hCLFdBQVcsQ0FBQztJQUNWLEtBQUssRVR6OEJDLE9BQU8sR1MwOEJkO0VBOTlCTCxBQWkrQkUsWUFqK0JVLEFBaStCVCxZQUFZLEVBaitCZixZQUFZLEFBaytCVCxVQUFVLENBQUM7SWhCLzlCWixLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxK0IxQztJQXorQkgsQWhCTUUsWWdCTlUsQUFpK0JULFlBQVksQWhCMzlCWixXQUFXLEVnQk5kLFlBQVksQUFrK0JULFVBQVUsQWhCNTlCVixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUFpK0JFLFlBaitCVSxBQWkrQlQsWUFBWSxFQWorQmYsWUFBWSxBQWsrQlQsVUFBVSxDQUFDO1FqQm4zQlosV0FBVyxFRnpFSCxRQUFZO1FHbkNwQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxK0IxQztRQXorQkgsQWhCTUUsWWdCTlUsQUFpK0JULFlBQVksQWhCMzlCWixXQUFXLEVnQk5kLFlBQVksQUFrK0JULFVBQVUsQWhCNTlCVixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFZ0JSSCxBQTIrQkUsWUEzK0JVLENBMitCVixrQkFBa0IsQ0FBQztJaEJ4K0JuQixLQUFLLEVIbUNHLElBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxL0IxQztJQXovQkgsQWhCTUUsWWdCTlUsQ0EyK0JWLGtCQUFrQixBaEJyK0JqQixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVFLOUMsQUEyK0JFLFlBMytCVSxDQTIrQlYsa0JBQWtCLENBQUM7UWpCNTNCbkIsV0FBVyxFRnpFSCxRQUFZO1FHbkNwQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxL0IxQztRQXovQkgsQWhCTUUsWWdCTlUsQ0EyK0JWLGtCQUFrQixBaEJyK0JqQixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUEyK0JFLFlBMytCVSxDQTIrQlYsa0JBQWtCLENBQUM7UWpCNTNCbkIsV0FBVyxFRnpFSCxTQUFZO1FHbkNwQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxL0IxQztRQXovQkgsQWhCTUUsWWdCTlUsQ0EyK0JWLGtCQUFrQixBaEJyK0JqQixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJZ0JSSCxBQXMvQkksWUF0L0JRLENBMitCVixrQkFBa0IsQ0FXaEIsWUFBWSxDQUFDO01BQ1gsVUFBVSxFQUFFLElBQUksR0FDakI7RUF4L0JMLEFBNC9CSSxZQTUvQlEsQUEyL0JULFlBQVksQ0FDWCxxQkFBcUIsQ0FBQztJQUNwQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQTkvQkwsQUFrZ0NJLFlBbGdDUSxBQWlnQ1QsY0FBYyxDQUNiLGVBQWUsQ0FBQztJQUNkLEtBQUssRUFBRSxJQUFJLEdBYVo7SUFoaENMLEFBcWdDTSxZQXJnQ00sQUFpZ0NULGNBQWMsQ0FDYixlQUFlLEFBR1osVUFBVyxDUDl6QlEsQ0FBQyxFTzh6Qk47TUFDYixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJUjVnQ0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNUUs5QyxBQWtnQ0ksWUFsZ0NRLEFBaWdDVCxjQUFjLENBQ2IsZUFBZSxDQUFDO1FoQi8vQmxCLEtBQUssRUhtQ0csTUFBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQjRnQ3hDO1FBaGhDTCxBaEJNRSxZZ0JOVSxBQWlnQ1QsY0FBYyxDQUNiLGVBQWUsQWhCNS9CaEIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7UWdCUkgsQUFxZ0NNLFlBcmdDTSxBQWlnQ1QsY0FBYyxDQUNiLGVBQWUsQUFHWixVQUFXLENQOXpCUSxDQUFDLEVPcTBCSjtVQUNiLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7RUE5Z0NULEFBcWhDTSxZQXJoQ00sQUFtaENULFdBQVcsQ0FFUCxvQkFBUyxDQUFDO0lBQ1QsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtJQUNkLHFCQUFxQixFQUFFLGVBQWU7SUFDdEMsYUFBYSxFQUFFLEtBQUssR0FLckI7SVIzaENELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUFxaENNLFlBcmhDTSxBQW1oQ1QsV0FBVyxDQUVQLG9CQUFTLENBQUM7UUFNVCxPQUFPLEVBQUUsTUFBTTtRQUNmLGFBQWEsRUFBRSxLQUFLLEdBRXJCO0VBOWhDUCxBQWlpQ1EsWUFqaUNJLEFBbWhDVCxXQUFXLENBY0wseUJBQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFuaUNULEFBcWlDUSxZQXJpQ0ksQUFtaENULFdBQVcsQ0FrQkwsNEJBQVUsQ0FBQztJQUNWLFdBQVcsRUFBRSxPQUFPLEdBQ3JCO0VScGlDSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBZ2lDTSxZQWhpQ00sQUFtaENULFdBQVcsQ0FhUCxrQkFBTyxDQUFDO01BVUwsS0FBSyxFQUFFLElBQUksR0FrQ2Q7TUE1a0NQLEFBaWlDUSxZQWppQ0ksQUFtaENULFdBQVcsQ0FjTCx5QkFBTyxDQVdHO1FBQ1AsT0FBTyxFQUFFLEtBQUssR0FDZjtNQTlpQ1gsQUFnakNVLFlBaGpDRSxBQW1oQ1QsV0FBVyxDQTZCSCxnQ0FBYyxDQUFDO1FBQ2QsV0FBVyxFQUFFLFVBQVU7UUFDdkIsUUFBUSxFQUFFLENBQUMsR0FDWjtNQW5qQ1gsQUFxakNVLFlBcmpDRSxBQW1oQ1QsV0FBVyxDQWtDSCwrQkFBYSxDQUFDO1FBQ2IsV0FBVyxFQUFFLFVBQVU7UUFDdkIsUUFBUSxFQUFFLENBQUM7UUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtNQXpqQ1gsQUEyakNVLFlBM2pDRSxBQW1oQ1QsV0FBVyxDQXdDSCw2QkFBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLFVBQVU7UUFDdkIsUUFBUSxFQUFFLENBQUMsR0FDWjtNQTlqQ1gsQUFxaUNRLFlBcmlDSSxBQW1oQ1QsV0FBVyxDQWtCTCw0QkFBVSxDQTJCRztRQUNWLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsVUFBVSxFQUFFLEdBQUcsR0FDaEI7RUFHSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lBdmtDakQsQUFxakNVLFlBcmpDRSxBQW1oQ1QsV0FBVyxDQWtDSCwrQkFBYSxDQW1CQztNQUNiLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VSL2tDTCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRSzlDLEFBa2xDTSxZQWxsQ00sQUFnbENULGNBQWMsQ0FFWCxTQUFTLEVBbGxDZixZQUFZLEFBZ2xDVCxjQUFjLENTMXdCakIsTUFBTTtJVHRVTixZQUFZLEFBZ2xDVCxjQUFjLENTendCakIsd0JBQXdCLENUMndCUjtNQUVSLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0VSbGxDRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBa2xDTSxZQWxsQ00sQUFnbENULGNBQWMsQ0FFWCxTQUFTLEVBbGxDZixZQUFZLEFBZ2xDVCxjQUFjLENTMXdCakIsTUFBTTtJVHRVTixZQUFZLEFBZ2xDVCxjQUFjLENTendCakIsd0JBQXdCLENUa3hCUjtNaEJ0bENkLEtBQUssRUhtQ0csTUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQnVsQ3RDO01BM2xDUCxBaEJNRSxZZ0JOVSxBQWdsQ1QsY0FBYyxDQVNYLFNBQVMsQWhCbmxDWixXQUFXLEVnQk5kLFlBQVksQUFnbENULGNBQWMsQ1Mxd0JqQixNQUFNLEF6QmhVSCxXQUFXO01nQk5kLFlBQVksQUFnbENULGNBQWMsQ1N6d0JqQix3QkFBd0IsQXpCalVyQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJZ0JSSCxBQTZsQ00sWUE3bENNLEFBZ2xDVCxjQUFjLENBYVgsTUFBTSxDQUFDO01BQ0wsS0FBSyxFQUFFLEtBQUssR0FDYjtFQS9sQ1AsQUFtbUNNLFlBbm1DTSxBQWdsQ1QsY0FBYyxDQW1CVixtQkFBSyxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsZ0JBQWdCLEVBQUUsT0FBcUI7SUFDdkMsVUFBVSxFQUFFLElBQUksR0FzQmpCO0lBOW5DUCxBQTBtQ1EsWUExbUNJLEFBZ2xDVCxjQUFjLENBMEJSLDJCQUFRLENBQUM7TUFDUixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLFlBQVksR0FLdEI7TVIvbUNILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUEwbUNRLFlBMW1DSSxBQWdsQ1QsY0FBYyxDQTBCUiwyQkFBUSxDQUFDO1VBTU4sT0FBTyxFQUFFLElBQUksR0FFaEI7SUFsbkNULEFBb25DUSxZQXBuQ0ksQUFnbENULGNBQWMsQ0FvQ1IsNEJBQVMsQ0FBQztNQUNULE9BQU8sRUFBRSxJQUFJLEdBUWQ7TVIxbkNILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUFvbkNRLFlBcG5DSSxBQWdsQ1QsY0FBYyxDQW9DUiw0QkFBUyxDQUFDO1VBSVAsU0FBUyxFQUFFLEtBQUs7VUFDaEIsTUFBTSxFQUFFLEtBQUs7VUFFYixPQUFPLEVBQUUsS0FBSyxHQUVqQjtFQTduQ1QsQUFnb0NNLFlBaG9DTSxBQWdsQ1QsY0FBYyxDQWdEVixvQkFBTSxDQUFDO0loQjduQ1osS0FBSyxFSG1DRyxJQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkI7SWdCOG5DckMsUUFBUSxFQUFFLFFBQVEsR0FlbkI7SUFqcENQLEFoQk1FLFlnQk5VLEFBZ2xDVCxjQUFjLENBZ0RWLG9CQUFNLEFoQjFuQ1YsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SWdCUkgsQUFvb0NRLFlBcG9DSSxBQWdsQ1QsY0FBYyxDQWdEVixvQkFBTSxBQUlKLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxJQUFJO01BQ1YsR0FBRyxFQUFFLENBQUM7TUFDTixXQUFXLEVUOW5DVCxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSztNUytuQ3BDLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lSeG9DSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01RSC9DLEFBZ29DTSxZQWhvQ00sQUFnbENULGNBQWMsQ0FnRFYsb0JBQU0sQ0FBQztRQWNKLFdBQVcsRUFBRSxJQUFJO1FoQjNvQ3pCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQjZvQ3RDO1FBanBDUCxBaEJNRSxZZ0JOVSxBQWdsQ1QsY0FBYyxDQWdEVixvQkFBTSxBaEIxbkNWLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VnQlJILEFBb3BDSSxZQXBwQ1EsQUFnbENULGNBQWMsQ0FvRWIsTUFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLElBQUksR0FDcEI7RUF0cENMLEFBd3BDSSxZQXhwQ1EsQUFnbENULGNBQWMsQ0F3RWIsWUFBWSxDQUFDO0lBQ1gsV0FBVyxFQUFFLE1BQU0sR0FpQnBCO0lBMXFDTCxBQTJwQ00sWUEzcENNLEFBZ2xDVCxjQUFjLENBMkVWLHFCQUFTLENBQUM7TVIxbENmLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFFBQUM7TVEybENMLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFdBQVcsRUFBRSxJQUFJLEdBS2xCO01SaHFDRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRSC9DLEFBMnBDTSxZQTNwQ00sQUFnbENULGNBQWMsQ0EyRVYscUJBQVMsQ0FBQztVQU1QLFdBQVcsRUFBRSxDQUFDLEdBRWpCO0lBbnFDUCxBQXFxQ00sWUFycUNNLEFBZ2xDVCxjQUFjLENBcUZWLGtCQUFNLENBQUM7TUFDTixXQUFXLEVBQUUsR0FBRztNQUNoQixLQUFLLEVUanBDQyxPQUFPO01Ta3BDYixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBenFDUCxBQStxQ0ksWUEvcUNRLEFBNnFDVCxVQUFVLENBRVQsVUFBVSxFQS9xQ2QsWUFBWSxBQThxQ1QsZ0JBQWdCLENBQ2YsVUFBVSxDQUFDO0lSOW1DYixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxJQUFDO0lBSVgsV0FBVyxFQUFDLElBQUM7SUFDYixXQUFXLEVBQUMsU0FBQyxHUWlvQ1Y7SVJyc0NDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVFIL0MsQUErcUNJLFlBL3FDUSxBQTZxQ1QsVUFBVSxDQUVULFVBQVUsRUEvcUNkLFlBQVksQUE4cUNULGdCQUFnQixDQUNmLFVBQVUsQ0FBQztRUjltQ2IsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsT0FBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLFFBQUMsR1Fpb0NWO0lBeHNDTCxBQXNyQ00sWUF0ckNNLEFBNnFDVCxVQUFVLENBRVQsVUFBVSxDQU9SLE9BQU8sRUF0ckNiLFlBQVksQUE4cUNULGdCQUFnQixDQUNmLFVBQVUsQ0FPUixPQUFPLENBQUM7TUFDTixhQUFhLEVBQUUsSUFBSSxHQU9wQjtNUjNyQ0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUUgvQyxBQXNyQ00sWUF0ckNNLEFBNnFDVCxVQUFVLENBRVQsVUFBVSxDQU9SLE9BQU8sRUF0ckNiLFlBQVksQUE4cUNULGdCQUFnQixDQUNmLFVBQVUsQ0FPUixPQUFPLENBQUM7VUFJSixhQUFhLEVBQUUsSUFBSTtVQUVuQixLQUFLLEVBQUUsR0FBRyxHQUViO0lBOXJDUCxBQWdzQ00sWUFoc0NNLEFBNnFDVCxVQUFVLENBbUJOLG1CQUFTLEVBaHNDaEIsWUFBWSxBQThxQ1QsZ0JBQWdCLENBa0JaLG1CQUFTLENBQUM7TUFDVCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQWxzQ1AsQUFvc0NNLFlBcHNDTSxBQTZxQ1QsVUFBVSxDQXVCTixzQkFBWSxFQXBzQ25CLFlBQVksQUE4cUNULGdCQUFnQixDQXNCWixzQkFBWSxDQUFDO01BQ1osV0FBVyxFQUFFLEdBQUcsR0FFakI7RUF2c0NQLEFBMHNDSSxZQTFzQ1EsQUE2cUNULFVBQVUsQ0E2QlQsUUFBUSxFQTFzQ1osWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSxLQUFLLEdBNENqQjtJQXp2Q0wsQUErc0NNLFlBL3NDTSxBQTZxQ1QsVUFBVSxDQTZCVCxRQUFRLEFBS0wsWUFBWSxFQS9zQ25CLFlBQVksQUE4cUNULGdCQUFnQixDQTRCZixRQUFRLEFBS0wsWUFBWSxDQUFDO01BQ1osVUFBVSxFQUFFLENBQUMsR0FDZDtJQWp0Q1AsQUFtdENNLFlBbnRDTSxBQTZxQ1QsVUFBVSxDQTZCVCxRQUFRLENBU04sYUFBYSxFQW50Q25CLFlBQVksQUE4cUNULGdCQUFnQixDQTRCZixRQUFRLENBU04sYUFBYSxDQUFDO01BQ1osUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLENBQUMsR0FPUjtNUnp0Q0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRUUgvQyxBQW10Q00sWUFudENNLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsQ0FTTixhQUFhLEVBbnRDbkIsWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQ0FTTixhQUFhLENBQUM7VUFJVixHQUFHLEVBQUUsR0FBRyxHQUtYO1VBNXRDUCxBQXd0Q1UsWUF4dENFLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsQ0FTTixhQUFhLENBS1QsS0FBSyxFQXh0Q2YsWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQ0FTTixhQUFhLENBS1QsS0FBSyxDQUFDO1lBQ0osT0FBTyxFQUFFLEtBQUssR0FDZjtJUnZ0Q0wsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUUgvQyxBQTBzQ0ksWUExc0NRLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsRUExc0NaLFlBQVksQUE4cUNULGdCQUFnQixDQTRCZixRQUFRLENBQUM7UUFxQkwsWUFBWSxFQUFFLEtBQUs7UUFDbkIsYUFBYSxFQUFFLEtBQUs7UWhCN3RDMUIsS0FBSyxFSG1DRyxNQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCcXZDeEM7UUF6dkNMLEFBa3VDUSxZQWx1Q0ksQUE2cUNULFVBQVUsQ0E2QlQsUUFBUSxBQXdCSCxZQUFZLEVBbHVDckIsWUFBWSxBQTZxQ1QsVUFBVSxDQTZCVCxRQUFRLEFBeUJILFVBQVcsQ1A1aENNLENBQUMsR092TTNCLFlBQVksQUE4cUNULGdCQUFnQixDQTRCZixRQUFRLEFBd0JILFlBQVksRUFsdUNyQixZQUFZLEFBOHFDVCxnQkFBZ0IsQ0E0QmYsUUFBUSxBQXlCSCxVQUFXLENQNWhDTSxDQUFDLEVPNGhDSjtVQUNiLFVBQVUsRUFBRSxDQUFDLEdBQ2Q7UUFydUNULEFoQk1FLFlnQk5VLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsQWhCcHNDVCxXQUFXLEVnQk5kLFlBQVksQUE4cUNULGdCQUFnQixDQTRCZixRQUFRLEFoQnBzQ1QsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7UWdCUkgsQUF5dUNRLFlBenVDSSxBQTZxQ1QsVUFBVSxDQTZCVCxRQUFRLEFBK0JILFVBQVcsQ0FBQSxHQUFHLEdBenVDdkIsWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQUErQkgsVUFBVyxDQUFBLEdBQUcsRUFBRTtVQUNmLFlBQVksRUFBRSxJQUFJLEdBQ25CO1FBM3VDVCxBQTR1Q1EsWUE1dUNJLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsQUFrQ0gsVUFBVyxDQUFBLElBQUksR0E1dUN4QixZQUFZLEFBOHFDVCxnQkFBZ0IsQ0E0QmYsUUFBUSxBQWtDSCxVQUFXLENBQUEsSUFBSSxFQUFFO1VBQ2hCLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lBOXVDVCxBQWl2Q00sWUFqdkNNLEFBNnFDVCxVQUFVLENBNkJULFFBQVEsQ0F1Q04sRUFBRSxFQWp2Q1IsWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQ0F1Q04sRUFBRSxDQUFDO01BQ0QsVUFBVSxFQUFFLElBQUksR0FNakI7TUF4dkNQLEFBb3ZDUSxZQXB2Q0ksQUE2cUNULFVBQVUsQ0E2QlQsUUFBUSxDQXVDTixFQUFFLENBR0EsRUFBRSxFQXB2Q1YsWUFBWSxBQThxQ1QsZ0JBQWdCLENBNEJmLFFBQVEsQ0F1Q04sRUFBRSxDQUdBLEVBQUUsQ0FBQztRQUNELFVBQVUsRUFBRSxPQUFPO1FBQ25CLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VScHZDSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBNnZDSSxZQTd2Q1EsQUE0dkNULFdBQVcsQ0FDVixLQUFLLENBQUM7TWhCMXZDUixLQUFLLEVIbUNHLE1BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0I2dkN4QztNQWp3Q0wsQWhCTUUsWWdCTlUsQUE0dkNULFdBQVcsQ0FDVixLQUFLLEFoQnZ2Q04sV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRSC9DLEFBbXdDSSxZQW53Q1EsQUE0dkNULFdBQVcsQ0FPVixXQUFXLENBQUM7TWpCcHBDZCxXQUFXLEVGekVILFFBQVksR21CaXVDakI7RVJwd0NDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVFIL0MsQUF5d0NJLFlBendDUSxBQTR2Q1QsV0FBVyxDQWFWLFlBQVksQ0FBQztNakIxcENmLFdBQVcsRUZ6RUgsU0FBWSxHbUJ1dUNqQjtFQTd3Q0wsQUFneENFLFlBaHhDVSxBQWd4Q1QsaUJBQWlCLENBQUM7SUFDakIsYUFBYSxFQUFFLEVBQUUsR0EwRGxCO0lBMzBDSCxBQW14Q0ksWUFueENRLEFBZ3hDVCxpQkFBaUIsQUFHZixZQUFZLEdBQUcsWUFBWSxDQUFDO01BQzNCLE1BQU0sRUFBRSxhQUFhLEdBT3RCO01SeHhDQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRSC9DLEFBbXhDSSxZQW54Q1EsQUFneENULGlCQUFpQixBQUdmLFlBQVksR0FBRyxZQUFZLENBQUM7VUFHekIsTUFBTSxFQUFFLGVBQWUsR0FLMUI7TUEzeENMLEFBd3hDTSxZQXh4Q00sQUFneENULGlCQUFpQixBQUdmLFlBQVksR0FBRyxZQUFZLEFBS3pCLGlCQUFpQixDQUFDO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7SUExeENQLEFBb3lDTSxZQXB5Q00sQUFneENULGlCQUFpQixDQW9CYix1QkFBTSxDQUFDO01SeGdDWixLQUFLLEVBQUUsb0JBQW9CO01BQzNCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRUFBRSxJQUFJO01BRWxCLFFBQVEsRUFBRSxNQUFNO01BQ2hCLFNBQVMsRUFBRSxhQUFhLENBQUMsVUFBVSxHUXFnQzlCO01SbHZDSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FRcEQ3QyxBQW95Q00sWUFweUNNLEFBZ3hDVCxpQkFBaUIsQ0FvQmIsdUJBQU0sQ0FBQztVUmhnQ1YsS0FBSyxFQUFFLE1BQU07VUFDYixXQUFXLEVBQUUsTUFBTSxHUWlnQ2hCO01BdHlDUCxBUndTRSxZUXhTVSxBQWd4Q1QsaUJBQWlCLENBb0JiLHVCQUFNLEFSNS9CVixvQkFBb0IsQ0FBQztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFdBQVcsRUFBRSxDQUFDLEdBS2Y7UUE1U0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtVUUgvQyxBUndTRSxZUXhTVSxBQWd4Q1QsaUJBQWlCLENBb0JiLHVCQUFNLEFSNS9CVixvQkFBb0IsQ0FBQztZQUtsQixLQUFLLEVBQUUsTUFBTSxHQUVoQjtNUS9TSCxBUmlURSxZUWpUVSxBQWd4Q1QsaUJBQWlCLENBb0JiLHVCQUFNLEFSbi9CVixhQUFhLENBQUM7UUFDYixRQUFRLEVBQUUsUUFBUSxHQWNuQjtRUWhVSCxBUm9USSxZUXBUUSxBQWd4Q1QsaUJBQWlCLENBb0JiLHVCQUFNLEFSbi9CVixhQUFhLENBR1osS0FBSyxDQUFDO1VBQ0osS0FBSyxFQUFFLElBQUk7VUFDWCxNQUFNLEVBQUUsR0FBRztVQUNYLGdCQUFnQixFRG5TVixPQUFPO1VDb1NiLE9BQU8sRUFBRSxJQUFJO1VBQ2IsS0FBSyxFQUFFLElBQUksR0FNWjtVQTVUQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1lRSC9DLEFSb1RJLFlRcFRRLEFBZ3hDVCxpQkFBaUIsQ0FvQmIsdUJBQU0sQVJuL0JWLGFBQWEsQ0FHWixLQUFLLENBQUM7Y0FRRixPQUFPLEVBQUUsS0FBSztjQUNkLFVBQVUsRUFBRSxJQUFJLEdBRW5CO0lRL1RMLEFBd3lDTSxZQXh5Q00sQUFneENULGlCQUFpQixDQXdCYix1QkFBTSxDQUFDO01oQnJ5Q1osS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCcTBDdEM7TUF6MENQLEFoQk1FLFlnQk5VLEFBZ3hDVCxpQkFBaUIsQ0F3QmIsdUJBQU0sQWhCbHlDVixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVFIL0MsQUF3eUNNLFlBeHlDTSxBQWd4Q1QsaUJBQWlCLENBd0JiLHVCQUFNLENBQUM7VWhCcnlDWixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JxMEN0QztVQXowQ1AsQWhCTUUsWWdCTlUsQUFneENULGlCQUFpQixDQXdCYix1QkFBTSxBaEJseUNWLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01nQlJILEFBK3lDUSxZQS95Q0ksQUFneENULGlCQUFpQixDQStCWCxrQ0FBVyxDQUFDO1FSOXVDbkIsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsUUFBQztRUSt1Q0gsV0FBVyxFVHJ5Q1AsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtRU3N5QzdDLGFBQWEsRUFBRSxPQUFPLEdBQ3ZCO01BbnpDVCxBQXF6Q1EsWUFyekNJLEFBZ3hDVCxpQkFBaUIsQ0FxQ1gsZ0NBQVMsQ0FBQztRQUNULFNBQVMsRUFBRSxNQUFNLEdBQ2xCO01BdnpDVCxBQXl6Q1EsWUF6ekNJLEFBZ3hDVCxpQkFBaUIsQ0F5Q1gsbUNBQVksQ0FBQztRQUNaLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFVBQVUsRUFBRSxJQUFJO1FSMXZDeEIsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsSUFBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLFNBQUMsR1Fpd0NOO1FSNzBDSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VRSzlDLEFBeXpDUSxZQXp6Q0ksQUFneENULGlCQUFpQixDQXlDWCxtQ0FBWSxDQUFDO1lSeHZDcEIsU0FBUyxFQUFDLElBQUM7WUFDWCxTQUFTLEVBQUMsT0FBQztZQUlYLFdBQVcsRUFBQyxJQUFDO1lBQ2IsV0FBVyxFQUFDLFFBQUMsR1Fpd0NOO1FSajBDSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1VRUC9DLEFBeXpDUSxZQXp6Q0ksQUFneENULGlCQUFpQixDQXlDWCxtQ0FBWSxDQUFDO1lBYVYsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBT04sQUFBRCxnQkFBUyxDQUFDO0VBQ1IsYUFBYSxFQUFFLElBQUksR0FXcEI7RVJ4MUNHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVE0MEM1QyxBQUFELGdCQUFTLENBQUM7TUFJTixhQUFhLEVBQUUsSUFBSTtNakJwdUN2QixXQUFXLEVGekVILFNBQVk7TUduQ3BCLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQnUxQzFDO01BWkEsQWhCejBDRCxnQmdCeTBDUyxBaEJ6MENSLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VnQmcxQ0UsQUFBRCxzQkFBTyxDQUFDO0lBQ04sVUFBVSxFQUFFLElBQUksR0FDakI7O0FBS0wsQUFDRSxTQURPLENBQ1Asc0JBQXNCLENBQUM7RUFDckIsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFJQSxBQUFELG9CQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxJQUFJLEdBc0JwQjs7QVJsMkNDLE1BQU0sTUFBQyxNQUFrQixNQXZDQyxTQUFTLEVBQUUsS0FBSyxPQXVDbEMsU0FBUyxFQUFFLEtBQUs7RVEwMEN6QixBQUFELG9CQUFTLENBQUM7SWhCbjJDVixLQUFLLEVIbUNHLE1BQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0IwM0MxQztJQXhCQSxBaEJoMkNELG9CZ0JnMkNTLEFoQmgyQ1IsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SWdCODFDQSxBaEJ6eUNELG9CZ0J5eUNTLEFoQnp5Q1IsVUFBVyxDQUFBLEVBQUUsRUFBTztNQUNuQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUXBFRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRMjJDM0MsQUFBRCxvQkFBUyxDQUFDO01BWU4sYUFBYSxFQUFFLElBQUksR0FZdEI7RVI5MUNDLE1BQU0sTUFBQyxNQUFtQixNQXJDQSxTQUFTLEVBQUUsS0FBSyxPQXFDbEMsU0FBUyxFQUFFLE1BQU07SVFzMEMxQixBQUFELG9CQUFTLENBQUM7TWhCbjJDVixLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0IwM0MxQztNQXhCQSxBaEJoMkNELG9CZ0JnMkNTLEFoQmgyQ1IsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7TWdCODFDQSxBaEJ6eUNELG9CZ0J5eUNTLEFoQnp5Q1IsVUFBVyxDQUFBLEVBQUUsRUFBTztRQUNuQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUTVERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRbTJDNUMsQUFBRCxvQkFBUyxDQUFDO01oQm4yQ1YsS0FBSyxFSG1DRyxPQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCMDNDMUM7TUF4QkEsQWhCaDJDRCxvQmdCZzJDUyxBaEJoMkNSLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01nQjgxQ0EsQWhCenlDRCxvQmdCeXlDUyxBaEJ6eUNSLFVBQVcsQ0FBQSxFQUFFLEVBQU87UUFDbkIsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FnQmswQ0gsQUFBQSxxQ0FBcUM7QUFDckMsb0NBQW9DO0FBQ3BDLHNDQUFzQyxDQUFDO0VBQ3JDLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBQ0QsQUFDRSwwQkFEd0IsQ0FDeEIsZUFBZSxDQUFDO0VBQ2QsTUFBTSxFQUFFLFNBQVMsR0FDbEI7O0FSOTRDRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VRczRDOUMsQUFBQSxxQ0FBcUM7RUFDckMsb0NBQW9DO0VBQ3BDLHNDQUFzQyxDQVlHO0lBQ3JDLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFDRCxBQUFBLDBCQUEwQixDQUFDO0loQi80QzNCLEtBQUssRUhtQ0csTUFBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQms2QzFDO0lBcEJELEFoQjU0Q0EsMEJnQjQ0QzBCLEFoQjU0Q3pCLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lnQjgzQ0gsQUFDRSwwQkFEd0IsQ0FDeEIsZUFBZSxDQWNHO01BQ2QsTUFBTSxFQUFFLE1BQU0sR0FDZjtJQUxILEFBT0UsMEJBUHdCLENBT3hCLHFDQUFxQyxDQUFDO01BQ3BDLFlBQVksRUFBRSxNQUFNLEdBQ3JCO0lBVEgsQUFVRSwwQkFWd0IsQ0FVeEIsb0NBQW9DLENBQUM7TUFDbkMsYUFBYSxFQUFFLE1BQU0sR0FDdEI7SUFaSCxBQWFFLDBCQWJ3QixDQWF4QixzQ0FBc0MsQ0FBQztNQUNyQyxhQUFhLEVBQUUsTUFBTSxHQUN0QjtJQWZILEFBaUJFLDBCQWpCd0IsQ0FpQnhCLG9DQUFvQyxDQUFDO01BQ25DLE9BQU8sRUFBRSxXQUFXLEdBQ3JCOztBQUlMLEFBQUEsc0JBQXNCLENBQUM7RUFDckIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFaEJ6NkNsQixLQUFLLEVIbUNHLElBQVk7RUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtFZ0IwNkMzQyxhQUFhLEVBQUUsSUFBSSxHQWlDcEI7RUFuQ0QsQWhCdDZDRSxtQmdCczZDaUIsQWhCdDZDaEIsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RWdCbzZDSCxBQUdFLG1CQUhpQixDQUdqQixjQUFjLENBQUM7SUFDYixhQUFhLEVBQUUsTUFBTSxHQUN0QjtFQUxILEFBT0UsbUJBUGlCLENBT2pCLEVBQUUsQ0FBQztJQUNELGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEtBQUssRVRqNkNHLE9BQU87SVNrNkNmLGNBQWMsRUFBRSxHQUFHO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxHQUFHO0lSdjNDbEIsU0FBUyxFQUFDLElBQUM7SUFDWCxTQUFTLEVBQUMsU0FBQztJQUlYLFdBQVcsRUFBQyxJQUFDO0lBQ2IsV0FBVyxFQUFDLFNBQUMsR1FvM0NaO0VBZkgsQUFpQkUsbUJBakJpQixDQWlCakIsRUFBRSxDQUFDO0lBQ0QsUUFBUSxFQUFFLFFBQVEsR0FnQm5CO0lBbENILEFBbUJJLG1CQW5CZSxDQWlCakIsRUFBRSxBQUVDLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxHQUFHO01BQ1osS0FBSyxFVDc2Q0MsT0FBTztNUzg2Q2IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLEtBQUs7TUFDWCxHQUFHLEVBQUUsSUFBSTtNQUNULE9BQU8sRUFBRSxLQUFLLEdBSWY7TVJ0OENDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVF5NkMvQyxBQW1CSSxtQkFuQmUsQ0FpQmpCLEVBQUUsQUFFQyxPQUFPLENBQUM7VUFRTCxJQUFJLEVBQUUsS0FBSyxHQUVkO0lSdDhDQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01ReTZDL0MsQUFpQkUsbUJBakJpQixDQWlCakIsRUFBRSxDQUFDO1FSNTNDSCxTQUFTLEVBQUMsSUFBQztRQUNYLFNBQVMsRUFBQyxPQUFDO1FBSVgsV0FBVyxFQUFDLElBQUM7UUFDYixXQUFXLEVBQUMsUUFBQyxHUXU0Q1o7O0FSMzhDRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VRNjhDL0MsQUFDRSxvQkFEa0IsQ0FDbEIsbUJBQW1CLENBQUM7SWhCOThDcEIsS0FBSyxFSG1DRyxNQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCaTlDMUM7SUFMSCxBaEIxOENFLG9CZ0IwOENrQixDQUNsQixtQkFBbUIsQWhCMzhDbEIsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFUW85Qy9DLEFBQ0Usb0JBRGtCLENBQ2xCLG1CQUFtQixDQUFDO0loQnI5Q3BCLEtBQUssRUhtQ0csU0FBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQnc5QzFDO0lBTEgsQWhCajlDRSxvQmdCaTlDa0IsQ0FDbEIsbUJBQW1CLEFoQmw5Q2xCLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBZ0JzOUNILEFBQ0UsYUFEVyxDQUNYLHdCQUF3QixDQUFDO0VBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBV3BCO0VSaC9DRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRbStDOUMsQUFDRSxhQURXLENBQ1gsd0JBQXdCLENBQUM7TUFHckIsS0FBSyxFQUFFLEdBQUcsR0FTYjtFUngrQ0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUTI5Qy9DLEFBQ0UsYUFEVyxDQUNYLHdCQUF3QixDQUFDO01BTXJCLEtBQUssRUFBRSxHQUFHO01BQ1YsYUFBYSxFQUFFLElBQUksR0FLdEI7RVJwK0NHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SVF1OUMvQyxBQUNFLGFBRFcsQ0FDWCx3QkFBd0IsQ0FBQztNQVVyQixLQUFLLEVBQUUsR0FBRyxHQUViOztBQWJILEFBY0UsYUFkVyxDQWNYLFVBQVUsQ0FBQztFQUNULFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE1BQU0sRUFBRSxZQUFZLEdBSXJCO0VSMytDRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRdTlDL0MsQUFjRSxhQWRXLENBY1gsVUFBVSxDQUFDO01BSVAsTUFBTSxFQUFFLE1BQU0sR0FFakI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixLQUFLLEVBQUUsR0FBRztFQUNWLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFNBQVMsRUFBRSxLQUFLLEdBUWpCO0VScmdESyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRMC9DOUMsQUFBQSxxQkFBcUIsQ0FBQztNQUtsQixLQUFLLEVBQUUsR0FBRztNQUNWLFlBQVksRUFBRSxJQUFJLEdBS3JCO0VSNy9DSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRay9DL0MsQUFBQSxxQkFBcUIsQ0FBQztNQVNsQixLQUFLLEVBQUUsR0FBRyxHQUViOztBQVVELEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENULytDVixPQUFPO0VTZy9DckIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYSxHQUsvQjtFUnhoREssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUStnRDlDLEFBQUEsNEJBQTRCLENBQUM7TUFPekIsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBRUQsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixnQkFBZ0IsRUFBRSxXQUFXO0VScjlDN0IsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsU0FBQztFUXM5Q1gsV0FBVyxFVDVnREMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFUzZnRHJELFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsSUFBSSxHQWFwQjtFQVhDLEFBQUEsT0FBTyxDQUFBLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUFUViw0QkFBNEIsQ0FTRztJQUMzQixLQUFLLEVUeGdETyxPQUFPLEdTNmdEcEI7SUFORCxBQUdFLE9BSEssQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBVFYsNEJBQTRCLENBWXhCLElBQUksQ0FBQztNQUNILE1BQU0sRVQzZ0RJLE9BQU8sR1M0Z0RsQjtFQWRMLEFBaUJFLDRCQWpCMEIsQUFpQnpCLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUdILEFBQUEsbUNBQW1DLENBQUM7RUFDbEMsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsQ0FBQyxHQXNCWDtFQTVCRCxBQVFFLG1DQVJpQyxBQVFoQyxNQUFNLENBQUM7SUFDTixNQUFNLEVBQUUsT0FBTyxHQUNoQjtFUjFqREcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUWdqRDlDLEFBQUEsbUNBQW1DLENBQUM7TUFhaEMsT0FBTyxFQUFFLElBQUksR0FlaEI7RUE1QkQsQUFnQkUsbUNBaEJpQyxDQWdCakMsMEJBQTBCLENBQUM7SUFDekIsUUFBUSxFQUFFLE1BQU07SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBRUQsQUFDRSxPQURLLENBQUEsQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFQXZCVixtQ0FBbUMsQ0F3Qi9CLElBQUksQ0FBQztJQUNILE1BQU0sRVRoakRBLE9BQU8sR1NpakRkOztBQUlMLEFBQUEsMEJBQTBCLENBQUM7RUFDekIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsQ0FBQztFQUNSLFNBQVMsRUFBRSxnQkFBZ0IsR0FZNUI7RUFoQkQsQUFNRSwwQkFOd0IsQ0FNeEIsR0FBRyxDQUFDO0lBQ0YsU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLDJCQUEyQixHQUN4QztFQUVELEFBQ0UsUUFETSxDQVhWLDBCQUEwQixDQVl0QixHQUFHLENBQUM7SUFDRixTQUFTLEVBQUUsU0FBUyxHQUNyQjs7QUFJTCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLEtBQUssRVR4a0RLLE9BQU87RUM2Q2pCLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFNBQUM7RVE0aERYLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDVDFrRGQsT0FBTztFUzJrRGpCLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTSxHQU1wQjtFQUpDLEFBQUEsT0FBTyxDQUFBLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUFSViwyQkFBMkIsQ0FRSTtJQUMzQixLQUFLLEVUL2pEQyxPQUFPO0lTZ2tEYixZQUFZLEVUaGtETixPQUFPLEdTaWtEZDs7QUFHSCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0VSN21ESyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRc21EL0MsQUFBQSwyQkFBMkIsQ0FBQztNQUt4QixhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QUFFRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsS0FBSztFQUNYLEtBQUssRUFBRSxLQUFLO0VBQ1osZ0JBQWdCLEVUcGxEUixPQUFPO0VTcWxEZixPQUFPLEVBQUUsRUFBRTtFQUNYLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0E2QzVDO0VBeERELEFBYUUsc0JBYm9CLEFBYW5CLFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsT0FBTyxDQUFDLElBQUksQ1Q1a0RiLHdDQUF3QyxHUzZrRHBEO0VBakJILEFBbUJFLHNCQW5Cb0IsQUFtQm5CLFNBQVMsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7RVI1b0RHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVF1bkQ5QyxBQUFBLHNCQUFzQixDQUFDO01Bd0JuQixPQUFPLEVBQUUsZUFBZTtNQUN4QixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1Q5bURaLE9BQU87TVMrbURuQixjQUFjLEVBQUUsQ0FBQztNQUNqQixnQkFBZ0IsRUFBRSxXQUFXO01BQzdCLGNBQWMsRUFBRSxHQUFHO01BQ25CLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxJQUFJO01BQ1QsSUFBSSxFQUFFLElBQUk7TUFDVixLQUFLLEVBQUUsSUFBSTtNQUNYLFVBQVUsRUFBRSxJQUFJO01BRWhCLE9BQU8sRUFBRSxDQUFDO01BQ1YsVUFBVSxFQUFFLE9BQU87TUFDbkIsU0FBUyxFQUFFLGdCQUFnQjtNQUMzQixVQUFVLEVBQUUsMkJBQTJCLEdBa0IxQztNQXhERCxBQWFFLHNCQWJvQixBQWFuQixRQUFRLENBMkJHO1FBQ1IsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLEVBQUUsb0JBQWtCLEdBQzlCO01BM0NMLEFBNkNJLHNCQTdDa0IsQUE2Q2pCLGdDQUFnQyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLGFBQWEsR0FDekI7RVJ2cURDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVEwcUQ1QyxBQUFBLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBbkRWLHNCQUFzQixDQW1EUztNQUV6QixZQUFZLEVUcm9ERSxPQUFPLEdTdW9EeEI7O0FBR0gsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixnQkFBZ0IsRUFBRSxXQUFXO0VSNW1EN0IsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsU0FBQztFUTZtRFgsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFVHBxREMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFU3FxRHJELFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLGlCQUFpQjtFQUN4QixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFFbkIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsT0FBTztFQUNuQixTQUFTLEVBQUUsdUJBQXVCLEdBMEhuQztFQXpJRCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksQ0FBQyxFT204Q0U7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUHYvQ1UsQ0FBQyxFT3UvQ0o7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUHYvQ1UsQ0FBQyxFT3UvQ0o7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUHYvQ1UsQ0FBQyxFT3UvQ0o7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxJQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUHYvQ1UsQ0FBQyxFT3UvQ0o7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUHYvQ1UsQ0FBQyxFT3UvQ0o7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksQ0FBQyxFT204Q0U7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksQ0FBQyxFT204Q0U7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksQ0FBQyxFT204Q0U7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxJQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksQ0FBQyxFT204Q0U7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxJQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsSUFBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxJQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQWtCSSxrQkFsQmMsQUFrQmIsVUFBVyxDUG44Q0ksRUFBRSxFT204Q0M7SUFHakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBRlYsS0FBb0IsRUFFTSxTQUFTLENBQUMsS0FBSyxDQUR2QyxLQUFvQixHQUV0QztFQXRCTCxBQXlCRSxrQkF6QmdCLEFBeUJmLGNBQWMsQ0FBQztJQUNkLFVBQVUsRUFBRSxHQUFHLEdBQ2hCO0VBRUQsQUFBQSxTQUFTLENBN0JYLGtCQUFrQixDQTZCSjtJQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLG9CQUFvQixHQUNoQztFUmp0REcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUWlyRDlDLEFBQUEsa0JBQWtCLENBQUM7TUFtQ2YsT0FBTyxFQUFFLEtBQUs7TUFDZCxXQUFXLEVBQUUsQ0FBQztNQUNkLE9BQU8sRUFBRSxNQUFNO01BQ2YsS0FBSyxFQUFDLElBQUk7TUFDVixNQUFNLEVBQUUsSUFBSTtNQUVaLFNBQVMsRUFBRSx1QkFBdUI7TUFDbEMsVUFBVSxFQUFFLDJCQUEyQixHQStGMUM7TUF6SUQsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLENBQUMsRU84OUNJO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsSUFBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1B2L0NVLENBQUMsRU9raERGO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1B2L0NVLENBQUMsRU9raERGO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1B2L0NVLENBQUMsRU9raERGO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1B2L0NVLENBQUMsRU9raERGO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1B2L0NVLENBQUMsRU9raERGO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsSUFBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLENBQUMsRU84OUNJO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLENBQUMsRU84OUNJO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLENBQUMsRU84OUNJO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLENBQUMsRU84OUNJO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEVBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsSUFBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsSUFBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLEtBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsS0FBbUIsR0FFckM7TUFqRFAsQUFrQkksa0JBbEJjLEFBa0JiLFVBQVcsQ1BuOENJLEVBQUUsRU84OUNHO1FBR2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUZWLElBQW1CLEVBRU8sU0FBUyxDQUFDLEtBQUssQ0FEdkMsSUFBbUIsR0FFckM7TUFqRFAsQUF5QkUsa0JBekJnQixBQXlCZixjQUFjLENBMkJHO1FBQ2QsVUFBVSxFQUFFLENBQUMsR0FDZDtNQUVELEFBQUEsZ0NBQWdDLENBeERwQyxrQkFBa0IsQ0F3RHFCO1FBQ2pDLE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLG9CQUFvQixHQUNoQztFUnB1REMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUXlxRC9DLEFBQUEsa0JBQWtCLENBQUM7TVIzbURqQixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxRQUFDLEdRbXZEWjtFQXpJRCxBQWtFRSxrQkFsRWdCLENBa0VoQixJQUFJLENBQUM7SUFDSCxLQUFLLEVUanRERSxPQUFPO0lTa3REZCxVQUFVLEVBQUUsOEVBQThFO0lBQzFGLGNBQWMsRUFBRSxHQUFHLEdBS3BCO0lSM3ZERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RaXJEOUMsQUFrRUUsa0JBbEVnQixDQWtFaEIsSUFBSSxDQUFDO1FBTUQsY0FBYyxFQUFFLENBQUMsR0FFcEI7RVIzdkRHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFpckQ5QyxBQTRFRSxrQkE1RWdCLEdBQWxCLGtCQUFrQixDQTRFVjtNQUdGLFdBQVcsRUFBRSxJQUFJLEdBTXBCO0VSOXZERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lReXFEL0MsQUE0RUUsa0JBNUVnQixHQUFsQixrQkFBa0IsQ0E0RVY7TUFPRixXQUFXLEVBQUUsSUFBSSxHQUVwQjtFQXJGSCxBQTBGSSxrQkExRmMsQUF1RmYsTUFBTSxDQUdMLElBQUksRUExRlIsa0JBQWtCLEFBd0ZmLE1BQU0sQ0FFTCxJQUFJLENBQUM7SUFDSCxLQUFLLEVUanZERyxPQUFPLEdTa3ZEaEI7RUE1RkwsQUErRkUsa0JBL0ZnQixBQStGZixNQUFNLENBQUM7SUFDTixNQUFNLEVBQUUsT0FBTyxHQUNoQjtFQWpHSCxBQXFHSSxrQkFyR2MsQUFtR2YsVUFBVSxDQUVULElBQUksQ0FBQztJQUNILGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDVDl2RGxCLE9BQU87SVMrdkRiLEtBQUssRVQvdkRDLE9BQU8sR1Nxd0RkO0lSOXhEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RaXJEOUMsQUFxR0ksa0JBckdjLEFBbUdmLFVBQVUsQ0FFVCxJQUFJLENBQUM7UUFNRCxNQUFNLEVBQUUsQ0FBQyxHQUVaO0VBR0gsQUFFRSxPQUZLLENBQUEsQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFQWhIVixrQkFBa0IsQ0FrSGQsSUFBSSxDQUFDO0lBQ0gsS0FBSyxFVDd2RFMsT0FBTyxHUzh2RHRCO0VBSkgsQUFNRSxPQU5LLENBQUEsQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFQWhIVixrQkFBa0IsQUFzSGIsVUFBVSxDQUFDLElBQUksQ0FBQztJQUNmLEtBQUssRVQvd0RDLE9BQU8sR1NveERkO0lSN3lEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01RaXlENUMsQUFNRSxPQU5LLENBQUEsQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFQWhIVixrQkFBa0IsQUFzSGIsVUFBVSxDQUFDLElBQUksQ0FBQztRQUliLEtBQUssRVRqd0RILE9BQU8sR1Ntd0RaO0VSN3lEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRaXlENUMsQUFpQkksT0FqQkcsQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBaEhWLGtCQUFrQixBQThIYixNQUFNLENBR0wsSUFBSSxFQWpCUixPQUFPLENBQUEsQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFQWhIVixrQkFBa0IsQUErSGIsTUFBTSxDQUVMLElBQUksQ0FBQztNQUdELEtBQUssRVQzd0RMLE9BQU8sR1M2d0RWOztBQUtQLEFBQUEseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLElBQUksR0FjZDtFUjMwREssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUTR6RDlDLEFBQUEseUJBQXlCLENBQUM7TUFJdEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixnQkFBZ0IsRVR6eURSLE9BQU87TVMweURmLE1BQU0sRUFBRSxJQUFJO01BQ1osTUFBTSxFQUFFLEdBQUc7TUFDWCxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxvQ0FBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxvQ0FBNkIsR0FNckc7RUFIQyxBQUFBLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBWlYseUJBQXlCLENBWU07SUFDM0IsZ0JBQWdCLEVUNXlETCxPQUFPLEdTNnlEbkI7O0FBR0gsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxjQUFjLEVBQUUsSUFBSSxHQVVyQjtFQWpCRCxBQVNFLGlCQVRlLEFBU2QsU0FBUyxDQUFDO0lBQ1QsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsd0JBQXdCLEdBQ3JDO0VBWkgsQUFjRSxpQkFkZSxBQWNkLFVBQVUsQ0FBQztJQUNWLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBR0gsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixhQUFhLEVBQUUsSUFBSSxHQWVwQjtFUjUyREssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUTQxRC9DLEFBQUEsa0JBQWtCLENBQUM7TUFJZixhQUFhLEVBQUUsSUFBSSxHQVl0QjtFUnAzREssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUW8yRDlDLEFBUUksa0JBUmMsQUFRYixVQUFXLENBQUEsSUFBSSxFQUFFO01BQ2hCLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VBVkwsQUFhRSxrQkFiZ0IsQUFhZixXQUFXLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFHSCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxJQUFJLEdBS1o7RVI1M0RLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFzM0Q5QyxBQUFBLHdCQUF3QixDQUFDO01oQjkyRHZCLEtBQUssRUhtQ0csTUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdnQm0zRDVDO01BTkQsQWhCMzJERSx3QmdCMjJEc0IsQWhCMzJEckIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FnQmkzREgsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixLQUFLLEVBQUUsSUFBSSxHQVlaO0VSMzRESyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRODNEOUMsQUFHRSx3QkFIc0IsQ0FHdEIsd0JBQXdCLENBQUM7TUFHckIsS0FBSyxFQUFFLEdBQUcsR0FNYjtFUmw0REcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUXMzRC9DLEFBR0Usd0JBSHNCLENBR3RCLHdCQUF3QixDQUFDO01BT3JCLEtBQUssRUFBRSxHQUFHLEdBRWI7O0FBR0gsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCOztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLENBQUM7RVI3MERSLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLE9BQUM7RVE4MERYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRVQ3M0RLLE9BQU87RVM4M0RqQixjQUFjLEVBQUUsU0FBUztFQUN6QixjQUFjLEVBQUUsR0FBRztFQUNuQixhQUFhLEVBQUUsR0FBRztFQUNsQixXQUFXLEVUejREQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdTZzVEdEQ7RVJqNkRLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFrNUQ5QyxBQUFBLHlCQUF5QixDQUFDO01BV3RCLEtBQUssRUFBRSxDQUFDO01SdjFEVixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxTQUFDO01RdzFEVCxhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxDQUFDO0VBQ1IsYUFBYSxFQUFFLElBQUksR0FLcEI7RVIxNkRLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFtNkQ5QyxBQUFBLHdCQUF3QixDQUFDO01BS3JCLEtBQUssRUFBRSxDQUFDLEdBRVg7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixLQUFLLEVBQUUsQ0FBQztFUnYyRFIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsU0FBQztFUXcyRFgsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFVGg2REQsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7RVNpNkQ1QyxXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtFUnY3REssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJUTQ2RDlDLEFBQUEsd0JBQXdCLENBQUM7TVJ0MkR2QixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxJQUFDLEdRZzNEWjs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLE9BQU8sRUFBRSxJQUFJLEdBTWQ7O0FBRUQsQUFBQSxnQ0FBZ0MsQ0FBQztFUjUzRC9CLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFFBQUM7RVE2M0RYLEtBQUssRVRoNkRJLE9BQU8sR1NpNkRqQjs7QUFHRCxBQUFBLG1DQUFtQztBQUNuQyxpQ0FBaUMsQ0FBQztFaEJqOERoQyxLQUFLLEVIbUNHLElBQVk7RUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHZ0JzOEQ1QztFQVBELEFoQjc3REUsbUNnQjY3RGlDLEFoQjc3RGhDLFdBQVc7RWdCODdEZCxpQ0FBaUMsQWhCOTdEOUIsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lRdzhEOUMsQUFBQSxtQ0FBbUM7SUFDbkMsaUNBQWlDLENBQUM7TWhCajhEaEMsS0FBSyxFSG1DRyxNQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR2dCczhENUM7TUFQRCxBaEI3N0RFLG1DZ0I2N0RpQyxBaEI3N0RoQyxXQUFXO01nQjg3RGQsaUNBQWlDLEFoQjk3RDlCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVFtOUQ5QyxBQUFBLCtCQUErQixDQUFDO0lBRTVCLEtBQUssRUFBRSxHQUFHLEdBRWI7O0FBRUQsQUFBQSw4QkFBOEIsQ0FBQztFQUM3QixZQUFZLEVBQUUsSUFBSSxHQXdDbkI7RVJsZ0VLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVF5OUQ5QyxBQUFBLDhCQUE4QixDQUFDO01BSTNCLFFBQVEsRUFBRSxRQUFRLEdBcUNyQjtFUjEvREssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUWk5RC9DLEFBQUEsOEJBQThCLENBQUM7TUFRM0IsWUFBWSxFQUFFLEtBQUs7TUFDbkIsUUFBUSxFQUFFLFFBQVEsR0FnQ3JCO0VBekNELEFBWUUsOEJBWjRCLEFBWTNCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLEVBQUU7SUFDWCxLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLEdBQUc7SUFDWCxnQkFBZ0IsRVRsOURSLE9BQU87SVNtOURmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsSUFBSSxFQUFFLENBQUM7SUFDUCxXQUFXLEVBQUUsS0FBSztJQUNsQixVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUssQ1RyN0RaLHdDQUF3QyxDU3E3RGIsS0FBSyxHQUM1QztFQXhCSCxBQTBCRSw4QkExQjRCLEFBMEIzQixpQkFBaUIsQUFBQSxNQUFNLENBQUM7SUFDdkIsS0FBSyxFQUFFLElBQUksR0FLWjtJUmovREcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNUWk5RC9DLEFBMEJFLDhCQTFCNEIsQUEwQjNCLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztRQUlyQixLQUFLLEVBQUUsSUFBSSxHQUVkO0VBaENILEFBa0NFLDhCQWxDNEIsR0FBOUIsOEJBQThCLENBa0N0QjtJQUNKLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0lSamdFRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01ReTlEOUMsQUFrQ0UsOEJBbEM0QixHQUE5Qiw4QkFBOEIsQ0FrQ3RCO1FBSUYsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBR0gsQUFBQSw0QkFBNEI7QUFDNUIscUJBQXFCLENBQUMsQ0FBQztBQUN2QixxQkFBcUIsQ0FBQyxFQUFFO0FBQ3hCLHFCQUFxQixDQUFDLENBQUMsQ0FBQztFQUN0QixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBUjFnRUssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFUTRnRTlDLEFBQUEscUNBQXFDLENBQUM7SUFHbEMsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSSxHQUVsQjs7QUFFRCxBQUFBLGlDQUFpQyxDQUFDO0VBQ2hDLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsaUNBQWlDLENBQUM7RUFDaEMsYUFBYSxFQUFFLElBQUksR0FTcEI7RVJsaUVLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVF3aEU5QyxBQUFBLGlDQUFpQyxDQUFDO01BSTlCLGFBQWEsRUFBRSxDQUFDO01BQ2hCLElBQUksRUFBRSxPQUFPO01BQ2IsU0FBUyxFQUFFLEdBQUc7TUFDZCxLQUFLLEVBQUUsQ0FBQztNQUNSLFlBQVksRUFBRSxJQUFJLEdBRXJCOztBQUVELEFBQUEsaUNBQWlDLENBQUM7RUFDaEMsYUFBYSxFQUFFLElBQUksR0FVcEI7RVIvaUVLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVFvaUU5QyxBQUFBLGlDQUFpQyxDQUFDO01BSTlCLGFBQWEsRUFBRSxDQUFDO01BQ2hCLElBQUksRUFBRSxPQUFPO01BQ2IsU0FBUyxFQUFFLEdBQUc7TUFDZCxLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxDQUFDO01BQ1IsV0FBVyxFQUFFLElBQUksR0FFcEI7O0FSL2lFSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VRaWpFOUMsQUFFRSwyQkFGeUIsQ0FFekIsbUNBQW1DLENBQUM7SUFHaEMsS0FBSyxFQUFFLENBQUM7SUFDUixZQUFZLEVBQUUsQ0FBQyxHQUVsQjs7QVJ6akVHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVFpakU5QyxBQVdFLDJCQVh5QixDQVd6QixpQ0FBaUMsQ0FBQztJQUU5QixLQUFLLEVBQUUsQ0FBQztJQUNSLFlBQVksRUFBRSxJQUFJLEdBUXJCOztBUnZrRUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFUWlqRTlDLEFBaUJJLDJCQWpCdUIsQ0FXekIsaUNBQWlDLENBTS9CLGlDQUFpQyxDQUFDO0lBRTlCLGFBQWEsRUFBRSxLQUFLLEdBRXZCOztBQUlMLEFBRUUsMENBRndDLENBRXhDLDhCQUE4QixDQUFDO0VBQzdCLGdCQUFnQixFQUFFLElBQUksR0FLdkI7RUFSSCxBQUtJLDBDQUxzQyxDQUV4Qyw4QkFBOEIsQUFHM0IsaUJBQWlCLEFBQUEsTUFBTSxDQUFDO0lBQ3ZCLGdCQUFnQixFQUFFLEtBQUssR0FDeEI7O0FBT0wsQUFBQSx5QkFBeUI7QUFDekIsaUNBQWlDLENBQUM7RUFDaEMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENUL2hFUCx3Q0FBd0M7RVNnaUVyRCxRQUFRLEVBQUUsUUFBUSxHQW1CbkI7RUF0QkQsQUFLRSx5QkFMdUIsQUFLdEIsT0FBTztFQUpWLGlDQUFpQyxBQUk5QixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsSUFBSTtJQUNULE1BQU0sRUFBRSxHQUFHO0lBQ1gsS0FBSyxFQUFFLENBQUM7SUFDUixnQkFBZ0IsRVQ1a0VSLE9BQU87SVM2a0VmLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDVDVpRVQsd0NBQXdDLEdTa2pFcEQ7S0FKQyxBQUFBLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUFqQkwseUJBQXlCLEFBS3RCLE9BQU8sR0FZTixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCO0lBaEJMLGlDQUFpQyxBQUk5QixPQUFPLENBWWdCO01BQ3BCLGdCQUFnQixFVDlrRU4sT0FBTyxHUytrRWxCOztBQUtMLEFBQ0UsaUNBRCtCLEFBQzlCLE9BQU8sQ0FBQztFQUNQLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7O0FBSUgsQUFLSSx3QkFMb0IsQUFFckIsTUFBTSxDQUdMLHlCQUF5QjtBQUw3Qix3QkFBd0IsQUFFckIsTUFBTSxDQUlMLGlDQUFpQyxFQU5yQyx3QkFBd0IsQUFHckIsTUFBTSxDQUVMLHlCQUF5QjtBQUw3Qix3QkFBd0IsQUFHckIsTUFBTSxDQUdMLGlDQUFpQztBQUxyQywyQkFBMkIsQUFDeEIsTUFBTSxDQUdMLHlCQUF5QjtBQUo3QiwyQkFBMkIsQUFDeEIsTUFBTSxDQUlMLGlDQUFpQztBQUxyQywyQkFBMkIsQUFFeEIsTUFBTSxDQUVMLHlCQUF5QjtBQUo3QiwyQkFBMkIsQUFFeEIsTUFBTSxDQUdMLGlDQUFpQyxDQUFDO0VBQ2hDLFlBQVksRUFBRSxJQUFJLEdBTW5CO0VBYkwsQUFTTSx3QkFUa0IsQUFFckIsTUFBTSxDQUdMLHlCQUF5QixBQUl0QixPQUFPO0VBVGQsd0JBQXdCLEFBRXJCLE1BQU0sQ0FJTCxpQ0FBaUMsQUFHOUIsT0FBTyxFQVRkLHdCQUF3QixBQUdyQixNQUFNLENBRUwseUJBQXlCLEFBSXRCLE9BQU87RUFUZCx3QkFBd0IsQUFHckIsTUFBTSxDQUdMLGlDQUFpQyxBQUc5QixPQUFPO0VBUmQsMkJBQTJCLEFBQ3hCLE1BQU0sQ0FHTCx5QkFBeUIsQUFJdEIsT0FBTztFQVJkLDJCQUEyQixBQUN4QixNQUFNLENBSUwsaUNBQWlDLEFBRzlCLE9BQU87RUFSZCwyQkFBMkIsQUFFeEIsTUFBTSxDQUVMLHlCQUF5QixBQUl0QixPQUFPO0VBUmQsMkJBQTJCLEFBRXhCLE1BQU0sQ0FHTCxpQ0FBaUMsQUFHOUIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ1R2a0ViLHdDQUF3QyxDU3VrRVgsS0FBSyxHQUMxQzs7QUFNUCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBSXBCO0VSdG9FSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lRaW9FL0MsQUFBQSx3QkFBd0IsQ0FBQztNQUdyQixhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QVJ0b0VLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RVF5b0UvQyxBQUFBLGFBQWEsQ0FBQztJQUVWLE1BQU0sRUFBRSxjQUFjLEdBRXpCOztBQ3JxRUQsQUFBQSxhQUFhLENBQUM7RUFDWixjQUFjLEVBQUUsR0FBRyxHQW1McEI7RVRwS0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJU2hCOUMsQUFBQSxhQUFhLENBQUM7TUFJVixjQUFjLEVBQUUsSUFBSSxHQWdMdkI7RVQ1SkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJU3hCL0MsQUFBQSxhQUFhLENBQUM7TUFRVixjQUFjLEVBQUUsSUFBSSxHQTRLdkI7RVR4SkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJUzVCL0MsQUFBQSxhQUFhLENBQUM7TUFZVixPQUFPLEVBQUUsYUFBYSxHQXdLekI7RVQ1SkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJU3hCL0MsQUFlRSxhQWZXLEFBZVYsYUFBYSxDQUFDO01BRVgsY0FBYyxFQUFFLElBQUksR0FFdkI7R0FFRCxBQUFBLEFBQ0UsVUFERCxDQUFXLE1BQU0sQUFBakIsRUFyQkgsYUFBYSxDQXNCVCxtQkFBbUIsQ0FBQztJQUNsQixLQUFLLEVWcUJLLE9BQU8sQ1VyQkssVUFBVSxHQUNqQztHQUhILEFBQUEsQUFLRSxVQUxELENBQVcsTUFBTSxBQUFqQixFQUtFLG1CQUFNLENBQUM7SUFDTixLQUFLLEVWaUJLLE9BQU8sR1VSbEI7S0FmSCxBQUFBLEFBUUksVUFSSCxDQUFXLE1BQU0sQUFBakIsRUFLRSxtQkFBTSxDQUdMLENBQUMsQ0FBQztNQUNBLEtBQUssRVZjRyxPQUFPLEdVVGhCO09BZEwsQUFBQSxBQVdNLFVBWEwsQ0FBVyxNQUFNLEFBQWpCLEVBS0UsbUJBQU0sQ0FHTCxDQUFDLEFBR0UsTUFBTSxDQUFDO1FBQ04sZ0JBQWdCLEVWV1YsT0FBTyxHVVZkO0VBS04sQUFBRCxtQkFBTyxDQUFDO0lqQmZSLEtBQUssRUhtQ0csSUFBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdpQitFMUM7SUFqRUEsQWpCWkQsbUJpQllPLEFqQlpOLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNU2U1QyxBQUFELG1CQUFPLENBQUM7UWpCZlIsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR2lCK0UxQztRQWpFQSxBakJaRCxtQmlCWU8sQWpCWk4sV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SWlCaUJFLEFBQUQsNEJBQVUsQ0FBQztNQUNULFdBQVcsRVZkSCxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdVZWxEO0lBRUEsQUFBRCw0QkFBVSxDQUFDO01BQ1QsU0FBUyxFQUFFLE1BQU0sR0FDbEI7SUFFQSxBQUFELDJCQUFTLENBQUM7TUFDUixVQUFVLEVBQUUsSUFBSTtNVCtCcEIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsSUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLFNBQUMsR1NkVjtNVDlEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FTc0N6QyxBQUFELDJCQUFTLENBQUM7VVRnQ1osU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsT0FBQztVQUlYLFdBQVcsRUFBQyxJQUFDO1VBQ2IsV0FBVyxFQUFDLFFBQUMsR1NkVjtNVHREQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FTOEIxQyxBQUFELDJCQUFTLENBQUM7VUFXTixVQUFVLEVBQUUsSUFBSTtVQUNoQixLQUFLLEVBQUUsR0FBRyxHQVliO01UbERDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVMwQjFDLEFBQUQsMkJBQVMsQ0FBQztVVGdDWixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxNQUFDO1VBSVgsV0FBVyxFQUFDLElBQUM7VUFDYixXQUFXLEVBQUMsUUFBQyxHU2RWO01BeEJBLEFBbUJDLDJCQW5CTyxBQW1CTixhQUFhLENBQUM7UUFDYixVQUFVLEVBQUUsNENBQTRDO1FBQ3hELE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtJQXRDSixBQXlDRyxtQkF6Q0csQUF3Q0osaUJBQWlCLENBQ2hCLDJCQUEyQixBQUFBLGFBQWEsQ0FBQztNQUN2QyxPQUFPLEVBQUUsQ0FBQztNQUNWLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0lBR0YsQUFBRCx3QkFBTSxDQUFDO01BQ0wsS0FBSyxFVjlDQyxPQUFPO01VK0NiLFVBQVUsRUFBRSxJQUFJLEdBZWpCO01BakJBLEFBSUMsd0JBSkksQ0FJSixJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsWUFBWTtRQUNyQixXQUFXLEVBQUUsR0FBRyxHQUtqQjtRQVhGLEFBUUcsd0JBUkUsQ0FJSixJQUFJLEFBSUQsY0FBYyxDQUFDO1VBQ2QsV0FBVyxFQUFFLENBQUMsR0FDZjtNQVZKLEFBYUMsd0JBYkksQ0FhSixDQUFDLEFBQUEsTUFBTSxDQUFDO1FBQ04sZ0JBQWdCLEVWM0RaLE9BQU87UVU0RFgsTUFBTSxFQUFFLEdBQUcsR0FDWjtFQXRHUCxBQXVIRSxhQXZIVyxBQXVIVixLQUFLLENBQUM7SUFDTCxhQUFhLEVBQUUsS0FBSyxHQVVyQjtJVGxIRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01TaEI5QyxBQXVIRSxhQXZIVyxBQXVIVixLQUFLLENBQUM7UUFHSCxhQUFhLEVBQUUsS0FBSyxHQVF2QjtJVDFHRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01TeEIvQyxBQXVIRSxhQXZIVyxBQXVIVixLQUFLLENBQUM7UUFNSCxhQUFhLEVBQUUsS0FBSyxHQUt2QjtJVHRHRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01TNUIvQyxBQXVIRSxhQXZIVyxBQXVIVixLQUFLLENBQUM7UUFTSCxhQUFhLEVBQUUsR0FBRyxHQUVyQjtFQWxJSCxBQW9JRSxhQXBJVyxBQW9JVixRQUFRLENBQUM7SUFDUixhQUFhLEVBQUUsSUFBSSxHQU9wQjtJVDVIRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01TaEI5QyxBQW9JRSxhQXBJVyxBQW9JVixRQUFRLENBQUM7UUFHTixhQUFhLEVBQUUsS0FBSyxHQUt2QjtJVGhIRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01TNUIvQyxBQW9JRSxhQXBJVyxBQW9JVixRQUFRLENBQUM7UUFNTixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQTVJSCxBQThJRSxhQTlJVyxBQThJVixRQUFRLENBQUM7SUFDUixhQUFhLEVBQUUsSUFBSSxHQWNwQjtJVDdJRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01TaEI5QyxBQThJRSxhQTlJVyxBQThJVixRQUFRLENBQUM7UUFHTixhQUFhLEVBQUUsR0FBRyxHQVlyQjtJQTdKSCxBQXNKSSxhQXRKUyxBQThJVixRQUFRLENBUVAsQ0FBQyxDQUFDO01BQ0EsVUFBVSxFQUFFLHVCQUF1QixHQUtwQztNQTVKTCxBQXlKTSxhQXpKTyxBQThJVixRQUFRLENBUVAsQ0FBQyxBQUdFLE1BQU0sQ0FBQztRQUNOLEtBQUssRVZqSEQsT0FBTyxHVWtIWjtFQTNKUCxBQStKRSxhQS9KVyxBQStKVixNQUFNLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSSxHQUlwQjtJVHBKRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01TaEI5QyxBQStKRSxhQS9KVyxBQStKVixNQUFNLENBQUM7UUFHSixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQXBLSCxBQXNLRyxhQXRLVSxBQXNLVCxTQUFTLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSSxHQUlwQjtJVDNKRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01TaEI5QyxBQXNLRyxhQXRLVSxBQXNLVCxTQUFTLENBQUM7UUFHUixhQUFhLEVBQUUsSUFBSSxHQUV0QjtFQTNLSCxBQThLSSxhQTlLUyxBQTZLVixJQUFLLENBQUEsYUFBYSxFQUNqQixhQUFhLENBQUM7SWpCdEpoQixLQUFLLEVIbUNHLFFBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtJaUJ1SnZDLFdBQVcsRUFBRSxDQUFDO0lBQ2QsVUFBVSxFQUFFLElBQUksR0FDakI7SUFsTEwsQWpCMkJFLGFpQjNCVyxBQTZLVixJQUFLLENBQUEsYUFBYSxFQUNqQixhQUFhLEFqQm5KZCxXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QWlCMEpILEFBQUEsYUFBYSxDQUFDO0VBQ1osYUFBYSxFQUFFLENBQUMsR0FDakI7O0FDdkxELFVBQVU7RUFDUixXQUFXLEVBQUUsT0FBTztFQUNwQixHQUFHLEVBQUUsNkJBQTZCO0VBQ2xDLEdBQUcsRUFBRSxvQ0FBb0MsQ0FBQywyQkFBMkIsRUFDbkUsOEJBQThCLENBQUMsY0FBYyxFQUM3Qyw2QkFBNkIsQ0FBQyxrQkFBa0IsRUFDaEQsMENBQTBDLENBQUMsYUFBYTtFQUMxRCxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTs7Q0FHcEIsQUFBQSxBQUFBLFNBQUMsQUFBQSxDQUFVLE9BQU8sQ0FBQztFQUNqQixTQUFTLEVBQUUsSUFBSTtFQUNmLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGVBQWUsRUFBRSxvQkFBb0I7RUFDckMsa0JBQWtCLEVBQUUsb0JBQW9CO0VBQ3hDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFlBQVksRUFBRSxNQUFNO0VBQ3BCLFdBQVcsRUFBRSxDQUFDO0VBQ2QsZUFBZSxFQUFFLE9BQU87RUFDeEIsY0FBYyxFQUFFLElBQUk7RUFDcEIsdUJBQXVCLEVBQUUsU0FBUztFQUNsQyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsQ0FBQztFQUNkLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0NBRUQsQUFBQSxBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsQ0FBZSxPQUFPO0NBQ3ZCLEFBQUEsS0FBQyxFQUFPLFFBQVEsQUFBZixDQUFnQixPQUFPLENBQUM7RUFDdkIsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsR0FBRztFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixlQUFlLEVBQUUsb0JBQW9CO0VBQ3JDLGtCQUFrQixFQUFFLG9CQUFvQjtFQUN4QyxPQUFPLEVBQUUsWUFBWTtFQUNyQixXQUFXLEVBQUUsT0FBTztFQUNwQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixZQUFZLEVBQUUsTUFBTTtFQUNwQixXQUFXLEVBQUUsQ0FBQztFQUNkLGVBQWUsRUFBRSxPQUFPO0VBQ3hCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLHVCQUF1QixFQUFFLFNBQVM7RUFDbEMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyxLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLENBQUM7RUFDZCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsV0FBVyxBQUFBLE9BQU8sRVRmbEIsQ0FBQyxBQUFBLGVBQWUsQUE2QmIsTUFBTSxBU2RFLE9BQU8sRUg4QmxCLDBCQUEwQixBRzlCZixPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FTTCxJQUFJLEFIOUdDLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUNELEFBQUEsY0FBYyxBQUFBLE9BQU8sQ0FBQztFQUNwQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUNELEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNuQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUNELEFBQUEsZUFBZSxBQUFBLE9BQU8sQ0FBQztFQUNyQixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBQ0QsQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FDNUVELEFBQUEsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLElBQUksR0ErSlo7RUFoS0QsQUFHRSxNQUhJLENBR0osY0FBYyxDQUFDO0lBQ2IsUUFBUSxFQUFFLE1BQU0sR0FzRmpCO0lBMUZILEFBTUksTUFORSxDQU1ELG9CQUFNLENBQUM7TUFDTixjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQVJMLEFBVUksTUFWRSxDQVVELG1CQUFLLENBQUM7TUFDTCxjQUFjLEVBQUUsS0FBSyxHQUN0QjtJQVpMLEFBY0ksTUFkRSxDQWNELG1CQUFLLENBQUM7TUFDTCxjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQWhCTCxBQWtCSSxNQWxCRSxDQWtCRCxxQkFBTyxDQUFDLEtBQUssQ0FBQSxBQUFBLE1BQUMsQUFBQSxFQUFRO01BQ3JCLFVBQVUsRUFBRSxLQUFLLEdBQ2xCO0lBcEJMLEFBdUJNLE1BdkJBLENBR0osY0FBYyxBQW1CWCxJQUFLLENBQUEscUJBQXFCLEVBQ3pCLE9BQU87SUF2QmIsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUV6QixHQUFHO0lBeEJULE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFHekIsS0FBSztJQXpCWCxNQUFNLENBR0osY0FBYyxBQW1CWCxJQUFLLENBQUEscUJBQXFCLEVBSXpCLHNCQUFzQixDQUFDO01BQ3JCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsS0FBSyxHQWlDbEI7TVgyTjBCLFNBQUMsRUFBckIsYUFBYSxFQUFFLElBQUk7UVcxUmhDLEFBdUJNLE1BdkJBLENBR0osY0FBYyxBQW1CWCxJQUFLLENBQUEscUJBQXFCLEVBQ3pCLE9BQU87UUF2QmIsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUV6QixHQUFHO1FBeEJULE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFHekIsS0FBSztRQXpCWCxNQUFNLENBR0osY0FBYyxBQW1CWCxJQUFLLENBQUEscUJBQXFCLEVBSXpCLHNCQUFzQixDQUFDO1VBT25CLEdBQUcsRUFBRSxHQUFHO1VBQ1IsVUFBVSxFQUFFLElBQUk7VUFDaEIsU0FBUyxFQUFFLElBQUk7VUFDZixNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJO1VBQ1gsSUFBSSxFQUFFLEdBQUc7VUFDVCxTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYSxHQXdCakQ7VUEvRFAsQUF5Q1UsTUF6Q0osQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFDekIsT0FBTyxDQWtCSCxHQUFHO1VBekNiLE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFFekIsR0FBRyxDQWlCQyxHQUFHO1VBekNiLE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFHekIsS0FBSyxDQWdCRCxHQUFHO1VBekNiLE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFJekIsc0JBQXNCLENBZWxCLEdBQUcsQ0FBQztZQUNGLElBQUksRUFBRSxDQUFDO1lBQ1AsR0FBRyxFQUFFLENBQUM7WUFDTixTQUFTLEVBQUUsZUFBZSxDQUFDLGFBQWEsR0FDekM7TVh1T1QsTUFBTSxDQUFDLE1BQU0sT0FBTyxnQkFBZ0IsRUFBRSxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsSUFBSTtRV3BSekUsQUF1Qk0sTUF2QkEsQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFDekIsT0FBTztRQXZCYixNQUFNLENBR0osY0FBYyxBQW1CWCxJQUFLLENBQUEscUJBQXFCLEVBRXpCLEdBQUc7UUF4QlQsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUd6QixLQUFLO1FBekJYLE1BQU0sQ0FHSixjQUFjLEFBbUJYLElBQUssQ0FBQSxxQkFBcUIsRUFJekIsc0JBQXNCLENBQUM7VUF1Qm5CLEdBQUcsRUFBRSxHQUFHO1VBQ1IsVUFBVSxFQUFFLElBQUk7VUFDaEIsU0FBUyxFQUFFLElBQUk7VUFDZixNQUFNLEVBQUUsSUFBSTtVQUNaLEtBQUssRUFBRSxJQUFJO1VBQ1gsSUFBSSxFQUFFLEdBQUc7VUFDVCxTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYSxHQVFqRDtVQS9EUCxBQXlDVSxNQXpDSixDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUN6QixPQUFPLENBa0JILEdBQUc7VUF6Q2IsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUV6QixHQUFHLENBaUJDLEdBQUc7VUF6Q2IsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUd6QixLQUFLLENBZ0JELEdBQUc7VUF6Q2IsTUFBTSxDQUdKLGNBQWMsQUFtQlgsSUFBSyxDQUFBLHFCQUFxQixFQUl6QixzQkFBc0IsQ0FlbEIsR0FBRyxDQWdCQztZQUNGLElBQUksRUFBRSxDQUFDO1lBQ1AsR0FBRyxFQUFFLENBQUM7WUFDTixTQUFTLEVBQUUsZUFBZSxDQUFDLGFBQWEsR0FDekM7SUE3RFgsQUEyRUksTUEzRUUsQ0FHSixjQUFjLENBd0VaLFVBQVUsQ0FBQztNQUNULE9BQU8sRUFBRSxLQUFLLEdBYWY7TVgxRUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRV2Y5QyxBQTJFSSxNQTNFRSxDQUdKLGNBQWMsQ0F3RVosVUFBVSxDQUFDO1VBSVAsT0FBTyxFQUFFLElBQUksR0FVaEI7TUF6RkwsQUFrRk0sTUFsRkEsQ0FHSixjQUFjLENBd0VaLFVBQVUsR0FPSixJQUFJLENBQUM7UUFDUCxPQUFPLEVBQUUsSUFBSSxHQUtkO1FYekVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7VVdmOUMsQUFrRk0sTUFsRkEsQ0FHSixjQUFjLENBd0VaLFVBQVUsR0FPSixJQUFJLENBQUM7WUFJTCxPQUFPLEVBQUUsS0FBSyxHQUVqQjtFQXhGUCxBQTRGRSxNQTVGSSxDQTRGSixVQUFVLENBQUM7SUFDVCxVQUFVLEVBQUUsR0FBRztJQUNmLFNBQVMsRUFBRSxLQUFLLEdBaUJqQjtJWHhGRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01XdkIvQyxBQTRGRSxNQTVGSSxDQTRGSixVQUFVLENBQUM7UUFLUCxVQUFVLEVBQUUsSUFBSSxHQWNuQjtJQS9HSCxBQW9HSSxNQXBHRSxDQTRGSixVQUFVLENBUVIsQ0FBQyxDQUFDO01BQ0EsV0FBVyxFQUFFLEdBQUc7TVhoQnBCLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLE9BQUMsR1d3QlI7TVh2RkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRV3ZCL0MsQUFvR0ksTUFwR0UsQ0E0RkosVUFBVSxDQVFSLENBQUMsQ0FBQztVQU1FLFdBQVcsRUFBRSxHQUFHO1VYckJ0QixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxJQUFDLEdXd0JSO0VBOUdMLEFBaUhFLE1BakhJLEFBaUhILEtBQUssQ0FBQztJQUNMLE9BQU8sRUFBRSxJQUFJLEdBS2Q7SVh4R0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNV2Y5QyxBQWlIRSxNQWpISSxBQWlISCxLQUFLLENBQUM7UUFJSCxPQUFPLEVBQUUsS0FBSyxHQUVqQjtFQXZISCxBQTBISSxNQTFIRSxBQXlISCxXQUFXLENBQ1YsT0FBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLEtBQUssR0FLZjtJWGpIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01XZjlDLEFBMEhJLE1BMUhFLEFBeUhILFdBQVcsQ0FDVixPQUFPLENBQUM7UUFJSixPQUFPLEVBQUUsSUFBSSxHQUVoQjtFQWhJTCxBQWtJSSxNQWxJRSxBQXlISCxXQUFXLENBU1YsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FLZDtJWHpIQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01XZjlDLEFBa0lJLE1BbElFLEFBeUhILFdBQVcsQ0FTVixLQUFLLENBQUM7UUFJRixPQUFPLEVBQUUsS0FBSyxHQUVqQjtFQXhJTCxBQTRJSSxNQTVJRSxBQTJJSCxhQUFhLENBQ1osbUJBQW1CLENBQUM7SUFDbEIsT0FBTyxFQUFFLEtBQUssR0FLZjtJWG5JQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01XZjlDLEFBNElJLE1BNUlFLEFBMklILGFBQWEsQ0FDWixtQkFBbUIsQ0FBQztRQUloQixPQUFPLEVBQUUsSUFBSSxHQUVoQjtFQWxKTCxBQW9KSSxNQXBKRSxBQTJJSCxhQUFhLENBU1osT0FBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUMsR0FDWDtFQXRKTCxBQXdKSSxNQXhKRSxBQTJJSCxhQUFhLENBYVosS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLElBQUksR0FLZDtJWC9JQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01XZjlDLEFBd0pJLE1BeEpFLEFBMklILGFBQWEsQ0FhWixLQUFLLENBQUM7UUFJRixPQUFPLEVBQUUsS0FBSyxHQUVqQjs7QUFJTCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxDQUFDO0VYOUVWLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFFBQUM7RVdnRlgsY0FBYyxFQUFFLEtBQUs7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO0VBQzNDLGdCQUFnQixFQUFFLFdBQVc7RUFFN0IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxNQUFNLEdBNEVqQjtFQTNGRCxBQWlCRSxhQWpCVyxBQWlCVixNQUFNLENBQUM7SUFDTixNQUFNLEVBQUUsT0FBTyxHQWtCaEI7SUFwQ0gsQUFvQkksYUFwQlMsQUFpQlYsTUFBTSxDQUdMLFlBQVksQ0FBQztNQUNYLGFBQWEsRUFBRSxJQUFJO01BQ25CLFNBQVMsRUFBRSxTQUFTO01BQ3BCLGdCQUFnQixFQUFFLE1BQU07TUFDeEIsZ0JBQWdCLEVBQUUscUJBQWlDO01BQ25ELGdCQUFnQixFQUFFLHdCQUF3QixHQUMzQztJQTFCTCxBQTRCSSxhQTVCUyxBQWlCVixNQUFNLENBV0wsVUFBVSxBQUFBLE1BQU0sQ0FBQztNQUNmLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxpQkFBaUI7TUFDbEQsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLDBCQUEwQixHQUM3RTtJQS9CTCxBQWlDSSxhQWpDUyxBQWlCVixNQUFNLENBZ0JMLFVBQVUsQ0FBQztNQUNULEtBQUssRVozSUQsT0FBTyxHWTRJWjtFQW5DTCxBQXNDRSxhQXRDVyxDQXNDWCxHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsSUFBSTtJQU1aLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFVBQVUsRUFBRSxxQkFBaUM7SUFDN0MsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxHQUFHLEdBQ25CO0VBbkRILEFBcURFLGFBckRXLENBcURYLFlBQVksQ0FBQztJQUNYLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLElBQUk7SUFDVCxVQUFVLEVBQUUsV0FBVztJQUN2QixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLHVGQUF1RjtJQUNuRyxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQS9ESCxBQW1FSSxhQW5FUyxDQWlFWCxVQUFVLEFBRVAsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO0lBSTVDLFlBQVksRUFBRSxLQUFLO0lBQ25CLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDWnpMN0MsT0FBTztJWTBMWCxVQUFVLEVBQUUsMEJBQTBCLEdBQ3ZDO0VBbEZMLEFBcUZFLGFBckZXLENBcUZYLFVBQVUsQ0FBQztJQUNULFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLHVCQUF1QixHQUNwQzs7QUM3UEgsQUFDRSxZQURVLENBQ1YsRUFBRSxDQUFDO0VBQ0QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsV0FBVyxFQUFFLE9BQU87RUFDcEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsS0FBSyxFYnNDTyxPQUFPLEdhbEJwQjtFQTFCSCxBQVFJLFlBUlEsQ0FDVixFQUFFLEFBT0MsT0FBTyxDQUFDO0laaUlYLGtCQUFrQixFWWhJQSxLQUFLLENBQUMsSUFBSSxDYmtFZix3Q0FBd0MsRWFsRVQsU0FBUyxDQUFDLElBQUksQ2JrRTdDLHdDQUF3QztJQytEckQsZUFBZSxFWWpJRyxLQUFLLENBQUMsSUFBSSxDYmtFZix3Q0FBd0MsRWFsRVQsU0FBUyxDQUFDLElBQUksQ2JrRTdDLHdDQUF3QztJQ2dFckQsY0FBYyxFWWxJSSxLQUFLLENBQUMsSUFBSSxDYmtFZix3Q0FBd0MsRWFsRVQsU0FBUyxDQUFDLElBQUksQ2JrRTdDLHdDQUF3QztJQ2lFckQsYUFBYSxFWW5JSyxLQUFLLENBQUMsSUFBSSxDYmtFZix3Q0FBd0MsRWFsRVQsU0FBUyxDQUFDLElBQUksQ2JrRTdDLHdDQUF3QztJQ2tFckQsVUFBVSxFWXBJUSxLQUFLLENBQUMsSUFBSSxDYmtFZix3Q0FBd0MsRWFsRVQsU0FBUyxDQUFDLElBQUksQ2JrRTdDLHdDQUF3QyxHYWhFbEQ7RUFYTCxBQWNNLFlBZE0sQ0FDVixFQUFFLEFBWUMsTUFBTSxBQUNKLE9BQU8sQ0FBQztJQUNQLEtBQUssRWI2QkcsT0FBTztJQ3FGckIsaUJBQWlCLEVZakhRLGdCQUFnQjtJWmtIekMsY0FBYyxFWWxIVyxnQkFBZ0I7SVptSHpDLGFBQWEsRVluSFksZ0JBQWdCO0lab0h6QyxZQUFZLEVZcEhhLGdCQUFnQjtJWnFIekMsU0FBUyxFWXJIZ0IsZ0JBQWdCLEdBQ3BDO0VBakJQLEFBb0JJLFlBcEJRLENBQ1YsRUFBRSxDQW1CQSxDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFJTCxBQUFBLENBQUMsQUFBQSxTQUFTLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsdUJBQXVCO0FBQ3ZCLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsZ0JBQWdCLEVia0JQLE9BQU8sR2FqQmpCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsZ0JBQWdCLEViYVIsT0FBTyxHYVpoQjs7QUFFRCxBQUFBLGdCQUFnQixFSmhEaEIsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsR0krRkosaUJBQWlCLENBM0RBO0VBQ2YsZ0JBQWdCLEViV1QsT0FBTztFYVZkLEtBQUssRWJOUyxPQUFPLEdhNkR0QjtFQXpERCxBQUlFLGdCQUpjLENBSWQsQ0FBQyxFSnBESCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSXdDRixDQUFDLEVBdURILGlCQUFpQixDQXZEZixDQUFDO0VBSkgsZ0JBQWdCLENBS2QsVUFBVTtFSnJEWixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSXlDRixVQUFVO0VBc0RaLGlCQUFpQixDQXREZixVQUFVLENBQUM7SUFDVCxLQUFLLEViVE0sT0FBTyxHYVVuQjtFQVBILEFBU0UsZ0JBVGMsQ0FTZCxDQUFDLEVKekRILE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJNkNGLENBQUMsRUFrREgsaUJBQWlCLENBbERmLENBQUMsQ0FBQztJQUNBLEtBQUssRWJkTyxPQUFPLEdhZXBCO0VBWEgsQUFhRSxnQkFiYyxDQWFkLEdBQUcsRUo3REwsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUlpREYsR0FBRyxFQThDTCxpQkFBaUIsQ0E5Q2YsR0FBRztFQWJMLGdCQUFnQixDQWNkLEdBQUc7RUo5REwsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUlrREYsR0FBRztFQTZDTCxpQkFBaUIsQ0E3Q2YsR0FBRztFQWRMLGdCQUFnQixDQWVkLEdBQUc7RUovREwsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUltREYsR0FBRztFQTRDTCxpQkFBaUIsQ0E1Q2YsR0FBRztFQWZMLGdCQUFnQixDVndIaEIsVUFBVSxDQVdSLEVBQUU7RUFYSixVQUFVLENVeEhWLGdCQUFnQixDVm1JZCxFQUFFO0VNbkxKLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVONEpKLFVBQVUsQ0FXUixFQUFFO0VBWEosVUFBVSxDTXhLVixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFTnVLRixFQUFFO0VVeEVKLGlCQUFpQixDVjZEakIsVUFBVSxDQVdSLEVBQUU7RUFYSixVQUFVLENVN0RWLGlCQUFpQixDVndFZixFQUFFO0VVbklKLGdCQUFnQixDQWdCZCxHQUFHO0VKaEVMLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJb0RGLEdBQUc7RUEyQ0wsaUJBQWlCLENBM0NmLEdBQUc7RUFoQkwsZ0JBQWdCLENWd0hoQixVQUFVLENBZVIsRUFBRTtFQWZKLFVBQVUsQ1V4SFYsZ0JBQWdCLENWdUlkLEVBQUU7RU12TEosT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRU40SkosVUFBVSxDQWVSLEVBQUU7RUFmSixVQUFVLENNeEtWLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVOMktGLEVBQUU7RVU1RUosaUJBQWlCLENWNkRqQixVQUFVLENBZVIsRUFBRTtFQWZKLFVBQVUsQ1U3RFYsaUJBQWlCLENWNEVmLEVBQUU7RVV2SUosZ0JBQWdCLENWd0hoQixVQUFVLENBZ0JSLEVBQUU7RUFoQkosVUFBVSxDVXhIVixnQkFBZ0IsQ1Z3SWQsRUFBRTtFTXhMSixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFTjRKSixVQUFVLENBZ0JSLEVBQUU7RUFoQkosVUFBVSxDTXhLVixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFTjRLRixFQUFFO0VVN0VKLGlCQUFpQixDVjZEakIsVUFBVSxDQWdCUixFQUFFO0VBaEJKLFVBQVUsQ1U3RFYsaUJBQWlCLENWNkVmLEVBQUU7RVV4SUosZ0JBQWdCLENBaUJkLEdBQUc7RUpqRUwsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUlxREYsR0FBRztFQTBDTCxpQkFBaUIsQ0ExQ2YsR0FBRztFQWpCTCxnQkFBZ0IsQ0FrQmQsR0FBRztFSmxFTCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSXNERixHQUFHO0VBeUNMLGlCQUFpQixDQXpDZixHQUFHO0VBbEJMLGdCQUFnQixDQW1CZCxFQUFFO0VKbkVKLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJdURGLEVBQUU7RUF3Q0osaUJBQWlCLENBeENmLEVBQUU7RUFuQkosZ0JBQWdCLENBb0JkLEVBQUU7RUpwRUosT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUl3REYsRUFBRTtFQXVDSixpQkFBaUIsQ0F2Q2YsRUFBRTtFQXBCSixnQkFBZ0IsQ0FxQmQsRUFBRTtFSnJFSixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSXlERixFQUFFO0VBc0NKLGlCQUFpQixDQXRDZixFQUFFO0VBckJKLGdCQUFnQixDQXNCZCxFQUFFO0VKdEVKLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMERGLEVBQUU7RUFxQ0osaUJBQWlCLENBckNmLEVBQUU7RUF0QkosZ0JBQWdCLENBdUJkLHNCQUFzQjtFSnZFeEIsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyREYsc0JBQXNCO0VBb0N4QixpQkFBaUIsQ0FwQ2Ysc0JBQXNCLENBQUM7SUFDckIsS0FBSyxFYjNCTSxPQUFPLEdhNEJuQjtFQXpCSCxBQTJCRSxnQkEzQmMsQ0EyQmQsTUFBTSxDQUFDLFVBQVUsRUozRW5CLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJK0RGLE1BQU0sQ0FBQyxVQUFVLEVBZ0NuQixpQkFBaUIsQ0FoQ2YsTUFBTSxDQUFDLFVBQVU7RUEzQm5CLGdCQUFnQixDQTRCZCxRQUFRO0VKNUVWLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJZ0VGLFFBQVE7RUErQlYsaUJBQWlCLENBL0JmLFFBQVE7RUE1QlYsZ0JBQWdCLENBNkJkLFdBQVc7RUo3RWIsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUlpRUYsV0FBVztFQThCYixpQkFBaUIsQ0E5QmYsV0FBVztFQTdCYixnQkFBZ0IsQ0E4QmQsa0JBQWtCO0VKOUVwQixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSWtFRixrQkFBa0I7RUE2QnBCLGlCQUFpQixDQTdCZixrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVibkNPLE9BQU8sR2FvQ3BCO0VBaENILEFBc0NFLGdCQXRDYyxDQXNDZCxpQkFBaUIsRUp0Rm5CLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixFQXFCbkIsaUJBQWlCLENBckJmLGlCQUFpQjtFQXRDbkIsZ0JBQWdCLENBdUNkLHFCQUFxQjtFSnZGdkIsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCO0VBb0J2QixpQkFBaUIsQ0FwQmYscUJBQXFCLENBQUM7SUFDcEIsS0FBSyxFYjdDSyxPQUFPLEdhNkRsQjtJQXhESCxBQTBDSSxnQkExQ1ksQ0FzQ2QsaUJBQWlCLENBSWYsR0FBRyxFSjFGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ0FJZixHQUFHLEVBaUJQLGlCQUFpQixDQXJCZixpQkFBaUIsQ0FJZixHQUFHO0lBMUNQLGdCQUFnQixDQXNDZCxpQkFBaUIsQ0FLZixHQUFHO0lKM0ZQLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixDQUtmLEdBQUc7SUFnQlAsaUJBQWlCLENBckJmLGlCQUFpQixDQUtmLEdBQUc7SUEzQ1AsZ0JBQWdCLENBc0NkLGlCQUFpQixDQU1mLEdBQUc7SUo1RlAsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENBTWYsR0FBRztJQWVQLGlCQUFpQixDQXJCZixpQkFBaUIsQ0FNZixHQUFHO0lBNUNQLGdCQUFnQixDQXNDZCxpQkFBaUIsQ1ZrRm5CLFVBQVUsQ0FXUixFQUFFO0lBWEosVUFBVSxDVXhIVixnQkFBZ0IsQ0FzQ2QsaUJBQWlCLENWNkZqQixFQUFFO0lNbkxKLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixDVmtGbkIsVUFBVSxDQVdSLEVBQUU7SUFYSixVQUFVLENNeEtWLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixDVjZGakIsRUFBRTtJVXhFSixpQkFBaUIsQ0FyQmYsaUJBQWlCLENWa0ZuQixVQUFVLENBV1IsRUFBRTtJQVhKLFVBQVUsQ1U3RFYsaUJBQWlCLENBckJmLGlCQUFpQixDVjZGakIsRUFBRTtJVW5JSixnQkFBZ0IsQ0FzQ2QsaUJBQWlCLENBT2YsR0FBRztJSjdGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ0FPZixHQUFHO0lBY1AsaUJBQWlCLENBckJmLGlCQUFpQixDQU9mLEdBQUc7SUE3Q1AsZ0JBQWdCLENBc0NkLGlCQUFpQixDVmtGbkIsVUFBVSxDQWVSLEVBQUU7SUFmSixVQUFVLENVeEhWLGdCQUFnQixDQXNDZCxpQkFBaUIsQ1ZpR2pCLEVBQUU7SU12TEosT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENWa0ZuQixVQUFVLENBZVIsRUFBRTtJQWZKLFVBQVUsQ014S1YsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENWaUdqQixFQUFFO0lVNUVKLGlCQUFpQixDQXJCZixpQkFBaUIsQ1ZrRm5CLFVBQVUsQ0FlUixFQUFFO0lBZkosVUFBVSxDVTdEVixpQkFBaUIsQ0FyQmYsaUJBQWlCLENWaUdqQixFQUFFO0lVdklKLGdCQUFnQixDQXNDZCxpQkFBaUIsQ1ZrRm5CLFVBQVUsQ0FnQlIsRUFBRTtJQWhCSixVQUFVLENVeEhWLGdCQUFnQixDQXNDZCxpQkFBaUIsQ1ZrR2pCLEVBQUU7SU14TEosT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENWa0ZuQixVQUFVLENBZ0JSLEVBQUU7SUFoQkosVUFBVSxDTXhLVixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ1ZrR2pCLEVBQUU7SVU3RUosaUJBQWlCLENBckJmLGlCQUFpQixDVmtGbkIsVUFBVSxDQWdCUixFQUFFO0lBaEJKLFVBQVUsQ1U3RFYsaUJBQWlCLENBckJmLGlCQUFpQixDVmtHakIsRUFBRTtJVXhJSixnQkFBZ0IsQ0FzQ2QsaUJBQWlCLENBUWYsR0FBRztJSjlGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ0FRZixHQUFHO0lBYVAsaUJBQWlCLENBckJmLGlCQUFpQixDQVFmLEdBQUc7SUE5Q1AsZ0JBQWdCLENBc0NkLGlCQUFpQixDQVNmLEdBQUc7SUovRlAsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENBU2YsR0FBRztJQVlQLGlCQUFpQixDQXJCZixpQkFBaUIsQ0FTZixHQUFHO0lBL0NQLGdCQUFnQixDQXNDZCxpQkFBaUIsQ0FVZixFQUFFO0lKaEdOLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixDQVVmLEVBQUU7SUFXTixpQkFBaUIsQ0FyQmYsaUJBQWlCLENBVWYsRUFBRTtJQWhETixnQkFBZ0IsQ0FzQ2QsaUJBQWlCLENBV2YsRUFBRTtJSmpHTixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ0FXZixFQUFFO0lBVU4saUJBQWlCLENBckJmLGlCQUFpQixDQVdmLEVBQUU7SUFqRE4sZ0JBQWdCLENBc0NkLGlCQUFpQixDQVlmLEVBQUU7SUpsR04sT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENBWWYsRUFBRTtJQVNOLGlCQUFpQixDQXJCZixpQkFBaUIsQ0FZZixFQUFFO0lBbEROLGdCQUFnQixDQXNDZCxpQkFBaUIsQ0FhZixFQUFFO0lKbkdOLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMEVGLGlCQUFpQixDQWFmLEVBQUU7SUFRTixpQkFBaUIsQ0FyQmYsaUJBQWlCLENBYWYsRUFBRTtJQW5ETixnQkFBZ0IsQ0FzQ2QsaUJBQWlCLENBY2YsQ0FBQztJSnBHTCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTBFRixpQkFBaUIsQ0FjZixDQUFDO0lBT0wsaUJBQWlCLENBckJmLGlCQUFpQixDQWNmLENBQUM7SUFwREwsZ0JBQWdCLENBc0NkLGlCQUFpQixDQWVmLFVBQVU7SUpyR2QsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkwRUYsaUJBQWlCLENBZWYsVUFBVTtJQU1kLGlCQUFpQixDQXJCZixpQkFBaUIsQ0FlZixVQUFVO0lBckRkLGdCQUFnQixDQXVDZCxxQkFBcUIsQ0FHbkIsR0FBRztJSjFGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ0FHbkIsR0FBRztJQWlCUCxpQkFBaUIsQ0FwQmYscUJBQXFCLENBR25CLEdBQUc7SUExQ1AsZ0JBQWdCLENBdUNkLHFCQUFxQixDQUluQixHQUFHO0lKM0ZQLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMkVGLHFCQUFxQixDQUluQixHQUFHO0lBZ0JQLGlCQUFpQixDQXBCZixxQkFBcUIsQ0FJbkIsR0FBRztJQTNDUCxnQkFBZ0IsQ0F1Q2QscUJBQXFCLENBS25CLEdBQUc7SUo1RlAsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENBS25CLEdBQUc7SUFlUCxpQkFBaUIsQ0FwQmYscUJBQXFCLENBS25CLEdBQUc7SUE1Q1AsZ0JBQWdCLENBdUNkLHFCQUFxQixDVmlGdkIsVUFBVSxDQVdSLEVBQUU7SUFYSixVQUFVLENVeEhWLGdCQUFnQixDQXVDZCxxQkFBcUIsQ1Y0RnJCLEVBQUU7SU1uTEosT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENWaUZ2QixVQUFVLENBV1IsRUFBRTtJQVhKLFVBQVUsQ014S1YsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENWNEZyQixFQUFFO0lVeEVKLGlCQUFpQixDQXBCZixxQkFBcUIsQ1ZpRnZCLFVBQVUsQ0FXUixFQUFFO0lBWEosVUFBVSxDVTdEVixpQkFBaUIsQ0FwQmYscUJBQXFCLENWNEZyQixFQUFFO0lVbklKLGdCQUFnQixDQXVDZCxxQkFBcUIsQ0FNbkIsR0FBRztJSjdGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ0FNbkIsR0FBRztJQWNQLGlCQUFpQixDQXBCZixxQkFBcUIsQ0FNbkIsR0FBRztJQTdDUCxnQkFBZ0IsQ0F1Q2QscUJBQXFCLENWaUZ2QixVQUFVLENBZVIsRUFBRTtJQWZKLFVBQVUsQ1V4SFYsZ0JBQWdCLENBdUNkLHFCQUFxQixDVmdHckIsRUFBRTtJTXZMSixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ1ZpRnZCLFVBQVUsQ0FlUixFQUFFO0lBZkosVUFBVSxDTXhLVixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ1ZnR3JCLEVBQUU7SVU1RUosaUJBQWlCLENBcEJmLHFCQUFxQixDVmlGdkIsVUFBVSxDQWVSLEVBQUU7SUFmSixVQUFVLENVN0RWLGlCQUFpQixDQXBCZixxQkFBcUIsQ1ZnR3JCLEVBQUU7SVV2SUosZ0JBQWdCLENBdUNkLHFCQUFxQixDVmlGdkIsVUFBVSxDQWdCUixFQUFFO0lBaEJKLFVBQVUsQ1V4SFYsZ0JBQWdCLENBdUNkLHFCQUFxQixDVmlHckIsRUFBRTtJTXhMSixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ1ZpRnZCLFVBQVUsQ0FnQlIsRUFBRTtJQWhCSixVQUFVLENNeEtWLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMkVGLHFCQUFxQixDVmlHckIsRUFBRTtJVTdFSixpQkFBaUIsQ0FwQmYscUJBQXFCLENWaUZ2QixVQUFVLENBZ0JSLEVBQUU7SUFoQkosVUFBVSxDVTdEVixpQkFBaUIsQ0FwQmYscUJBQXFCLENWaUdyQixFQUFFO0lVeElKLGdCQUFnQixDQXVDZCxxQkFBcUIsQ0FPbkIsR0FBRztJSjlGUCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ0FPbkIsR0FBRztJQWFQLGlCQUFpQixDQXBCZixxQkFBcUIsQ0FPbkIsR0FBRztJQTlDUCxnQkFBZ0IsQ0F1Q2QscUJBQXFCLENBUW5CLEdBQUc7SUovRlAsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENBUW5CLEdBQUc7SUFZUCxpQkFBaUIsQ0FwQmYscUJBQXFCLENBUW5CLEdBQUc7SUEvQ1AsZ0JBQWdCLENBdUNkLHFCQUFxQixDQVNuQixFQUFFO0lKaEdOLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMkVGLHFCQUFxQixDQVNuQixFQUFFO0lBV04saUJBQWlCLENBcEJmLHFCQUFxQixDQVNuQixFQUFFO0lBaEROLGdCQUFnQixDQXVDZCxxQkFBcUIsQ0FVbkIsRUFBRTtJSmpHTixPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ0FVbkIsRUFBRTtJQVVOLGlCQUFpQixDQXBCZixxQkFBcUIsQ0FVbkIsRUFBRTtJQWpETixnQkFBZ0IsQ0F1Q2QscUJBQXFCLENBV25CLEVBQUU7SUpsR04sT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENBV25CLEVBQUU7SUFTTixpQkFBaUIsQ0FwQmYscUJBQXFCLENBV25CLEVBQUU7SUFsRE4sZ0JBQWdCLENBdUNkLHFCQUFxQixDQVluQixFQUFFO0lKbkdOLE9BQU8sQ0FZSixBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVJMkVGLHFCQUFxQixDQVluQixFQUFFO0lBUU4saUJBQWlCLENBcEJmLHFCQUFxQixDQVluQixFQUFFO0lBbkROLGdCQUFnQixDQXVDZCxxQkFBcUIsQ0FhbkIsQ0FBQztJSnBHTCxPQUFPLENBWUosQUFBQSxVQUFDLENBQVcsTUFBTSxBQUFqQixFSTJFRixxQkFBcUIsQ0FhbkIsQ0FBQztJQU9MLGlCQUFpQixDQXBCZixxQkFBcUIsQ0FhbkIsQ0FBQztJQXBETCxnQkFBZ0IsQ0F1Q2QscUJBQXFCLENBY25CLFVBQVU7SUpyR2QsT0FBTyxDQVlKLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUkyRUYscUJBQXFCLENBY25CLFVBQVU7SUFNZCxpQkFBaUIsQ0FwQmYscUJBQXFCLENBY25CLFVBQVUsQ0FBQztNQUNULEtBQUssRWIzREcsT0FBTyxHYTREaEI7O0FBSUwsQUFBQSxpQkFBaUIsQ0FBQztFQUdoQixnQkFBZ0IsRUFBRSxrQkFBa0I7RUFDcEMsS0FBSyxFYmxFUSxPQUFPLENha0VDLFVBQVUsR0FLaEM7RUFURCxBQU1FLGlCQU5lLENBTWYsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFYnJFTSxPQUFPLEdhc0VuQjs7QUFHSCxVQUFVO0FBRVYsQUFBQSxnQkFBZ0IsQ0FBQztFWmxDZixTQUFTLEVBQUMsSUFBQztFQUNYLFNBQVMsRUFBQyxJQUFDO0VZb0NYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxZQUFZLEdBVXRCO0VaeEhLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SVl3RzlDLEFBQUEsZ0JBQWdCLENBQUM7TVpsQ2YsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsT0FBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLE1BQUMsR1k0Q2Q7RVpoSEssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJWWdHL0MsQUFBQSxnQkFBZ0IsQ0FBQztNQWNiLGFBQWEsRUFBRSxJQUFJLEdBRXRCOztBQUVELEFBQUEsY0FBYyxFVjhCZCxVQUFVLENBcUVSLEVBQUUsQ0FDQSxFQUFFLEFBT0MsT0FBTyxDVTNHQztFQUNiLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLEtBQUssRWJuR0ssT0FBTztFYW9HakIsV0FBVyxFQUFFLEdBQUc7RVp2RGhCLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLE9BQUM7RVkwRFgsY0FBYyxFQUFFLE1BQU07RUFDdEIsYUFBYSxFQUFFLElBQUksR0FPcEI7RUFmRCxBQVVFLGNBVlksQUFVWCxTQUFTLEVWb0JaLFVBQVUsQ0FxRVIsRUFBRSxDQUNBLEVBQUUsQVUxRkgsU0FBUyxBVmlHTCxPQUFPLENVakdEO0laOURYLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLFNBQUM7SVlnRVQsY0FBYyxFQUFFLEdBQUcsR0FDcEI7O0FBR0gsQUFBQSxZQUFZO0FBQ1osTUFBTSxDQUFDO0VadEVMLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLFNBQUM7RUFJWCxXQUFXLEVBQUMsSUFBQztFQUNiLFdBQVcsRUFBQyxTQUFDO0VZbUViLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRWJqSUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtFYWtJckQsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUSxHQWlCbkI7RUFsQkQsQUFHRSxvQkFIa0IsQ0FHbEIsQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLE1BQU0sR0FDaEI7RUFMSCxBQU9FLG9CQVBrQixBQU9qQixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsT0FBTztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsZ0JBQWdCLEdBQ3hCO0VBWEgsQUFhRSxvQkFia0IsQUFhakIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLE9BQU87SUFDaEIsT0FBTyxFQUFFLE1BQU07SUFDZixXQUFXLEVidEpILGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEdhdUozQzs7QUFHSCxzQkFBc0I7QUFFdEIsQUFBQSxTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQyxHQWlJWDtFWnRRRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SVltSTdCLEFBSUUsU0FKTyxBQUlOLE9BQU8sQ0FBQztNQUVMLEtBQUssRUFBRSxJQUFJLEdBZWQ7RUFyQkgsQUFTSSxTQVRLLEFBSU4sT0FBTyxDQUtOLEtBQUs7RUFUVCxTQUFTLEFBSU4sT0FBTyxDQU1OLEtBQUssQ0FBQztJQUNKLEdBQUcsRUFBRSxLQUFLLEdBU1g7SVpoTUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNWTRLOUMsQUFTSSxTQVRLLEFBSU4sT0FBTyxDQUtOLEtBQUs7TUFUVCxTQUFTLEFBSU4sT0FBTyxDQU1OLEtBQUssQ0FBQztRQUlGLEdBQUcsRUFBRSxLQUFLLEdBTWI7SVp4TEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNWW9LL0MsQUFTSSxTQVRLLEFBSU4sT0FBTyxDQUtOLEtBQUs7TUFUVCxTQUFTLEFBSU4sT0FBTyxDQU1OLEtBQUssQ0FBQztRQVFGLEdBQUcsRUFBRSxLQUFLLEdBRWI7RUFwQkwsQUF1QkUsU0F2Qk8sQ0F1QlAsS0FBSztFQXZCUCxTQUFTLENBd0JQLEtBQUssQ0FBQztJQUNKLEdBQUcsRUFBRSxLQUFLO0lBVVYsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFYnBMTyxPQUFPO0lDMENyQixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxTQUFDO0lBSVgsV0FBVyxFQUFDLElBQUM7SUFDYixXQUFXLEVBQUMsUUFBQztJWXlJWCxNQUFNLEVBQUUsT0FBTyxHQTZDaEI7SVpsUUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNWTRLOUMsQUF1QkUsU0F2Qk8sQ0F1QlAsS0FBSztNQXZCUCxTQUFTLENBd0JQLEtBQUssQ0FBQztRQUlGLEdBQUcsRUFBRSxLQUFLLEdBMERiO0laMVBHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TVlvSy9DLEFBdUJFLFNBdkJPLENBdUJQLEtBQUs7TUF2QlAsU0FBUyxDQXdCUCxLQUFLLENBQUM7UUFRRixHQUFHLEVBQUUsS0FBSyxHQXNEYjtJQXRGSCxBQTJDSSxTQTNDSyxDQXVCUCxLQUFLLENBb0JILFdBQVcsRUEzQ2YsU0FBUyxDQXVCUCxLQUFLLENYdEtQLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVFZ0lsQixTQUFTLENBdUJQLEtBQUssQ0x6SFAsMEJBQTBCLEFHOUJmLE9BQU8sRUVnSWxCLFNBQVMsQ0F1QlAsS0FBSyxDQ25OUCxZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FTTCxJQUFJLEFIOUdDLE9BQU8sRUc1RGxCLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDRDJCWCxTQUFTLENBdUJQLEtBQUssQ0N6Q0QsSUFBSSxBSDlHQyxPQUFPO0lFZ0lsQixTQUFTLENBd0JQLEtBQUssQ0FtQkgsV0FBVztJQTNDZixTQUFTLENBd0JQLEtBQUssQ1h2S1AsQ0FBQyxBQUFBLGVBQWUsQUE2QmIsTUFBTSxBU2RFLE9BQU87SUVnSWxCLFNBQVMsQ0F3QlAsS0FBSyxDTDFIUCwwQkFBMEIsQUc5QmYsT0FBTztJRWdJbEIsU0FBUyxDQXdCUCxLQUFLLENDcE5QLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTztJRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENEMkJYLFNBQVMsQ0F3QlAsS0FBSyxDQzFDRCxJQUFJLEFIOUdDLE9BQU8sQ0UyS0Y7TUFDVixNQUFNLEVBQUUsR0FBRztNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUk7TUFDWCxnQkFBZ0IsRWIvTE4sT0FBTztNQzZGckIsa0JBQWtCLEVZb0dELGdCQUFnQixDQUFDLElBQUk7TVpuR3RDLGVBQWUsRVltR0UsZ0JBQWdCLENBQUMsSUFBSTtNWmxHdEMsY0FBYyxFWWtHRyxnQkFBZ0IsQ0FBQyxJQUFJO01aakd0QyxhQUFhLEVZaUdJLGdCQUFnQixDQUFDLElBQUk7TVpoR3RDLFVBQVUsRVlnR08sZ0JBQWdCLENBQUMsSUFBSSxHQWNuQztNQS9ETCxBQXFETSxTQXJERyxDQXVCUCxLQUFLLENBb0JILFdBQVcsQUFVUixPQUFPLEVBckRkLFNBQVMsQ0F1QlAsS0FBSyxDWHRLUCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTyxFRWdJbEIsU0FBUyxDQXVCUCxLQUFLLENMekhQLDBCQUEwQixBRzlCZixPQUFPLEVFZ0lsQixTQUFTLENBdUJQLEtBQUssQ0NuTlAsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0QyQlgsU0FBUyxDQXVCUCxLQUFLLENDekNELElBQUksQUg5R0MsT0FBTztNRWdJbEIsU0FBUyxDQXdCUCxLQUFLLENBbUJILFdBQVcsQUFVUixPQUFPO01BckRkLFNBQVMsQ0F3QlAsS0FBSyxDWHZLUCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTztNRWdJbEIsU0FBUyxDQXdCUCxLQUFLLENMMUhQLDBCQUEwQixBRzlCZixPQUFPO01FZ0lsQixTQUFTLENBd0JQLEtBQUssQ0NwTlAsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPO01HNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0QyQlgsU0FBUyxDQXdCUCxLQUFLLENDMUNELElBQUksQUg5R0MsT0FBTyxDRXFMSDtRQUNQLEdBQUcsRUFBRSxJQUFJO1FBQ1QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEViM01ELE9BQU87UWE0TVgsT0FBTyxFQUFFLENBQUM7UVo1R2hCLGtCQUFrQixFWThHQyxTQUFTLENBQUMsS0FBSyxDYjVLckIsd0NBQXdDLEVhNEtILE9BQU8sQ0FBQyxLQUFLO1FaN0cvRCxlQUFlLEVZNkdJLFNBQVMsQ0FBQyxLQUFLLENiNUtyQix3Q0FBd0MsRWE0S0gsT0FBTyxDQUFDLEtBQUs7UVo1Ry9ELGNBQWMsRVk0R0ssU0FBUyxDQUFDLEtBQUssQ2I1S3JCLHdDQUF3QyxFYTRLSCxPQUFPLENBQUMsS0FBSztRWjNHL0QsYUFBYSxFWTJHTSxTQUFTLENBQUMsS0FBSyxDYjVLckIsd0NBQXdDLEVhNEtILE9BQU8sQ0FBQyxLQUFLO1FaMUcvRCxVQUFVLEVZMEdTLFNBQVMsQ0FBQyxLQUFLLENiNUtyQix3Q0FBd0MsRWE0S0gsT0FBTyxDQUFDLEtBQUssR0FHMUQ7SUE5RFAsQUFpRUksU0FqRUssQ0F1QlAsS0FBSyxDQTBDSCxLQUFLO0lBakVULFNBQVMsQ0F3QlAsS0FBSyxDQXlDSCxLQUFLLENBQUM7TUFDSixXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEVBQUUsSUFBSTtNQUNYLFdBQVcsRUFBRSxHQUFHO01adkhwQixrQkFBa0IsRVl5SE0sU0FBUyxDQUFDLEtBQUssQ2J2TDFCLHdDQUF3QztNQytEckQsZUFBZSxFWXdIUyxTQUFTLENBQUMsS0FBSyxDYnZMMUIsd0NBQXdDO01DZ0VyRCxjQUFjLEVZdUhVLFNBQVMsQ0FBQyxLQUFLLENidkwxQix3Q0FBd0M7TUNpRXJELGFBQWEsRVlzSFcsU0FBUyxDQUFDLEtBQUssQ2J2TDFCLHdDQUF3QztNQ2tFckQsVUFBVSxFWXFIYyxTQUFTLENBQUMsS0FBSyxDYnZMMUIsd0NBQXdDLEdhd0xsRDtJQXZFTCxBQTBFTSxTQTFFRyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0FDTCxXQUFXLEVBMUVqQixTQUFTLENBdUJQLEtBQUssQUFrREYsTUFBTSxDWHhOWCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTyxFRWdJbEIsU0FBUyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0wzS1gsMEJBQTBCLEFHOUJmLE9BQU8sRUVnSWxCLFNBQVMsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENDclFYLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTyxFRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENEMkJYLFNBQVMsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENDM0ZMLElBQUksQUg5R0MsT0FBTztJRWdJbEIsU0FBUyxDQXdCUCxLQUFLLEFBaURGLE1BQU0sQ0FDTCxXQUFXO0lBMUVqQixTQUFTLENBd0JQLEtBQUssQUFpREYsTUFBTSxDWHhOWCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTztJRWdJbEIsU0FBUyxDQXdCUCxLQUFLLEFBaURGLE1BQU0sQ0wzS1gsMEJBQTBCLEFHOUJmLE9BQU87SUVnSWxCLFNBQVMsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENDclFYLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTztJRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENEMkJYLFNBQVMsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENDM0ZMLElBQUksQUg5R0MsT0FBTyxDRTBNQTtNQUNWLGdCQUFnQixFQUFFLFdBQVcsR0FLOUI7TUFoRlAsQUE2RVEsU0E3RUMsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENBQ0wsV0FBVyxBQUdSLE9BQU8sRUE3RWhCLFNBQVMsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENYeE5YLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVFZ0lsQixTQUFTLENBdUJQLEtBQUssQUFrREYsTUFBTSxDTDNLWCwwQkFBMEIsQUc5QmYsT0FBTyxFRWdJbEIsU0FBUyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0NyUVgsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0QyQlgsU0FBUyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0MzRkwsSUFBSSxBSDlHQyxPQUFPO01FZ0lsQixTQUFTLENBd0JQLEtBQUssQUFpREYsTUFBTSxDQUNMLFdBQVcsQUFHUixPQUFPO01BN0VoQixTQUFTLENBd0JQLEtBQUssQUFpREYsTUFBTSxDWHhOWCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTztNRWdJbEIsU0FBUyxDQXdCUCxLQUFLLEFBaURGLE1BQU0sQ0wzS1gsMEJBQTBCLEFHOUJmLE9BQU87TUVnSWxCLFNBQVMsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENDclFYLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTztNRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENEMkJYLFNBQVMsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENDM0ZMLElBQUksQUg5R0MsT0FBTyxDRTZNRDtRQUNQLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUEvRVQsQUFrRk0sU0FsRkcsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENBU0wsS0FBSztJQWxGWCxTQUFTLENBd0JQLEtBQUssQUFpREYsTUFBTSxDQVNMLEtBQUssQ0FBQztNQUNKLEtBQUssRWJ0T0QsT0FBTyxHYXVPWjtFQXBGUCxBQXdGRSxTQXhGTyxDQXdGUCxLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsQ0FBQyxHQW1CVDtJQTVHSCxBQTJGSSxTQTNGSyxDQXVCUCxLQUFLLENBb0JILFdBQVcsRUEzQ2YsU0FBUyxDQXVCUCxLQUFLLENYdEtQLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVFZ0lsQixTQUFTLENBdUJQLEtBQUssQ0x6SFAsMEJBQTBCLEFHOUJmLE9BQU8sRUVnSWxCLFNBQVMsQ0F1QlAsS0FBSyxDQ25OUCxZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FTTCxJQUFJLEFIOUdDLE9BQU8sRUc1RGxCLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDRDJCWCxTQUFTLENBdUJQLEtBQUssQ0N6Q0QsSUFBSSxBSDlHQyxPQUFPLENFMk5GO01BQ1YsS0FBSyxFQUFFLEtBQUssR0FDYjtJQTdGTCxBQStGSSxTQS9GSyxDQXdGUCxLQUFLLENBT0gsS0FBSyxDQUFDO01BQ0osYUFBYSxFQUFFLElBQUksR0FDcEI7SUFqR0wsQUFvR00sU0FwR0csQ0F1QlAsS0FBSyxBQWtERixNQUFNLENBQ0wsV0FBVyxBQUdSLE9BQU8sRUE3RWhCLFNBQVMsQ0F1QlAsS0FBSyxBQWtERixNQUFNLENYeE5YLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVFZ0lsQixTQUFTLENBdUJQLEtBQUssQUFrREYsTUFBTSxDTDNLWCwwQkFBMEIsQUc5QmYsT0FBTyxFRWdJbEIsU0FBUyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0NyUVgsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0QyQlgsU0FBUyxDQXVCUCxLQUFLLEFBa0RGLE1BQU0sQ0MzRkwsSUFBSSxBSDlHQyxPQUFPLENFb09PO01aL0p2QixpQkFBaUIsRVlnS1EsaUJBQWlCO01aL0oxQyxjQUFjLEVZK0pXLGlCQUFpQjtNWjlKMUMsYUFBYSxFWThKWSxpQkFBaUI7TVo3SjFDLFlBQVksRVk2SmEsaUJBQWlCO01aNUoxQyxTQUFTLEVZNEpnQixpQkFBaUIsR0FDckM7SUF0R1AsQUF3R00sU0F4R0csQ0F3RlAsS0FBSyxBQVdGLE1BQU0sQ0FLTCxLQUFLLENBQUM7TVpuS1YsaUJBQWlCLEVZb0tRLGVBQWU7TVpuS3hDLGNBQWMsRVltS1csZUFBZTtNWmxLeEMsYUFBYSxFWWtLWSxlQUFlO01aakt4QyxZQUFZLEVZaUthLGVBQWU7TVpoS3hDLFNBQVMsRVlnS2dCLGVBQWUsR0FDbkM7RUExR1AsQUE4R0UsU0E5R08sQ0E4R1AsS0FBSyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsR0FtQlI7O0lBbElILEFBaUhJLFNBakhLLENBd0JQLEtBQUssQ0FtQkgsV0FBVyxBQVVSLE9BQU87SUFyRGQsU0FBUyxDQXdCUCxLQUFLLENYdktQLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPO0lFZ0lsQixTQUFTLENBd0JQLEtBQUssQ0wxSFAsMEJBQTBCLEFHOUJmLE9BQU87SUVnSWxCLFNBQVMsQ0F3QlAsS0FBSyxDQ3BOUCxZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FTTCxJQUFJLEFIOUdDLE9BQU87SUc1RGxCLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDRDJCWCxTQUFTLENBd0JQLEtBQUssQ0MxQ0QsSUFBSSxBSDlHQyxPQUFPLENFaVBLO01aNUtyQixpQkFBaUIsRVk2S00saUJBQWlCLENBQUMsY0FBYztNWjVLdkQsY0FBYyxFWTRLUyxpQkFBaUIsQ0FBQyxjQUFjO01aM0t2RCxhQUFhLEVZMktVLGlCQUFpQixDQUFDLGNBQWM7TVoxS3ZELFlBQVksRVkwS1csaUJBQWlCLENBQUMsY0FBYztNWnpLdkQsU0FBUyxFWXlLYyxpQkFBaUIsQ0FBQyxjQUFjLEdBQ3BEO0lBbkhMLEFBcUhJLFNBckhLLENBOEdQLEtBQUssQ0FPSCxLQUFLLENBQUM7TUFDSixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7SUF2SEwsQUEwSE0sU0ExSEcsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENBQ0wsV0FBVyxBQUdSLE9BQU87SUE3RWhCLFNBQVMsQ0F3QlAsS0FBSyxBQWlERixNQUFNLENYeE5YLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPO0lFZ0lsQixTQUFTLENBd0JQLEtBQUssQUFpREYsTUFBTSxDTDNLWCwwQkFBMEIsQUc5QmYsT0FBTztJRWdJbEIsU0FBUyxDQXdCUCxLQUFLLEFBaURGLE1BQU0sQ0NyUVgsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPO0lHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0QyQlgsU0FBUyxDQXdCUCxLQUFLLEFBaURGLE1BQU0sQ0MzRkwsSUFBSSxBSDlHQyxPQUFPLENFMFBPO01ackx2QixpQkFBaUIsRVlzTFEsZ0JBQWdCLENBQUMsY0FBYztNWnJMeEQsY0FBYyxFWXFMVyxnQkFBZ0IsQ0FBQyxjQUFjO01acEx4RCxhQUFhLEVZb0xZLGdCQUFnQixDQUFDLGNBQWM7TVpuTHhELFlBQVksRVltTGEsZ0JBQWdCLENBQUMsY0FBYztNWmxMeEQsU0FBUyxFWWtMZ0IsZ0JBQWdCLENBQUMsY0FBYyxHQUNuRDtJQTVIUCxBQThITSxTQTlIRyxDQThHUCxLQUFLLEFBV0YsTUFBTSxDQUtMLEtBQUssQ0FBQztNWnpMVixpQkFBaUIsRVkwTFEsZ0JBQWdCO01aekx6QyxjQUFjLEVZeUxXLGdCQUFnQjtNWnhMekMsYUFBYSxFWXdMWSxnQkFBZ0I7TVp2THpDLFlBQVksRVl1TGEsZ0JBQWdCO01adEx6QyxTQUFTLEVZc0xnQixnQkFBZ0IsR0FDcEM7O0FBS1AsbUJBQW1CO0FBRW5CLEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJLEdBV2I7RUFsQkQsQUFTRSxlQVRhLENBU2IsTUFBTTtFQVRSLGVBQWUsQ0FVYixNQUFNO0VBVlIsZUFBZSxDQVdiLEtBQUssQ0FBQztJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBR0gsa0JBQWtCO0FBRWxCLEFBQUEsYUFBYSxDQUFDO0VBQ1osTUFBTSxFQUFFLFFBQVE7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FzQlo7RVpqV0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJWXlVOUMsQUFBQSxhQUFhLENBQUM7TUFLVixLQUFLLEVBQUUsaUJBQWlCO01BQ3hCLFdBQVcsRUFBRSxLQUFLLEdBa0JyQjtFQXhCRCxBQVNFLGFBVFcsQ0FTWCxVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJLEdBWXBCO0laaFdHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TVl5VTlDLEFBU0UsYUFUVyxDQVNYLFVBQVUsQ0FBQztRQUtQLEtBQUssRUFBRSxHQUFHO1FBQ1YsWUFBWSxFQUFFLElBQUk7UUFDbEIsYUFBYSxFQUFFLElBQUk7UUFDbkIsYUFBYSxFQUFFLElBQUksR0FNdEI7SVp4VkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNWWlVL0MsQUFTRSxhQVRXLENBU1gsVUFBVSxDQUFDO1FBWVAsS0FBSyxFQUFFLFVBQVUsR0FFcEI7O0FBR0gsdUJBQXVCO0FBRXZCLEFBQUEsZ0JBQWdCLENBQUM7RXRCeFFmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUZ3QixLQUFLO0VBRzVDLEtBQUssRUFBRSxJQUFJO0VBV1QsU0FBUyxFQUFFLElBQUk7RVV1SWpCLFNBQVMsRUFBRSxNQUFNLEdZMEtsQjtFWi9ZSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lZeVYvQyxBQUFBLGdCQUFnQixDQUFDO01aakhiLFNBQVMsRUFBRSxNQUFNLEdZdUtwQjtFWm5aSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lZNlYvQyxBQUlFLGdCQUpjLEdBSVYsRUFBRSxDQUFDO01yQnJQUCxXQUFXLEVGekVILFNBQVk7TUNrRHBCLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUZ3QixLQUFLO01BRzVDLEtBQUssRUFBRSxJQUFJO01BR1QsV0FBVyxFc0IwUVMsRUFBRTtNdEJsUXRCLFNBQVMsRUFBRSxJQUFJLEdzQndRaEI7RUFiSCxBQVVJLGdCQVZZLEdBSVYsRUFBRSxDQU1KLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLEdBQ1g7RUFaTCxBQWVFLGdCQWZjLENBZWQsV0FBVyxDQUFDO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixZQUFZLEVBQUUsSUFBSSxHQWNuQjtJQWpDSCxBQXFCSSxnQkFyQlksQ0FlZCxXQUFXLEFBTVIsTUFBTSxDQUFDO01BQ04sTUFBTSxFQUFFLE9BQU8sR0FDaEI7SVo1WEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNWXFXOUMsQUEyQlEsZ0JBM0JRLENBZWQsV0FBVyxBQVVSLGlCQUFpQixBQUViLE1BQU0sQ0FBQztRQUNOLE1BQU0sRUFBRSxHQUFHO1FBQ1gsZ0JBQWdCLEVidldaLE9BQU8sR2F3V1o7RUE5QlQsQUFtQ0UsZ0JBbkNjLENBbUNkLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBTWQ7SUExQ0gsQUFzQ0ksZ0JBdENZLENBbUNkLEtBQUssQUFHRixRQUFRLEdBQUcsS0FBSyxDQUFDO01BQ2hCLEtBQUssRWJqWEcsT0FBTztNYWtYZixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQXpDTCxBQTRDRSxnQkE1Q2MsQ0E0Q2QsS0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLEtBQUs7SUFDckIsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLE9BQU87SVoxVWpCLFdBQVcsRUFBQyxJQUFDO0lBQ2IsV0FBVyxFQUFDLFFBQUM7SVk2VVgsS0FBSyxFYnpYSyxPQUFPLEdhMFhsQjs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFVBQVUsRUFBRSxJQUFJLEdBMkRqQjtFWnpkSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lZNlo5QyxBQUFBLHNCQUFzQixDQUFDO01BSW5CLFVBQVUsRUFBRSxJQUFJLEdBd0RuQjtFWmpkSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lZcVovQyxBQUFBLHNCQUFzQixDQUFDO01BUW5CLFVBQVUsRUFBRSxJQUFJLEdBb0RuQjtFQS9DRyxBQUFBLFNBQVMsQ0FiYixzQkFBc0IsQ0FXcEIsMkJBQTJCLENBRWI7SXRCN1VkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUZ3QixLQUFLO0lBRzVDLEtBQUssRUFBRSxJQUFJO0lBR1QsV0FBVyxFc0J5VVMsS0FBSztJdEJqVXpCLFNBQVMsRUFBRSxJQUFJO0lzQmtVYixlQUFlLEVBQUUsYUFBYSxHQW1CL0I7SVp2YkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNWWthM0MsQUFBQSxTQUFTLENBYmIsc0JBQXNCLENBV3BCLDJCQUEyQixDQUViO1FwQmxhZCxLQUFLLEVIbUNHLElBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtRRDJHM0MsV0FBVyxFRnpFSCxFQUFZLEd1Qm9aakI7UUFyQkQsQXBCL1pGLFNvQitaVyxDQWJiLHNCQUFzQixDQVdwQiwyQkFBMkIsQXBCN1oxQixXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJb0I2WkMsQUFTRSxTQVRPLENBYmIsc0JBQXNCLENBV3BCLDJCQUEyQixDQVd2QixZQUFZLENBQUM7TUFDWCxXQUFXLEVBQUUsSUFBSTtNQUNqQixVQUFVLEVBQUUsaUJBQWlCO01BQzdCLFVBQVUsRUFBRSxJQUFJLEdBUWpCO01aOWJELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UVkwYTFDLEFBU0UsU0FUTyxDQWJiLHNCQUFzQixDQVdwQiwyQkFBMkIsQ0FXdkIsWUFBWSxDQUFDO1VBTVQsVUFBVSxFQUFFLElBQUksR0FLbkI7TVp0YkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRWWthM0MsQUFTRSxTQVRPLENBYmIsc0JBQXNCLENBV3BCLDJCQUEyQixDQVd2QixZQUFZLENBQUM7VUFTVCxPQUFPLEVBQUUsTUFBTSxHQUVsQjtFWnRiRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lZcVovQyxBQVdFLHNCQVhvQixDQVdwQiwyQkFBMkIsQ0FBQztNcEJoYTVCLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFNBQVksR3VCMFpuQjtNQXhDSCxBcEJsWkUsc0JvQmtab0IsQ0FXcEIsMkJBQTJCLEFwQjdaMUIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RW9CZ1pILEFBMkNJLHNCQTNDa0IsQ0EwQ3BCLFdBQVcsQ0FDVCxFQUFFLENBQUM7SUFDRCxLQUFLLEViN2FLLE9BQU8sQ2E2YUssVUFBVSxHQUNqQztFQTdDTCxBQWdERSxzQkFoRG9CLENBZ0RwQixZQUFZLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLGFBQWEsRUFBRSxJQUFJLEdBU3BCO0lBM0RILEFBb0RJLHNCQXBEa0IsQ0FnRHBCLFlBQVksQ0FJVixVQUFVLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtJWjNjQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01ZcVovQyxBQWdERSxzQkFoRG9CLENBZ0RwQixZQUFZLENBQUM7UUFTVCxPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFYi9iTyxPQUFPLEdhZ2VwQjtFWi9kRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SVkwYjVCLEFBQUEsWUFBWSxDQUFDO01BT1QsUUFBUSxFQUFFLFFBQVEsR0E4QnJCO0VBckNELEFBVUUsWUFWVSxDQVVWLENBQUM7RUFWSCxZQUFZLENBV1YsUUFBUSxDQUFDO0lBQ1AsWUFBWSxFQUFFLElBQUk7SVpqYXBCLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLFFBQUM7SUFJWCxXQUFXLEVBQUMsSUFBQztJQUNiLFdBQVcsRUFBQyxRQUFDLEdZOFpaO0VBZkgsQUFpQkUsWUFqQlUsQ0FpQlYsUUFBUSxDQUFDO0lBQ1AsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFYnJkRyxPQUFPO0lhc2RmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxLQUFLLEdBV2Y7SUFoQ0gsQUF1QkksWUF2QlEsQ0FpQlYsUUFBUSxBQU1MLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxVQUFVLEViNWRKLE9BQU87TWE2ZGIsTUFBTSxFQUFFLEdBQUc7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEVBQUUsQ0FBQztNQUNULElBQUksRUFBRSxDQUFDLEdBQ1I7RUEvQkwsQUFrQ0UsWUFsQ1UsQ0FrQ1YsQ0FBQyxBQUFBLE1BQU0sQ0FBQztJQUNOLEtBQUssRWJyZUcsT0FBTyxHYXNlaEI7O0FBR0gsQUFBQSxVQUFVLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBK0JiO0VBbENELEFBS0UsVUFMUSxDQUtSLE9BQU8sQ0FBQztJQUNOLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJLEdBWVo7SUFuQkgsQUFVSSxVQVZNLENBS1IsT0FBTyxDQUtMLGlCQUFpQjtJQVZyQixVQUFVLENBS1IsT0FBTyxDQU1MLGFBQWEsQ0FBQztNQUNaLGdCQUFnQixFQUFFLHNCQUFzQixHQUN6QztJQWJMLEFBZUksVUFmTSxDQUtSLE9BQU8sQ0FVTCxFQUFFO0lBZk4sVUFBVSxDQUtSLE9BQU8sQ0FXTCxPQUFPLENBQUMsR0FBRyxDQUFDO01BQ1YsT0FBTyxFQUFFLENBQUMsR0FDWDtFQWxCTCxBQXFCRSxVQXJCUSxDQXFCUixXQUFXLENBQUM7SUFDVixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsR0FBRyxHQVVYO0lBakNILEFBeUJJLFVBekJNLENBcUJSLFdBQVcsQ0FJVCxDQUFDLEFBQUEsTUFBTSxDQUFDO01BQ04sZ0JBQWdCLEViaGdCTixPQUFPO01haWdCakIsTUFBTSxFQUFFLElBQUksR0FDYjtJWnJmRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07TVl5ZDdCLEFBcUJFLFVBckJRLENBcUJSLFdBQVcsQ0FBQztRQVVSLFVBQVUsRUFBRSxJQUFJLEdBRW5COztBQUdILEFBQUEsWUFBWSxDQUFDO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsQ0FBQztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRWJ6aEJDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RWEwaEJyRCxPQUFPLEVBQUUsWUFBWTtFQUNyQixLQUFLLEViamhCTyxPQUFPO0Vha2hCbkIsY0FBYyxFQUFFLFNBQVM7RUFDekIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLElBQUksR0FTcEI7RUFuQkQsQUFZRSxZQVpVLEFBWVQsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxHQUFHO0lBQ1gsZ0JBQWdCLEViM2hCTixPQUFPO0lhNGhCakIsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBR0gsQUFBQSxhQUFhLENBQUM7RVoxUlosS0FBSyxFQUFFLG9CQUFvQjtFQUMzQixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUVsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVBQUUsYUFBYSxDQUFDLFVBQVUsR1l1UnBDO0VacGdCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lZa2dCN0MsQUFBQSxhQUFhLENBQUM7TVpsUlYsS0FBSyxFQUFFLE1BQU07TUFDYixXQUFXLEVBQUUsTUFBTSxHWW1SdEI7RUFGRCxBWjlRRSxhWThRVyxBWjlRVixvQkFBb0IsQ0FBQztJQUNwQixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxDQUFDLEdBS2Y7SUE1U0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNWW1qQi9DLEFaOVFFLGFZOFFXLEFaOVFWLG9CQUFvQixDQUFDO1FBS2xCLEtBQUssRUFBRSxNQUFNLEdBRWhCO0VZdVFILEFaclFFLGFZcVFXLEFaclFWLGFBQWEsQ0FBQztJQUNiLFFBQVEsRUFBRSxRQUFRLEdBY25CO0lZc1BILEFabFFJLGFZa1FTLEFaclFWLGFBQWEsQ0FHWixLQUFLLENBQUM7TUFDSixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxHQUFHO01BQ1gsZ0JBQWdCLEVEblNWLE9BQU87TUNvU2IsT0FBTyxFQUFFLElBQUk7TUFDYixLQUFLLEVBQUUsSUFBSSxHQU1aO01BNVRDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UVltakIvQyxBWmxRSSxhWWtRUyxBWnJRVixhQUFhLENBR1osS0FBSyxDQUFDO1VBUUYsT0FBTyxFQUFFLEtBQUs7VUFDZCxVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QVk0UEwsQUFBQSxRQUFRLENBQUM7RVp2WFAsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsd0JBQXdCO0VBQzlCLFNBQVMsRUFBRSxVQUFVO0VBQ3JCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxtQkFBbUI7RUFDN0IsS0FBSyxFQUFFLEdBQUc7RUFDVixTQUFTLEVBQUUsaUJBQWlCLEdZZ1g3Qjs7QUNsbEJELEFBQ0UsWUFEVSxDQUNWLHFCQUFxQixDQUFDO0VBQ3BCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDZHlFZix3Q0FBd0M7RWN4RW5ELFFBQVEsRUFBRSxNQUFNO0ViOEhsQixpQkFBaUIsRWE3SEksUUFBUTtFYjhIN0IsY0FBYyxFYTlITyxRQUFRO0ViK0g3QixhQUFhLEVhL0hRLFFBQVE7RWJnSTdCLFlBQVksRWFoSVMsUUFBUTtFYmlJN0IsU0FBUyxFYWpJWSxRQUFRLEdBTTVCO0VBVkgsQUFNSSxZQU5RLENBQ1YscUJBQXFCLENBS25CLG1CQUFtQixDQUFDO0lBQ2xCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDZG9FakIsd0NBQXdDO0lDc0RyRCxpQkFBaUIsRWF6SE0sUUFBUTtJYjBIL0IsY0FBYyxFYTFIUyxRQUFRO0liMkgvQixhQUFhLEVhM0hVLFFBQVE7SWI0SC9CLFlBQVksRWE1SFcsUUFBUTtJYjZIL0IsU0FBUyxFYTdIYyxRQUFRLEdBQzVCOztBQUtBLEFBQUQsMkJBQVEsRUFBUCx3QkFBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFFQSxBQUFELGlDQUFjLEVBQ2IsZ0NBQVksRUFDWiw2QkFBUyxFQUZULDhCQUFhLEVBQ2IsNkJBQVksRUFDWiwwQkFBUyxDQUFDO0VBQ1QsS0FBSyxFZG1CQyxPQUFPO0VjbEJiLGFBQWEsRUFBRSxJQUFJLEdBTXBCO0ViTEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYUwxQyxBQUFELGlDQUFjLEVBQ2IsZ0NBQVksRUFDWiw2QkFBUyxFQUZULDhCQUFhLEVBQ2IsNkJBQVksRUFDWiwwQkFBUyxDQUFDO01BS1AsS0FBSyxFQUFFLENBQUM7TUFDUixhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QUFFQSxBQUFELGdDQUFhLEVBQ1osNkJBQVMsRUFEVCw2QkFBWSxFQUNaLDBCQUFTLENBQUM7RWJ5R2Isa0JBQWtCLEVheEdNLEtBQUssQ0FBQyxJQUFJLENkMENyQix3Q0FBd0M7RUMrRHJELGVBQWUsRWF6R1MsS0FBSyxDQUFDLElBQUksQ2QwQ3JCLHdDQUF3QztFQ2dFckQsY0FBYyxFYTFHVSxLQUFLLENBQUMsSUFBSSxDZDBDckIsd0NBQXdDO0VDaUVyRCxhQUFhLEVhM0dXLEtBQUssQ0FBQyxJQUFJLENkMENyQix3Q0FBd0M7RUNrRXJELFVBQVUsRWE1R2MsS0FBSyxDQUFDLElBQUksQ2QwQ3JCLHdDQUF3QyxHY3pDbEQ7O0FBdEJGLEFBd0JDLG9CQXhCTyxDQXdCUCxxQkFBcUIsRUF2QnRCLGlCQUFLLENBdUJKLHFCQUFxQixDQUFDO0VBQ3BCLEtBQUssRUFBRSxDQUFDO0VBQ1IsYUFBYSxFQUFFLElBQUksR0FhcEI7RWIzQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYVo1QyxBQXdCQyxvQkF4Qk8sQ0F3QlAscUJBQXFCLEVBdkJ0QixpQkFBSyxDQXVCSixxQkFBcUIsQ0FBQztNQUtsQixLQUFLLEVBQUUsQ0FBQztNQUNSLGFBQWEsRUFBRSxJQUFJLEdBU3RCO0VBdkNGLEFBa0NLLG9CQWxDRyxDQXdCUCxxQkFBcUIsQ0FTbkIsY0FBYyxDQUNaLEtBQUssRUFqQ1YsaUJBQUssQ0F1QkoscUJBQXFCLENBU25CLGNBQWMsQ0FDWixLQUFLLENBQUM7SUFDSixXQUFXLEVBQUUsSUFBSTtJQUNqQixtQkFBbUIsRUFBRSxNQUFNLEdBQzVCOztBQXJDTixBQXlDQyxvQkF6Q08sQ0F5Q1AsTUFBTSxFQXhDUCxpQkFBSyxDQXdDSixNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsQ0FBQyxHQUNUOztBQTNDRixBQTZDQyxvQkE3Q08sQ0E2Q1AsU0FBUyxFQTVDVixpQkFBSyxDQTRDSixTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU8sRUFBRSxZQUFZLEdBS3RCO0VBcERGLEFBaURHLG9CQWpESyxDQTZDUCxTQUFTLENBSVAsUUFBUSxFQWhEWCxpQkFBSyxDQTRDSixTQUFTLENBSVAsUUFBUSxDQUFDO0lieUJiLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLFFBQUM7SUFJWCxXQUFXLEVBQUMsSUFBQztJQUNiLFdBQVcsRUFBQyxRQUFDO0lBNk1iLGNBQWMsRUFBRSxVQUFVO0lBQzFCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEtBQUssRUQ3UFUsT0FBTyxHY2lCakI7O0FBbkRKLEFBdURHLG9CQXZESyxBQXNETixNQUFNLENBQ0wsaUNBQWlDO0FBdkRwQyxvQkFBUSxBQXNETixNQUFNLENBRUwsNkJBQTZCLEVBdkRoQyxpQkFBSyxBQXFESCxNQUFNLENBQ0wsaUNBQWlDO0FBdERwQyxpQkFBSyxBQXFESCxNQUFNLENBRUwsNkJBQTZCLENBQUM7RUFDNUIsS0FBSyxFZDVCRCxPQUFPLEdjNkJaOztBQXRFUCxBQTJFSSxZQTNFUSxBQTBFVCxLQUFLLENBQ0osUUFBUSxDQUFDO0VBQ1AsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RWJTcEIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsUUFBQztFQUlYLFdBQVcsRUFBQyxJQUFDO0VBQ2IsV0FBVyxFQUFDLFFBQUM7RWFaVCxLQUFLLEVBQUUsT0FBTztFQUNkLFVBQVUsRUFBRSxHQUFHLEdBS2hCO0ViOURDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWF4Qi9DLEFBMkVJLFlBM0VRLEFBMEVULEtBQUssQ0FDSixRQUFRLENBQUM7TWJXWCxTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxRQUFDLEdhRFI7O0FBdEZMLEFBb0dJLFlBcEdRLEFBbUdULE9BQU8sR0FDRixDQUFDLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQXRHTCxBQXdHSSxZQXhHUSxBQW1HVCxPQUFPLENBS04sY0FBYyxDQUFDO0VBRWIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLElBQUk7RUFlbkIsY0FBYyxFQUFFLGtCQUFrQyxHQUNuRDtFQTNITCxBQTZHTSxZQTdHTSxBQW1HVCxPQUFPLENBS04sY0FBYyxDQUtaLEdBQUcsQ0FBQztJQUNGLFdBQVcsRUFMSyxHQUFHO0lBTW5CLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDLEdBS1I7SUF4SFAsQUFxSFEsWUFySEksQUFtR1QsT0FBTyxDQUtOLGNBQWMsQ0FLWixHQUFHLEFBUUEsU0FBUyxDQUFDO01BQ1QsZ0JBQWdCLEVkNURoQixPQUFPLEdjNkRSOztBQXZIVCxBQTZISSxZQTdIUSxBQW1HVCxPQUFPLENBMEJOLFVBQVUsQ0FBQztFQUNULFVBQVUsRUFBRSxHQUFHO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsY0FBYyxFQUFFLFNBQVM7RUFDekIsS0FBSyxFZHpGRyxPQUFPLEdjOEZoQjtFYjdHQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lhNUIvQyxBQTZISSxZQTdIUSxBQW1HVCxPQUFPLENBMEJOLFVBQVUsQ0FBQztNQVVQLFNBQVMsRUFBRSxNQUFNLEdBRXBCOztBQXpJTCxBQTJJSSxZQTNJUSxBQW1HVCxPQUFPLENBd0NOLElBQUksQ0FBQztFQUNILEtBQUssRWRuR0MsT0FBTztFQzZDakIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsSUFBQztFYXVEUCxVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsUUFBUSxHQWNuQjtFQS9KTCxBQW1KTSxZQW5KTSxBQW1HVCxPQUFPLENBd0NOLElBQUksQUFRRCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUc7SUFDVixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFZGhIQyxPQUFPO0lDOEZuQixrQkFBa0IsRWFtQkUsU0FBUyxDQUFDLElBQUksQ2RqRnJCLHdDQUF3QyxFY2lGSCxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0libEIxRSxlQUFlLEVha0JLLFNBQVMsQ0FBQyxJQUFJLENkakZyQix3Q0FBd0MsRWNpRkgsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJYmpCMUUsY0FBYyxFYWlCTSxTQUFTLENBQUMsSUFBSSxDZGpGckIsd0NBQXdDLEVjaUZILEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SWJoQjFFLGFBQWEsRWFnQk8sU0FBUyxDQUFDLElBQUksQ2RqRnJCLHdDQUF3QyxFY2lGSCxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0liZjFFLFVBQVUsRWFlVSxTQUFTLENBQUMsSUFBSSxDZGpGckIsd0NBQXdDLEVjaUZILEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksR0FFckU7O0FBOUpQLEFBa0tNLFlBbEtNLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FDTCxxQkFBcUIsQ0FBQztFYmpDMUIsaUJBQWlCLEVha0NRLFdBQVc7RWJqQ3BDLGNBQWMsRWFpQ1csV0FBVztFYmhDcEMsYUFBYSxFYWdDWSxXQUFXO0ViL0JwQyxZQUFZLEVhK0JhLFdBQVc7RWI5QnBDLFNBQVMsRWE4QmdCLFdBQVcsR0FLL0I7RUF4S1AsQUFxS1EsWUFyS0ksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQUNMLHFCQUFxQixDQUduQixtQkFBbUIsQ0FBQztJYnBDMUIsaUJBQWlCLEVhcUNVLFdBQVc7SWJwQ3RDLGNBQWMsRWFvQ2EsV0FBVztJYm5DdEMsYUFBYSxFYW1DYyxXQUFXO0libEN0QyxZQUFZLEVha0NlLFdBQVc7SWJqQ3RDLFNBQVMsRWFpQ2tCLFdBQVcsR0FDL0I7O0FBdktULEFBMEtNLFlBMUtNLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0FTTCxJQUFJLEFBQUEsT0FBTyxDQUFDO0ViekNoQixpQkFBaUIsRWEwQ1EsZUFBZTtFYnpDeEMsY0FBYyxFYXlDVyxlQUFlO0VieEN4QyxhQUFhLEVhd0NZLGVBQWU7RWJ2Q3hDLFlBQVksRWF1Q2EsZUFBZTtFYnRDeEMsU0FBUyxFYXNDZ0IsZUFBZTtFQUNsQyxPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRWRwSUQsT0FBTyxHY3NJWjs7QUFJSixBQUNDLGlCQURJLENBQ0osdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixLQUFLLEVBQUUsQ0FBQyxHQUNUOztBQUVBLEFBQUQsdUJBQU8sQ0FBQztFQUNOLEtBQUssRWRsSkMsT0FBTztFY21KYixVQUFVLEVBQUUsR0FBRyxHQUNoQjs7QUFFQSxBQUFELHNCQUFNLENBQUM7RWJ6R1QsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsSUFBQyxHYW1IUjtFQVJFLEFBQUQsMkJBQU0sQ0FBQztJQUNMLE9BQU8sRUFBRSxJQUFJLEdBTWQ7SWJqTEQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYTBLeEMsQUFBRCwyQkFBTSxDQUFDO1FBSUgsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsQ0FBQyxHQUVYOztBQUlKLEFBQUQsb0JBQVMsQ0FBQztFQUNSLEtBQUssRUFBRSxJQUFJLEdBMkZaO0VBNUZBLEFBSUcsb0JBSkssQUFHTixJQUFLLENBQUEsV0FBVyxFQUNmLDJCQUEyQixDQUFDO0lBQzFCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0lidk1ELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWE2TDNDLEFBSUcsb0JBSkssQUFHTixJQUFLLENBQUEsV0FBVyxFQUNmLDJCQUEyQixDQUFDO1FBSXhCLGFBQWEsRUFBRSxLQUFLLEdBRXZCO0VBR0YsQUFBRCwyQkFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsTUFBTSxHQXlDcEI7SUE1Q0EsQUFLQywyQkFMTSxDQUtOLHVCQUF1QixDQUFDO01BQ3RCLEtBQUssRUFBRSxDQUFDO01BQ1IsVUFBVSxFQUFFLElBQUksR0FrQmpCO01BekJGLEFBU0csMkJBVEksQ0FLTix1QkFBdUIsQ0FJckIsS0FBSztNQVRSLDJCQUFPLENBS04sdUJBQXVCLENBS3JCLFVBQVUsQ0FBQztRQUNULFVBQVUsRUFBRSxJQUFJLEdBQ2pCO01BWkosQUFjRywyQkFkSSxDQUtOLHVCQUF1QixDQVNyQixVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ1gsS0FBSyxFZDdMQyxPQUFPLEdjOExkO01BaEJKLEFBa0JHLDJCQWxCSSxDQUtOLHVCQUF1QixDQWFyQixLQUFLLENBQUM7UUFDSixPQUFPLEVBQUUsSUFBSSxHQUtkO1FiMU5ILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07VWFrTTFDLEFBa0JHLDJCQWxCSSxDQUtOLHVCQUF1QixDQWFyQixLQUFLLENBQUM7WUFJRixPQUFPLEVBQUUsS0FBSyxHQUVqQjtJQXhCSixBQTJCQywyQkEzQk0sQ0EyQk4scUJBQXFCO0lBM0J0QiwyQkFBTyxDQTRCTix1QkFBdUIsQ0FBQztNckI5TjVCLEtBQUssRUhtQ0csSUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdxQitOdEM7TUE5QkYsQXJCL0xILDJCcUIrTFUsQ0EyQk4scUJBQXFCLEFyQjFOeEIsV0FBVztNcUIrTFQsMkJBQU8sQ0E0Qk4sdUJBQXVCLEFyQjNOMUIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01hME16QyxBQUFELDJCQUFRLENBQUM7UUFpQ0wsY0FBYyxFQUFFLEdBQUcsR0FXdEI7UUE1Q0EsQUFLQywyQkFMTSxDQUtOLHVCQUF1QixDQThCRztVckJyTzlCLEtBQUssRUhtQ0csU0FBWTtVR2xDcEIsWUFBWSxFQUFFLElBQTZCO1VxQnNPbkMsVUFBVSxFQUFFLENBQUMsR0FDZDtVQXRDSixBckIvTEgsMkJxQitMVSxDQW1DSix1QkFBdUIsQXJCbE81QixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtRcUI2TEUsQUF3Q0csMkJBeENJLENBd0NKLHFCQUFxQixDQUFDO1VyQjFPNUIsS0FBSyxFSG1DRyxNQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkIsR3FCMk9wQztVQTFDSixBckIvTEgsMkJxQitMVSxDQXdDSixxQkFBcUIsQXJCdk8xQixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWE2TDNDLEFBNkRLLG9CQTdERyxBQTRESixVQUFXLENMcS9CRSxHQUFHLEVLcC9CZix1QkFBdUIsQ0FBQztNQUN0QixLQUFLLEVBQUUsQ0FBQztNQUNSLFlBQVksRUFBRSxJQUFJO01BQ2xCLGFBQWEsRUFBRSxDQUFDLEdBQ2pCO0lBakVOLEFBbUVLLG9CQW5FRyxBQTRESixVQUFXLENMcS9CRSxHQUFHLEVLOStCZixxQkFBcUIsQ0FBQztNQUNwQixLQUFLLEVBQUUsQ0FBQyxHQUNUO0lBckVOLEFBeUVLLG9CQXpFRyxBQXdFSixVQUFXLENMNCtCRSxJQUFJLEVLMytCaEIsdUJBQXVCLENBQUM7TUFDdEIsS0FBSyxFQUFFLENBQUM7TUFDUixhQUFhLEVBQUUsSUFBSTtNdEJwSjNCLFdBQVcsRUZ6RUgsUUFBWSxHd0IrTmI7SUE3RU4sQUErRUssb0JBL0VHLEFBd0VKLFVBQVcsQ0w0K0JFLElBQUksRUtyK0JoQixxQkFBcUIsQ0FBQztNQUNwQixLQUFLLEVBQUUsQ0FBQyxHQUNUO0VidFFILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWFxTDVDLEFBeUVLLG9CQXpFRyxBQXdFSixVQUFXLENMNCtCRSxJQUFJLEVLMytCaEIsdUJBQXVCLENBY0M7TXRCaEs5QixXQUFXLEVGekVILFNBQVksR3dCMk9iOztBQU1ULEFBQ0UsaUJBRGUsQUFDZCxLQUFLLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsSUFBSTtFQUNwQixLQUFLLEVBQUUsSUFBSSxHQThKWjtFQWxLSCxBQU1JLGlCQU5hLEFBQ2QsS0FBSyxBQUtILElBQUssQ0FBQSxhQUFhLEVBQUU7SUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7RWJwU0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYTRSOUMsQUFDRSxpQkFEZSxBQUNkLEtBQUssQ0FBQztNckJyUlAsS0FBSyxFSG1DRyxNQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TXFCeVN2QyxZQUFZLEVBQUUsQ0FBQyxHQTRJbEI7TUFsS0gsQUFXTSxpQkFYVyxBQUNkLEtBQUssQUFVRCxZQUFhLENBQUEsTUFBTSxHQVgxQixpQkFBaUIsQUFDZCxLQUFLLEFBV0QsWUFBYSxDQUFBLE1BQU0sRUFBRTtRckJoUzFCLEtBQUssRUhtQ0csSUFBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCO1FxQmlTckMsWUFBWSxFQUFFLENBQUMsR0FDaEI7UUFmUCxBckJqUkUsaUJxQmlSZSxBQUNkLEtBQUssQUFVRCxZQUFhLENBQUEsTUFBTSxDckI1UnZCLFdBQVcsRXFCaVJkLGlCQUFpQixBQUNkLEtBQUssQUFXRCxZQUFhLENBQUEsTUFBTSxDckI3UnZCLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01xQitRSCxBQU1JLGlCQU5hLEFBQ2QsS0FBSyxBQUtILElBQUssQ0FBQSxhQUFhLEVBV0k7UUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7TUFuQlAsQXJCalJFLGlCcUJpUmUsQUFDZCxLQUFLLEFyQmxSTCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFcUIrUUgsQUF5QkksaUJBekJhLEFBQ2QsS0FBSyxDQXdCSixhQUFhLENBQUM7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsSUFBSSxHQVlkO0liNVRDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWFvUi9DLEFBeUJJLGlCQXpCYSxBQUNkLEtBQUssQ0F3QkosYUFBYSxDQUFDO1FBTVYsYUFBYSxFQUFFLEdBQUcsR0FTckI7SUF4Q0wsQUFrQ00saUJBbENXLEFBQ2QsS0FBSyxDQXdCSixhQUFhLENBU1gsS0FBSyxDQUFDO01BQ0osS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsR0FBRztNQUNYLGdCQUFnQixFZHhTWixPQUFPO01jeVNYLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUF2Q1AsQUF5Q0ksaUJBekNhLEFBQ2QsS0FBSyxDQXdDSixVQUFVLENBQUM7SUFDVCxLQUFLLEVkN1NDLE9BQU87SWM4U2IsVUFBVSxFQUFFLElBQUksR0FPakI7SWJ0VUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYW9SL0MsQUF5Q0ksaUJBekNhLEFBQ2QsS0FBSyxDQXdDSixVQUFVLENBQUM7UUFLUCxVQUFVLEVBQUUsSUFBSTtRYnBRdEIsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsUUFBQyxHYXVRUjtFYnRVQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lhb1IvQyxBQXFETSxpQkFyRFcsQUFDZCxLQUFLLENBb0RGLHdCQUF3QixDQUFDO01BQ3ZCLGNBQWMsRUFBRSxHQUFHO01BQ25CLFdBQVcsRUFBRSxVQUFVO01BQ3ZCLGVBQWUsRUFBRSxhQUFhLEdBUy9CO01BakVQLEFBMERRLGlCQTFEUyxBQUNkLEtBQUssQ0FvREYsd0JBQXdCLENBS3RCLHFCQUFxQixDQUFDO1FBQ3BCLElBQUksRUFBRSxTQUFTLEdBQ2hCO01BNURULEFBOERRLGlCQTlEUyxBQUNkLEtBQUssQ0FvREYsd0JBQXdCLENBU3RCLHVCQUF1QixDQUFDO1FBQ3RCLElBQUksRUFBRSxTQUFTLEdBQ2hCO0ViNVZILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWE0UjlDLEFBdUVRLGlCQXZFUyxBQUNkLEtBQUssQUFtRUgsWUFBYSxDQUFBLE1BQU0sRUFHaEIsVUFBVSxFQXZFbEIsaUJBQWlCLEFBQ2QsS0FBSyxBQW9FSCxZQUFhLENBQUEsTUFBTSxFQUVoQixVQUFVLENBQUM7TUFDVCxVQUFVLEVBQUUsSUFBSSxHQUNqQjtFYjdWSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lhb1IvQyxBQTRFUSxpQkE1RVMsQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBUWhCLGFBQWEsRUE1RXJCLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFPaEIsYUFBYSxDQUFDO01BQ1osT0FBTyxFQUFFLEtBQUs7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsS0FBSztNQUNaLElBQUksRUFBRSxDQUFDO01BQ1AsR0FBRyxFQUFFLEdBQUcsR0FDVDtFYjlXSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lhNFI5QyxBQXVGVSxpQkF2Rk8sQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBbUJiLHdCQUFPLEVBdkZsQixpQkFBaUIsQUFDZCxLQUFLLEFBb0VILFlBQWEsQ0FBQSxNQUFNLEVBa0JiLHdCQUFPLENBQUM7TUFDUCxjQUFjLEVBQUUsV0FBVztNQUMzQixXQUFXLEVBQUUsVUFBVSxHQUN4QjtJQTFGWCxBQTRGVSxpQkE1Rk8sQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ0FPYixxQkFBcUIsRUE1Ri9CLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDQU9iLHFCQUFxQixDQUFDO01yQmhYOUIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TXFCaVhqQyxZQUFZLEVBQUUsWUFBWSxHQUMzQjtNQS9GWCxBckJqUkUsaUJxQmlSZSxBQUNkLEtBQUssQUFtRUgsWUFBYSxDQUFBLE1BQU0sRUFpQmxCLGlCQUFpQixDQU9iLHFCQUFxQixBckI3VzVCLFdBQVcsRXFCaVJkLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDQU9iLHFCQUFxQixBckI3VzVCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lxQitRSCxBQWlHVSxpQkFqR08sQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ0FZYix1QkFBdUIsRUFqR2pDLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDQVliLHVCQUF1QixDQUFDO01yQnJYaEMsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TXFCc1hqQyxZQUFZLEVBQUUsZUFBZTtNQUM3QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtNQXJHWCxBckJqUkUsaUJxQmlSZSxBQUNkLEtBQUssQUFtRUgsWUFBYSxDQUFBLE1BQU0sRUFpQmxCLGlCQUFpQixDQVliLHVCQUF1QixBckJsWDlCLFdBQVcsRXFCaVJkLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDQVliLHVCQUF1QixBckJsWDlCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lxQitRSCxBQXVHVSxpQkF2R08sQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ0FrQmIsTUFBTSxBQUFBLEdBQUcsRUF2R25CLGlCQUFpQixBQUNkLEtBQUssQUFtRUgsWUFBYSxDQUFBLE1BQU0sRUFpQmxCLGlCQUFpQixDWHpOdkIsVUFBVSxDQWVSLEVBQUUsQVc0Tk0sTUFBTSxFWDNPaEIsVUFBVSxDV29JVixpQkFBaUIsQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ1gxTXJCLEVBQUUsQVc0Tk0sTUFBTTtJQXZHaEIsaUJBQWlCLEFBQ2QsS0FBSyxBQW1FSCxZQUFhLENBQUEsTUFBTSxFQWlCbEIsaUJBQWlCLENYek52QixVQUFVLENBZ0JSLEVBQUUsQVcyTk0sTUFBTSxFWDNPaEIsVUFBVSxDV29JVixpQkFBaUIsQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ1h6TXJCLEVBQUUsQVcyTk0sTUFBTSxFQXZHaEIsaUJBQWlCLEFBQ2QsS0FBSyxBQW9FSCxZQUFhLENBQUEsTUFBTSxFQWdCbEIsaUJBQWlCLENBa0JiLE1BQU0sQUFBQSxHQUFHLEVBdkduQixpQkFBaUIsQUFDZCxLQUFLLEFBb0VILFlBQWEsQ0FBQSxNQUFNLEVBZ0JsQixpQkFBaUIsQ1h6TnZCLFVBQVUsQ0FlUixFQUFFLEFXNE5NLE1BQU0sRVgzT2hCLFVBQVUsQ1dvSVYsaUJBQWlCLEFBQ2QsS0FBSyxBQW9FSCxZQUFhLENBQUEsTUFBTSxFQWdCbEIsaUJBQWlCLENYMU1yQixFQUFFLEFXNE5NLE1BQU07SUF2R2hCLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDWHpOdkIsVUFBVSxDQWdCUixFQUFFLEFXMk5NLE1BQU0sRVgzT2hCLFVBQVUsQ1dvSVYsaUJBQWlCLEFBQ2QsS0FBSyxBQW9FSCxZQUFhLENBQUEsTUFBTSxFQWdCbEIsaUJBQWlCLENYek1yQixFQUFFLEFXMk5NLE1BQU0sQ0FBSTtNYjdUbEIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsSUFBQztNQUlYLFdBQVcsRUFBQyxJQUFDO01BQ2IsV0FBVyxFQUFDLE9BQUMsR2EwVEo7RWI5WEwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYW9SL0MsQUFpR1UsaUJBakdPLEFBQ2QsS0FBSyxBQW1FSCxZQUFhLENBQUEsTUFBTSxFQWlCbEIsaUJBQWlCLENBWWIsdUJBQXVCLEVBakdqQyxpQkFBaUIsQUFDZCxLQUFLLEFBb0VILFlBQWEsQ0FBQSxNQUFNLEVBZ0JsQixpQkFBaUIsQ0FZYix1QkFBdUIsQ0FhQztNckJsWWhDLEtBQUssRUhtQ0csTUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01xQm1ZakMsWUFBWSxFQUFFLFFBQVEsR0FDdkI7TUFqSFgsQXJCalJFLGlCcUJpUmUsQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ0FZYix1QkFBdUIsQXJCbFg5QixXQUFXLEVxQmlSZCxpQkFBaUIsQUFDZCxLQUFLLEFBb0VILFlBQWEsQ0FBQSxNQUFNLEVBZ0JsQixpQkFBaUIsQ0FZYix1QkFBdUIsQXJCbFg5QixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJcUIrUUgsQUF1R1UsaUJBdkdPLEFBQ2QsS0FBSyxBQW1FSCxZQUFhLENBQUEsTUFBTSxFQWlCbEIsaUJBQWlCLENBa0JiLE1BQU0sQUFBQSxHQUFHLEVBdkduQixpQkFBaUIsQUFDZCxLQUFLLEFBbUVILFlBQWEsQ0FBQSxNQUFNLEVBaUJsQixpQkFBaUIsQ1h6TnZCLFVBQVUsQ0FlUixFQUFFLEFXNE5NLE1BQU0sRVgzT2hCLFVBQVUsQ1dvSVYsaUJBQWlCLEFBQ2QsS0FBSyxBQW1FSCxZQUFhLENBQUEsTUFBTSxFQWlCbEIsaUJBQWlCLENYMU1yQixFQUFFLEFXNE5NLE1BQU07SUF2R2hCLGlCQUFpQixBQUNkLEtBQUssQUFtRUgsWUFBYSxDQUFBLE1BQU0sRUFpQmxCLGlCQUFpQixDWHpOdkIsVUFBVSxDQWdCUixFQUFFLEFXMk5NLE1BQU0sRVgzT2hCLFVBQVUsQ1dvSVYsaUJBQWlCLEFBQ2QsS0FBSyxBQW1FSCxZQUFhLENBQUEsTUFBTSxFQWlCbEIsaUJBQWlCLENYek1yQixFQUFFLEFXMk5NLE1BQU0sRUF2R2hCLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDQWtCYixNQUFNLEFBQUEsR0FBRyxFQXZHbkIsaUJBQWlCLEFBQ2QsS0FBSyxBQW9FSCxZQUFhLENBQUEsTUFBTSxFQWdCbEIsaUJBQWlCLENYek52QixVQUFVLENBZVIsRUFBRSxBVzROTSxNQUFNLEVYM09oQixVQUFVLENXb0lWLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDWDFNckIsRUFBRSxBVzROTSxNQUFNO0lBdkdoQixpQkFBaUIsQUFDZCxLQUFLLEFBb0VILFlBQWEsQ0FBQSxNQUFNLEVBZ0JsQixpQkFBaUIsQ1h6TnZCLFVBQVUsQ0FnQlIsRUFBRSxBVzJOTSxNQUFNLEVYM09oQixVQUFVLENXb0lWLGlCQUFpQixBQUNkLEtBQUssQUFvRUgsWUFBYSxDQUFBLE1BQU0sRUFnQmxCLGlCQUFpQixDWHpNckIsRUFBRSxBVzJOTSxNQUFNLENBWUk7TWJ6VWxCLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxNQUFDLEdhc1VKO0ViMVlMLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWFvUi9DLEFBMEhJLGlCQTFIYSxBQUNkLEtBQUssQUF5SEgsWUFBYSxDQUFBLE1BQU0sRUFBRTtNQUVsQixhQUFhLEVBQUUsS0FBSyxHQUV2QjtFQTlITCxBQWlJTSxpQkFqSVcsQUFDZCxLQUFLLENBZ0lELDBCQUFTLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNkO0VBbklQLEFBb0lNLGlCQXBJVyxBQUNkLEtBQUssQ0ErSEosaUJBQWlCLENBSWYsVUFBVSxDQUFDO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FDVDtFQXRJUCxBQXdJTSxpQkF4SVcsQUFDZCxLQUFLLENBK0hKLGlCQUFpQixDQVFmLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxDQUFDLEdBQ1Q7RUExSVAsQUE0SU0saUJBNUlXLEFBQ2QsS0FBSyxDQTJJRCwwQkFBUyxDQUFDO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FDVDtFQTlJUCxBQWdKTSxpQkFoSlcsQUFDZCxLQUFLLENBK0lELHVCQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsQ0FBQztJdkJoVmQsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBRndCLEtBQUs7SUFHNUMsS0FBSyxFQUFFLElBQUk7SUFHVCxXQUFXLEV1QjRVVyxNQUFNO0l2QnBVNUIsU0FBUyxFQUFFLElBQUk7SXVCcVVYLFVBQVUsRUFBRSxNQUFNLEdBS25CO0lBeEpQLEFBcUpRLGlCQXJKUyxBQUNkLEtBQUssQ0ErSUQsdUJBQU0sQ0FLTCxJQUFJLENBQUM7TUFDSCxLQUFLLEVkdlpELE9BQU8sR2N3Wlo7RUF2SlQsQUEwSk0saUJBMUpXLEFBQ2QsS0FBSyxDQStISixpQkFBaUIsQ0EwQmYscUJBQXFCLENBQUM7SUFDcEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUE1SlAsQUErSkksaUJBL0phLEFBQ2QsS0FBSyxBQThKSCxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ1QsS0FBSyxFZG5hQyxPQUFPLEdjb2FkOztBQWpLTCxBQW9LRSxpQkFwS2UsQUFvS2QsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLGdCQUFnQixHQUMxQjs7QUF0S0gsQUF3S0UsaUJBeEtlLEFBd0tkLE9BQU8sRUF4S1YsaUJBQWlCLEFBeUtkLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSyxDZHZhWix3QkFBTztFY3dhbEIsUUFBUSxFQUFFLFFBQVEsR0E2Q25CO0VBeE5ILEFBNktJLGlCQTdLYSxBQXdLZCxPQUFPLENBS04sV0FBVyxBQUFBLE9BQU8sRUE3S3RCLGlCQUFpQixBQXdLZCxPQUFPLENadmFWLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVHZ1BsQixpQkFBaUIsQUF3S2QsT0FBTyxDTjFYViwwQkFBMEIsQUc5QmYsT0FBTyxFR2dQbEIsaUJBQWlCLEFBd0tkLE9BQU8sQ0FwZFYsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0EySVgsaUJBQWlCLEFBd0tkLE9BQU8sQ0ExU0osSUFBSSxBSDlHQyxPQUFPLEVHZ1BsQixpQkFBaUIsQUF5S2QsTUFBTSxDQUlMLFdBQVcsQUFBQSxPQUFPLEVBN0t0QixpQkFBaUIsQUF5S2QsTUFBTSxDWnhhVCxDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTyxFR2dQbEIsaUJBQWlCLEFBeUtkLE1BQU0sQ04zWFQsMEJBQTBCLEFHOUJmLE9BQU8sRUdnUGxCLGlCQUFpQixBQXlLZCxNQUFNLENBcmRULFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTyxFRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBMklYLGlCQUFpQixBQXlLZCxNQUFNLENBM1NILElBQUksQUg5R0MsT0FBTyxDRzZaSztJQUNqQixRQUFRLEVBQUUsUUFBUTtJYnBZdEIsU0FBUyxFQUFDLElBQUM7SUFDWCxTQUFTLEVBQUMsUUFBQztJYXFZUCxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVkdGJDLE9BQU87SWN1YmIsT0FBTyxFQUFFLENBQUM7SWIvVmQsaUJBQWlCLEVhZ1dNLGlCQUFpQjtJYi9WeEMsY0FBYyxFYStWUyxpQkFBaUI7SWI5VnhDLGFBQWEsRWE4VlUsaUJBQWlCO0liN1Z4QyxZQUFZLEVhNlZXLGlCQUFpQjtJYjVWeEMsU0FBUyxFYTRWYyxpQkFBaUI7SWJ4VnhDLGtCQUFrQixFYXlWRCxPQUFPLENBQUMsSUFBSSxDZHZaaEIsd0NBQXdDLEVjdVpSLFNBQVMsQ0FBQyxJQUFJLENkdlo5Qyx3Q0FBd0M7SUMrRHJELGVBQWUsRWF3VkUsT0FBTyxDQUFDLElBQUksQ2R2WmhCLHdDQUF3QyxFY3VaUixTQUFTLENBQUMsSUFBSSxDZHZaOUMsd0NBQXdDO0lDZ0VyRCxjQUFjLEVhdVZHLE9BQU8sQ0FBQyxJQUFJLENkdlpoQix3Q0FBd0MsRWN1WlIsU0FBUyxDQUFDLElBQUksQ2R2WjlDLHdDQUF3QztJQ2lFckQsYUFBYSxFYXNWSSxPQUFPLENBQUMsSUFBSSxDZHZaaEIsd0NBQXdDLEVjdVpSLFNBQVMsQ0FBQyxJQUFJLENkdlo5Qyx3Q0FBd0M7SUNrRXJELFVBQVUsRWFxVk8sT0FBTyxDQUFDLElBQUksQ2R2WmhCLHdDQUF3QyxFY3VaUixTQUFTLENBQUMsSUFBSSxDZHZaOUMsd0NBQXdDLEdjeVpsRDtFYm5iRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWEyUDVCLEFBd0tFLGlCQXhLZSxBQXdLZCxPQUFPLEVBeEtWLGlCQUFpQixBQXlLZCxNQUFNLENBQUM7TUFrQkosVUFBVSxFQUFFLElBQUk7TUFDaEIsUUFBUSxFQUFFLFFBQVEsR0E0QnJCO01BeE5ILEFBOExNLGlCQTlMVyxBQXdLZCxPQUFPLEFBc0JILE9BQU8sRUE5TGQsaUJBQWlCLEFBeUtkLE1BQU0sQUFxQkYsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxLQUFLO1FBQ2IsS0FBSyxFQUFFLElBQUk7UUFFWCxJQUFJLEVBQUUsQ0FBQztRQUNQLGdCQUFnQixFZGxjVCx3QkFBTztRY21jZCxHQUFHLEVBQUUsQ0FBQztRQUNOLFFBQVEsRUFBRSxRQUFRLEdBQ25CO0VBeE1QLEFBNE1NLGlCQTVNVyxBQXdLZCxPQUFPLEFBbUNMLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUNuQixFQUFFO0VBNU1SLGlCQUFpQixBQXdLZCxPQUFPLEFBbUNMLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUVuQixFQUFFO0VBN01SLGlCQUFpQixBQXdLZCxPQUFPLEFBbUNMLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUduQixFQUFFO0VBOU1SLGlCQUFpQixBQXdLZCxPQUFPLEFBbUNMLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUluQixFQUFFLEVBL01SLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUNuQixFQUFFO0VBNU1SLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUVuQixFQUFFO0VBN01SLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUduQixFQUFFO0VBOU1SLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUluQixFQUFFLENBQUM7SUFDRCxLQUFLLEVkbmRELE9BQU8sR2NvZFo7RUFqTlAsQUFtTk0saUJBbk5XLEFBd0tkLE9BQU8sQUFtQ0wsSUFBSyxDQUFBLFFBQVEsQ0FBQyxNQUFNLENBUW5CLFdBQVcsQUFBQSxPQUFPLEVBbk54QixpQkFBaUIsQUF3S2QsT0FBTyxBQW1DTCxJQUFLLENBQUEsUUFBUSxDQUFDLE1BQU0sQ1oxY3pCLENBQUMsQUFBQSxlQUFlLEFBNkJiLE1BQU0sQVNkRSxPQUFPLEVHZ1BsQixpQkFBaUIsQUF3S2QsT0FBTyxBQW1DTCxJQUFLLENBQUEsUUFBUSxDQUFDLE1BQU0sQ043WnpCLDBCQUEwQixBRzlCZixPQUFPLEVHZ1BsQixpQkFBaUIsQUF3S2QsT0FBTyxBQW1DTCxJQUFLLENBQUEsUUFBUSxDQUFDLE1BQU0sQ0F2ZnpCLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTyxFRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBMklYLGlCQUFpQixBQXdLZCxPQUFPLEFBbUNMLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQTdVbkIsSUFBSSxBSDlHQyxPQUFPLEVHZ1BsQixpQkFBaUIsQUF5S2QsTUFBTSxBQWtDSixJQUFLLENBQUEsUUFBUSxDQUFDLE1BQU0sQ0FRbkIsV0FBVyxBQUFBLE9BQU8sRUFuTnhCLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDWjFjekIsQ0FBQyxBQUFBLGVBQWUsQUE2QmIsTUFBTSxBU2RFLE9BQU8sRUdnUGxCLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDTjdaekIsMEJBQTBCLEFHOUJmLE9BQU8sRUdnUGxCLGlCQUFpQixBQXlLZCxNQUFNLEFBa0NKLElBQUssQ0FBQSxRQUFRLENBQUMsTUFBTSxDQXZmekIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBU0wsSUFBSSxBSDlHQyxPQUFPLEVHNURsQixZQUFZLEFBbUdULE9BQU8sQ0E4RE4sQ0FBQyxBQUFBLE1BQU0sQ0EySVgsaUJBQWlCLEFBeUtkLE1BQU0sQUFrQ0osSUFBSyxDQUFBLFFBQVEsQ0FBQyxNQUFNLENBN1VuQixJQUFJLEFIOUdDLE9BQU8sQ0dtY087SUFDakIsT0FBTyxFQUFFLENBQUM7SWIvWGhCLGlCQUFpQixFYWdZUSxhQUFhO0liL1h0QyxjQUFjLEVhK1hXLGFBQWE7SWI5WHRDLGFBQWEsRWE4WFksYUFBYTtJYjdYdEMsWUFBWSxFYTZYYSxhQUFhO0liNVh0QyxTQUFTLEVhNFhnQixhQUFhLEdBQ2pDOztBQXROUCxBQTBORSxpQkExTmUsQUEwTmQsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLGVBQWUsR0FpRHpCO0VieGlCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lhNFI5QyxBQTBORSxpQkExTmUsQUEwTmQsT0FBTyxDQUFDO01BR0wsY0FBYyxFQUFFLElBQUksR0ErQ3ZCO0ViaGlCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lhb1IvQyxBQXdPSSxpQkF4T2EsQUF3S2QsT0FBTyxDQUtOLFdBQVcsQUFBQSxPQUFPLEVBN0t0QixpQkFBaUIsQUF3S2QsT0FBTyxDWnZhVixDQUFDLEFBQUEsZUFBZSxBQTZCYixNQUFNLEFTZEUsT0FBTyxFR2dQbEIsaUJBQWlCLEFBd0tkLE9BQU8sQ04xWFYsMEJBQTBCLEFHOUJmLE9BQU8sRUdnUGxCLGlCQUFpQixBQXdLZCxPQUFPLENBcGRWLFlBQVksQUFtR1QsT0FBTyxDQThETixDQUFDLEFBQUEsTUFBTSxDQVNMLElBQUksQUg5R0MsT0FBTyxFRzVEbEIsWUFBWSxBQW1HVCxPQUFPLENBOEROLENBQUMsQUFBQSxNQUFNLENBMklYLGlCQUFpQixBQXdLZCxPQUFPLENBMVNKLElBQUksQUg5R0MsT0FBTyxDR3dkSztNQUVmLEdBQUcsRUFBRSxJQUFJLEdBRVo7RWJ4Z0JDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWE0UjlDLEFBOE9JLGlCQTlPYSxBQTBOZCxPQUFPLENBb0JOLE1BQU0sQ0FBQztNYnBjVCxTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxNQUFDO01BSVgsV0FBVyxFQUFDLElBQUM7TUFDYixXQUFXLEVBQUMsU0FBQztNYWtjUCxhQUFhLEVBQUUsSUFBSSxHQU90QjtFYjdnQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYW9SL0MsQUE4T0ksaUJBOU9hLEFBME5kLE9BQU8sQ0FvQk4sTUFBTSxDQUFDO01icGNULFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxNQUFDLEdheWNWO0VBelBMLEFBMlBJLGlCQTNQYSxBQTBOZCxPQUFPLENBaUNOLGNBQWMsQ0FBQztJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUk7SUFDakIsYUFBYSxFQUFFLEdBQUcsR0FLbkI7SWIvaEJDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWE0UjlDLEFBMlBJLGlCQTNQYSxBQTBOZCxPQUFPLENBaUNOLGNBQWMsQ0FBQztRQUtiLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUksR0FFbEI7RUFuUUwsQUFxUUksaUJBclFhLEFBME5kLE9BQU8sQ0EyQ04sY0FBYyxBQUFBLFNBQVMsRUFyUTNCLGlCQUFpQixBQTBOZCxPQUFPLENYOVZWLFVBQVUsQ0FxRVIsRUFBRSxDQUNBLEVBQUUsQVUxRkgsU0FBUyxBVmlHTCxPQUFPLEVBN0VkLFVBQVUsQ0FxRVIsRUFBRSxDVytESixpQkFBaUIsQUEwTmQsT0FBTyxDWHhSTixFQUFFLEFVMUZILFNBQVMsQVZpR0wsT0FBTyxDVzRUYztJQUN0QixXQUFXLEVBQUUsR0FBRyxHQUtqQjtJYi9oQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYW9SL0MsQUFxUUksaUJBclFhLEFBME5kLE9BQU8sQ0EyQ04sY0FBYyxBQUFBLFNBQVMsRUFyUTNCLGlCQUFpQixBQTBOZCxPQUFPLENYOVZWLFVBQVUsQ0FxRVIsRUFBRSxDQUNBLEVBQUUsQVUxRkgsU0FBUyxBVmlHTCxPQUFPLEVBN0VkLFVBQVUsQ0FxRVIsRUFBRSxDVytESixpQkFBaUIsQUEwTmQsT0FBTyxDWHhSTixFQUFFLEFVMUZILFNBQVMsQVZpR0wsT0FBTyxDVzRUYztRQUlwQixTQUFTLEVBQUUsSUFBSSxHQUVsQjs7QUFHRixBQUFELDBCQUFVLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQWFqQjtFQWRBLEFBR0MsMEJBSFEsQ0FHUixDQUFDLENBQUM7SUFDQSxLQUFLLEVkOWdCRyxPQUFPLEdjK2dCaEI7RWJ2aUJDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWFraUI1QyxBQUFELDBCQUFVLENBQUM7TUFRUCxTQUFTLEVBQUUsS0FBSyxHQU1uQjtFYjVpQkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYThoQjVDLEFBQUQsMEJBQVUsQ0FBQztNQVlQLFNBQVMsRUFBRSxLQUFLLEdBRW5COztBQTVSSCxBQStSSSxpQkEvUmEsQUE4UmQsUUFBUSxBQUNOLElBQUssQ0F6UkEsYUFBYSxFQXlSRTtFQUNuQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QWI3akJDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWE0UjlDLEFBK1JJLGlCQS9SYSxBQThSZCxRQUFRLEFBQ04sSUFBSyxDQXpSQSxhQUFhLEVBOFJJO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQXRTUCxBQXlTSSxpQkF6U2EsQUE4UmQsUUFBUSxDQVdQLFNBQVMsQ0FBQztFQUNSLFNBQVMsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLElBQUksR0FNaEI7RWI3a0JDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWE0UjlDLEFBeVNJLGlCQXpTYSxBQThSZCxRQUFRLENBV1AsU0FBUyxDQUFDO01BS04sVUFBVSxFQUFFLElBQUk7TUFDaEIsUUFBUSxFQUFFLFFBQVEsR0FFckI7O0FBalRMLEFBbVRJLGlCQW5UYSxBQThSZCxRQUFRLENBcUJQLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRLEdBNkJuQjtFYjdtQkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJYTRSOUMsQUFtVEksaUJBblRhLEFBOFJkLFFBQVEsQ0FxQlAsTUFBTSxDQUFDO01BSUgsV0FBVyxFQUFFLEtBQUs7TUFDbEIsT0FBTyxFQUFFLFlBQVksR0F5QnhCO0VBalZMLEFBMlRNLGlCQTNUVyxBQThSZCxRQUFRLENBcUJQLE1BQU0sQUFRSCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLGdCQUFnQixFZDdpQmYsT0FBTztJYzhpQlIsTUFBTSxFQUFFLEdBQUc7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFFbEIsR0FBRyxFQUFFLGlCQUFpQjtJYnRlNUIsa0JBQWtCLEVhaWZFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVE7SWJoZnRFLGVBQWUsRWFnZkssS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUTtJYi9ldEUsY0FBYyxFYStlTSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRO0liOWV0RSxhQUFhLEVhOGVPLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVE7SWI3ZXRFLFVBQVUsRWE2ZVUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUVqRTtJYjVtQkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNYTRSOUMsQUEyVE0saUJBM1RXLEFBOFJkLFFBQVEsQ0FxQlAsTUFBTSxBQVFILE9BQU8sQ0FBQztRQVdMLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLGlCQUFpQixHQVMzQjtJYnBtQkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNYW9SL0MsQUEyVE0saUJBM1RXLEFBOFJkLFFBQVEsQ0FxQlAsTUFBTSxBQVFILE9BQU8sQ0FBQztRQWdCTCxLQUFLLEVBQUUsaUJBQWlCLEdBSzNCOztBYjVtQkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFYTRSOUMsQUFzVlUsaUJBdFZPLEFBOFJkLFFBQVEsQUFxRE4sTUFBTSxDQUVILE1BQU0sQUFDSCxPQUFPLENBQUM7SWJqZ0JqQixpQkFBaUIsRWFrZ0JZLGlCQUFpQjtJYmpnQjlDLGNBQWMsRWFpZ0JlLGlCQUFpQjtJYmhnQjlDLGFBQWEsRWFnZ0JnQixpQkFBaUI7SWIvZjlDLFlBQVksRWErZmlCLGlCQUFpQjtJYjlmOUMsU0FBUyxFYThmb0IsaUJBQWlCLEdBQ3JDOztBQ3BvQlgsQUFBQSxPQUFPLEFBQUEsT0FBTyxDQUFDO0VBQ2IsT0FBTyxFQUFFLENBQUMsR0FzTVg7RUF2TUQsQUFHRSxPQUhLLEFBQUEsT0FBTyxDQUdaLFlBQVksQ0FBQztJQUNYLEtBQUssRWZxQ0csT0FBTyxHZXBDaEI7RUFMSCxBQU9FLE9BUEssQUFBQSxPQUFPLENBT1osY0FBYztFQVBoQixPQUFPLEFBQUEsT0FBTyxDQVFaLFlBQVksQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBU3BCO0lkRkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY2hCOUMsQUFPRSxPQVBLLEFBQUEsT0FBTyxDQU9aLGNBQWM7TUFQaEIsT0FBTyxBQUFBLE9BQU8sQ0FRWixZQUFZLENBQUM7UUFJVCxhQUFhLEVBQUUsSUFBSSxHQU10QjtJZE1HLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWN4Qi9DLEFBT0UsT0FQSyxBQUFBLE9BQU8sQ0FPWixjQUFjO01BUGhCLE9BQU8sQUFBQSxPQUFPLENBUVosWUFBWSxDQUFDO1FBUVQsYUFBYSxFQUFFLEtBQUssR0FFdkI7RUFsQkgsQUFvQkUsT0FwQkssQUFBQSxPQUFPLENBb0JaLGNBQWMsQ0FBQztJQUNiLGdCQUFnQixFQUFFLE9BQU87SWRvUDNCLFdBQVcsRUFBRSxLQUFLO0ljaFBoQixRQUFRLEVBQUUsTUFBTSxHQUtqQjtJZGRHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBb0JFLE9BcEJLLEFBQUEsT0FBTyxDQW9CWixjQUFjLENBQUM7UWR3UGIsV0FBVyxFQUFFLEtBQUssR2M5T25CO0lkTkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3hCL0MsQUFvQkUsT0FwQkssQUFBQSxPQUFPLENBb0JaLGNBQWMsQ0FBQztRZDRQYixXQUFXLEVBQUUsS0FBSyxHY2xQbkI7SWRORyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jeEIvQyxBQW9CRSxPQXBCSyxBQUFBLE9BQU8sQ0FvQlosY0FBYyxDQUFDO1FBUVgsV0FBVyxFQUFFLEtBQUssR0FFckI7RWRkRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljaEI5QyxBQWdDRSxPQWhDSyxBQUFBLE9BQU8sQ0FnQ1osYUFBYSxDQUFDO012QlRkLFlBQVksRUFBRSxJQUE2QjtNQUczQyxLQUFLLEVGaUNHLFNBQVk7TUVoQ3BCLEtBQUssRUFBRSxJQUFJO01BeUdYLFdBQVcsRUZ6RUgsUUFBWSxHeUJBbkI7TUEzREgsQXZCNkJFLE91QjdCSyxBQUFBLE9BQU8sQ0FnQ1osYUFBYSxBdkJIWixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFU1BHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWN4Qi9DLEFBZ0NFLE9BaENLLEFBQUEsT0FBTyxDQWdDWixhQUFhLENBQUM7TUFPVixZQUFZLEVBQUUsQ0FBQztNdkJoQm5CLFlBQVksRUFBRSxJQUE2QjtNQUczQyxLQUFLLEVGaUNHLFNBQVk7TUVoQ3BCLEtBQUssRUFBRSxJQUFJLEd1QmdDVjtNQTNESCxBdkI2QkUsT3VCN0JLLEFBQUEsT0FBTyxDQWdDWixhQUFhLEF2QkhaLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0V1Qi9CSCxBQTRDSSxPQTVDRyxBQUFBLE9BQU8sQ0E0Q1QscUJBQVEsQ0FBQztJQUNSLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0lkbENDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBNENJLE9BNUNHLEFBQUEsT0FBTyxDQTRDVCxxQkFBUSxDQUFDO1FBSU4sT0FBTyxFQUFFLElBQUksR0FFaEI7RUFsREwsQUFvREksT0FwREcsQUFBQSxPQUFPLENBb0RULHNCQUFTLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSSxHQUtkO0lkMUNDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBb0RJLE9BcERHLEFBQUEsT0FBTyxDQW9EVCxzQkFBUyxDQUFDO1FBSVAsT0FBTyxFQUFFLEtBQUssR0FFakI7RUExREwsQUE2REUsT0E3REssQUFBQSxPQUFPLENBNkRaLGFBQWEsQ0FBQztJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEdBQUcsR0EwQmhCO0lkekVHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBNkRFLE9BN0RLLEFBQUEsT0FBTyxDQTZEWixhQUFhLENBQUM7UXZCdENkLFlBQVksRUFBRSxJQUE2QjtRQUczQyxLQUFLLEVGaUNHLFNBQVk7UUVoQ3BCLEtBQUssRUFBRSxJQUFJO1FBeUdYLFdBQVcsRUZ6RUgsUUFBWTtReUJVaEIsYUFBYSxFQUFFLElBQUksR0FvQnRCO1FBekZILEF2QjZCRSxPdUI3QkssQUFBQSxPQUFPLENBNkRaLGFBQWEsQXZCaENaLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0l1Qi9CSCxBQXdFSSxPQXhFRyxBQUFBLE9BQU8sQ0E2RFosYUFBYSxDQVdYLHFCQUFxQixDQUFDO01BQ3BCLE1BQU0sRUFBRSxJQUFJO01BQ1osU0FBUyxFQUFFLEtBQUs7TUFDaEIsTUFBTSxFQUFFLE1BQU0sR0FTZjtNZHBFQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FjaEI5QyxBQXdFSSxPQXhFRyxBQUFBLE9BQU8sQ0E2RFosYUFBYSxDQVdYLHFCQUFxQixDQUFDO1VBTWxCLFNBQVMsRUFBRSxLQUFLLEdBTW5CO01BcEZMLEFBaUZNLE9BakZDLEFBQUEsT0FBTyxDQTZEWixhQUFhLENBV1gscUJBQXFCLENBU25CLGNBQWMsQ0FBQztRQUNiLGdCQUFnQixFQUFFLFdBQVcsR0FDOUI7SUFuRlAsQUFzRkksT0F0RkcsQUFBQSxPQUFPLENBNkRaLGFBQWEsQ0F5QlgsR0FBRyxDQUFDO01BQ0YsbUJBQW1CLEVBQUUsTUFBTSxHQUM1QjtFQXhGTCxBQTJGRSxPQTNGSyxBQUFBLE9BQU8sQ0EyRlosZUFBZSxDQUFDO0lBQ2QsYUFBYSxFQUFFLElBQUksR0FrQnBCO0lkOUZHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBMkZFLE9BM0ZLLEFBQUEsT0FBTyxDQTJGWixlQUFlLENBQUM7UXRCbkVoQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtRRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEd5Qm1EbkI7UUE5R0gsQXRCMkJFLE9zQjNCSyxBQUFBLE9BQU8sQ0EyRlosZUFBZSxBdEJoRWQsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jeEIvQyxBQTJGRSxPQTNGSyxBQUFBLE9BQU8sQ0EyRlosZUFBZSxDQUFDO1FBU1osYUFBYSxFQUFFLENBQUM7UXRCNUVwQixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtRRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEd5Qm1EbkI7UUE5R0gsQXRCMkJFLE9zQjNCSyxBQUFBLE9BQU8sQ0EyRlosZUFBZSxBdEJoRWQsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXNCN0JILEFBMEdJLE9BMUdHLEFBQUEsT0FBTyxDQTJGWixlQUFlLENBZWIsQ0FBQyxDQUFDO01BQ0EsV0FBVyxFZjFFSCxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO01lMkVqRCxTQUFTLEVBQUUsT0FBTyxHQUNuQjtFQTdHTCxBQWdIRSxPQWhISyxBQUFBLE9BQU8sQ0FnSFosZUFBZSxDQUFDO0lBQ2QsS0FBSyxFZnJEQSxPQUFPLEdlNEViO0lkeEhHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBZ0hFLE9BaEhLLEFBQUEsT0FBTyxDQWdIWixlQUFlLENBQUM7UXZCb0JoQixXQUFXLEVGekVILFFBQVk7UUduQ3BCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEdzQitHMUM7UUF4SUgsQXRCMkJFLE9zQjNCSyxBQUFBLE9BQU8sQ0FnSFosZUFBZSxBdEJyRmQsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jeEIvQyxBQWdIRSxPQWhISyxBQUFBLE9BQU8sQ0FnSFosZUFBZSxDQUFDO1F0QnhGaEIsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR3NCK0cxQztRQXhJSCxBdEIyQkUsT3NCM0JLLEFBQUEsT0FBTyxDQWdIWixlQUFlLEF0QnJGZCxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJc0I3QkgsQUE0SEksT0E1SEcsQUFBQSxPQUFPLENBZ0haLGVBQWUsQ0FZYixFQUFFLENBQUM7TUFDRCxXQUFXLEVBQUUsQ0FBQztNQUNkLFVBQVUsRUFBRSxJQUFJLEdBS2pCO01kdkdDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UWM1Qi9DLEFBNEhJLE9BNUhHLEFBQUEsT0FBTyxDQWdIWixlQUFlLENBWWIsRUFBRSxDQUFDO1VBS0MsVUFBVSxFQUFFLElBQUksR0FFbkI7SUFuSUwsQUFxSUksT0FySUcsQUFBQSxPQUFPLENBZ0haLGVBQWUsQ0FxQmIsRUFBRSxDQUFDO01BQ0QsV0FBVyxFQUFFLENBQUMsR0FDZjtFQXZJTCxBQTBJRSxPQTFJSyxBQUFBLE9BQU8sQ0EwSVosYUFBYSxDQUFDO0lBQ1osYUFBYSxFQUFFLElBQUksR0FhcEI7SWR4SUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY2hCOUMsQUEwSUUsT0ExSUssQUFBQSxPQUFPLENBMElaLGFBQWEsQ0FBQztRQUlWLGFBQWEsRUFBRSxJQUFJLEdBVXRCO0lBeEpILEFBaUpJLE9BakpHLEFBQUEsT0FBTyxDQTBJWixhQUFhLENBT1gsQ0FBQyxDQUFDO01BQ0EsVUFBVSxFQUFFLElBQUksR0FLakI7TWQzSEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRYzVCL0MsQUFpSkksT0FqSkcsQUFBQSxPQUFPLENBMElaLGFBQWEsQ0FPWCxDQUFDLENBQUM7VUFJRSxVQUFVLEVBQUUsSUFBSSxHQUVuQjtFQXZKTCxBQTJKSSxPQTNKRyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBQ2pCLFlBQVk7RUEzSmhCLE9BQU8sQUFBQSxPQUFPLENBMEpaLG1CQUFtQixDQUVqQixhQUFhLENBQUM7SUFDWixLQUFLLEVBQUUsSUFBSSxHQVVaO0lkdkpDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWNoQjlDLEFBMkpJLE9BM0pHLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0FDakIsWUFBWTtNQTNKaEIsT0FBTyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBRWpCLGFBQWEsQ0FBQztRdEJwSWhCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCO1FEMkczQyxXQUFXLEVGekVILFFBQVksR3lCNEdqQjtRQXZLTCxBdEIyQkUsT3NCM0JLLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0FDakIsWUFBWSxBdEJoSWIsV0FBVztRc0IzQmQsT0FBTyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBRWpCLGFBQWEsQXRCaklkLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY3hCL0MsQUEySkksT0EzSkcsQUFBQSxPQUFPLENBMEpaLG1CQUFtQixDQUNqQixZQUFZO01BM0poQixPQUFPLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0FFakIsYUFBYSxDQUFDO1F0QnBJaEIsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR3NCOEl4QztRQXZLTCxBdEIyQkUsT3NCM0JLLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0FDakIsWUFBWSxBdEJoSWIsV0FBVztRc0IzQmQsT0FBTyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBRWpCLGFBQWEsQXRCaklkLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VzQjdCSCxBQXlLSSxPQXpLRyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBZWpCLEtBQUssQ0FBQztJQUNKLFdBQVcsRWZ6SUgsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVTtJUFRyRCxLQUFLLEVIbUNHLFFBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtJc0JxSnZDLEtBQUssRUFBRSxDQUFDLEdBQ1Q7SUEvS0wsQXRCMkJFLE9zQjNCSyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBZWpCLEtBQUssQXRCOUlOLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VzQjdCSCxBQWlMSSxPQWpMRyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBdUJqQixLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsQ0FBQztJdkI5Q1osV0FBVyxFRnpFSCxRQUFZO0lHbkNwQixLQUFLLEVIbUNHLFNBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHc0I0S3hDO0lBck1MLEF0QjJCRSxPc0IzQkssQUFBQSxPQUFPLENBMEpaLG1CQUFtQixDQXVCakIsS0FBSyxBdEJ0Sk4sV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXNCN0JILEFBdUxNLE9BdkxDLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0F1QmpCLEtBQUssQ0FNSCxPQUFPLENBQUM7TUFDTixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsR0FBRyxHQUtuQjtNZDdJSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UWNqRDVCLEFBdUxNLE9BdkxDLEFBQUEsT0FBTyxDQTBKWixtQkFBbUIsQ0F1QmpCLEtBQUssQ0FNSCxPQUFPLENBQUM7VWRqR1osU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsT0FBQyxHY3VHTjtJQTlMUCxBQWdNTSxPQWhNQyxBQUFBLE9BQU8sQ0EwSlosbUJBQW1CLENBdUJqQixLQUFLLENBZUgsTUFBTSxDQUFDO01kMUdYLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLElBQUM7TWM0R0wsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FkNUtELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWNpTC9DLEFBRUksT0FGRyxBQUFBLEtBQUssQ0FDVix3QkFBd0IsQUFBQSxjQUFjLENBQ3BDLENBQUMsQUFBQSxZQUFZLENBQUM7SWRySGhCLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLE1BQUM7SUFJWCxXQUFXLEVBQUMsSUFBQztJQUNiLFdBQVcsRUFBQyxRQUFDLEdjb0hWOztBQVBMLEFBVUUsT0FWSyxBQUFBLEtBQUssQ0FVVixZQUFZLENBQUM7RUFLWCxjQUFjLEVBQUUsQ0FBQyxHQU1sQjs7QUFyQkgsQUF1QkUsT0F2QkssQUFBQSxLQUFLLENBdUJWLHdCQUF3QixDQUFDO0VBQ3ZCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0VkdE5HLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWN5TDlDLEFBdUJFLE9BdkJLLEFBQUEsS0FBSyxDQXVCVix3QkFBd0IsQ0FBQztNQUlyQixhQUFhLEVBQUUsSUFBSSxHQUV0Qjs7QUE3QkgsQUErQkUsT0EvQkssQUFBQSxLQUFLLENBK0JWLGNBQWMsQ0FBQztFQUNiLEtBQUssRWY3TE8sT0FBTztFZThMbkIsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBbENILEFBb0NFLE9BcENLLEFBQUEsS0FBSyxDQW9DVixzQkFBc0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSSxHQUtwQjtFZDVORyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljaUwvQyxBQW9DRSxPQXBDSyxBQUFBLEtBQUssQ0FvQ1Ysc0JBQXNCLENBQUM7TUFJbkIsVUFBVSxFQUFFLElBQUk7TUFDaEIsYUFBYSxFQUFFLElBQUksR0FFdEI7O0FkeE5HLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RWM2Sy9DLEFBNENFLE9BNUNLLEFBQUEsS0FBSyxDQTRDViw2QkFBNkI7RUE1Qy9CLE9BQU8sQUFBQSxLQUFLLENBNkNWLDRCQUE0QixDQUFDO0lBRXpCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxJQUFJLEdBRXRCOztBQWxESCxBQW9ESSxPQXBERyxBQUFBLEtBQUssQ0FtRFYsMEJBQTBCLEFBQ3ZCLGNBQWMsQ0FBQztFQUNkLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBZHZPQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VjaUwvQyxBQW1ERSxPQW5ESyxBQUFBLEtBQUssQ0FtRFYsMEJBQTBCLENBQUM7SXZCck8zQixZQUFZLEVBQUUsSUFBNkI7SUFHM0MsS0FBSyxFRmlDRyxNQUFZO0lFaENwQixLQUFLLEVBQUUsSUFBSSxHdUIyT1Y7SUE3REgsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0FtRFYsMEJBQTBCLEF2Qi9OekIsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXVCMEtILEFBb0RJLE9BcERHLEFBQUEsS0FBSyxDQW1EViwwQkFBMEIsQUFDdkIsY0FBYyxDQUtHO01BQ2QsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBM0RQLEFBOERFLE9BOURLLEFBQUEsS0FBSyxDQThEVixhQUFhO0FBOURmLE9BQU8sQUFBQSxLQUFLLENBK0RWLG9CQUFvQixDQUFDO0V2QmpQckIsWUFBWSxFQUFFLElBQTZCO0VBRzNDLEtBQUssRUZpQ0csSUFBWTtFRWhDcEIsS0FBSyxFQUFFLElBQUksR3VCdVBWO0VBekVILEF2QjVLRSxPdUI0S0ssQUFBQSxLQUFLLENBOERWLGFBQWEsQXZCMU9aLFdBQVc7RXVCNEtkLE9BQU8sQUFBQSxLQUFLLENBK0RWLG9CQUFvQixBdkIzT25CLFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VTZkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY3lMOUMsQUE4REUsT0E5REssQUFBQSxLQUFLLENBOERWLGFBQWE7SUE5RGYsT0FBTyxBQUFBLEtBQUssQ0ErRFYsb0JBQW9CLENBQUM7TXZCalByQixZQUFZLEVBQUUsSUFBNkI7TUFHM0MsS0FBSyxFRmlDRyxTQUFZO01FaENwQixLQUFLLEVBQUUsSUFBSTtNQXlHWCxXQUFXLEVGekVILFFBQVksR3lCdU5uQjtNQXpFSCxBdkI1S0UsT3VCNEtLLEFBQUEsS0FBSyxDQThEVixhQUFhLEF2QjFPWixXQUFXO011QjRLZCxPQUFPLEFBQUEsS0FBSyxDQStEVixvQkFBb0IsQXZCM09uQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFU0hHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWM2Sy9DLEFBOERFLE9BOURLLEFBQUEsS0FBSyxDQThEVixhQUFhO0lBOURmLE9BQU8sQUFBQSxLQUFLLENBK0RWLG9CQUFvQixDQUFDO012QmpQckIsWUFBWSxFQUFFLElBQTZCO01BRzNDLEtBQUssRUZpQ0csU0FBWTtNRWhDcEIsS0FBSyxFQUFFLElBQUk7TUF5R1gsV0FBVyxFRnpFSCxTQUFZLEd5QnVObkI7TUF6RUgsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0E4RFYsYUFBYSxBdkIxT1osV0FBVztNdUI0S2QsT0FBTyxBQUFBLEtBQUssQ0ErRFYsb0JBQW9CLEF2QjNPbkIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0F1QjBLSCxBQTBFRSxPQTFFSyxBQUFBLEtBQUssQ0EwRVYsa0JBQWtCLENBQUM7RXZCNVBuQixZQUFZLEVBQUUsSUFBNkI7RUFHM0MsS0FBSyxFRmlDRyxJQUFZO0VFaENwQixLQUFLLEVBQUUsSUFBSSxHdUIwUFY7RUE1RUgsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0EwRVYsa0JBQWtCLEF2QnRQakIsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FTUEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFY2lML0MsQUE2RUUsT0E3RUssQUFBQSxLQUFLLENBNkVWLG1CQUFtQjtFQTdFckIsT0FBTyxBQUFBLEtBQUssQ0E4RVYsb0JBQW9CLENBQUMsWUFBWSxDQUFDO0lBRTlCLE9BQU8sRUFBRSxPQUFPLEdBRW5COztBQWxGSCxBQW9GSSxPQXBGRyxBQUFBLEtBQUssQ0FtRlYsNEJBQTRCLENBQzFCLGtCQUFrQixDQUFDO0V4QmhHckIsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsS0FBSyxFd0IrRnVCLEdBQUc7RWQ3Qi9CLFNBQVMsRUFBRSxNQUFNLEdjK0JkO0VBdkZMLEFsQm5KRSxPa0JtSkssQUFBQSxLQUFLLENBbUZWLDRCQUE0QixDQUMxQixrQkFBa0IsQWxCdk9uQixPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFSTlCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljNksvQyxBQW9GSSxPQXBGRyxBQUFBLEtBQUssQ0FtRlYsNEJBQTRCLENBQzFCLGtCQUFrQixDQUFDO01kekJuQixTQUFTLEVBQUUsTUFBTSxHYzRCaEI7O0FBdkZMLEFBd0ZJLE9BeEZHLEFBQUEsS0FBSyxDQW1GViw0QkFBNEIsQ0FLMUIseUJBQXlCLENBQUM7RXZCMVE1QixZQUFZLEVBQUUsSUFBNkI7RUFHM0MsS0FBSyxFRmlDRyxJQUFZO0VFaENwQixLQUFLLEVBQUUsSUFBSSxHdUJ3UVI7RUExRkwsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0FtRlYsNEJBQTRCLENBSzFCLHlCQUF5QixBdkJwUTFCLFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBdUIwS0gsQUE4RkksT0E5RkcsQUFBQSxLQUFLLENBOEZQLFlBQU8sQ0FBQztFQUNQLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBNERyQjtFZDdVQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ljaUwvQyxBQThGSSxPQTlGRyxBQUFBLEtBQUssQ0E4RlAsWUFBTyxDQUFDO01BSUwsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLElBQUksR0F5RHZCO0VkelVDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWM2Sy9DLEFBOEZJLE9BOUZHLEFBQUEsS0FBSyxDQThGUCxZQUFPLENBQUM7TUFRTCxjQUFjLEVBQUUsSUFBSSxHQXNEdkI7RUE1SkwsQUF5R00sT0F6R0MsQUFBQSxLQUFLLENBOEZQLFlBQU8sQ0FXTixtQkFBbUIsQ0FBQztJQUNsQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQTNHUCxBQTZHTSxPQTdHQyxBQUFBLEtBQUssQ0E4RlAsWUFBTyxDQWVOLG1CQUFtQixDQUFDO0lBQ2xCLEtBQUssRWY5UUQsT0FBTztJZStRWCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQWhIUCxBQWtITSxPQWxIQyxBQUFBLEtBQUssQ0E4RlAsWUFBTyxDQW9CTixvQkFBb0IsQ0FBQztJQUNuQixVQUFVLEVBQUUsSUFBSSxHQU1qQjtJZDFTRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01jaUwvQyxBQWtITSxPQWxIQyxBQUFBLEtBQUssQ0E4RlAsWUFBTyxDQW9CTixvQkFBb0IsQ0FBQztRQUdqQixVQUFVLEVBQUUsSUFBSTtRZHhPeEIsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsT0FBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLFFBQUMsR2NzT1I7RUF6SFAsQUEySE0sT0EzSEMsQUFBQSxLQUFLLENBMkhMLG1CQUFPLENBQUM7SUFDUCxjQUFjLEVBQUUsSUFBSSxHQWdCckI7SWRyVUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3lMOUMsQUEySE0sT0EzSEMsQUFBQSxLQUFLLENBMkhMLG1CQUFPLENBQUM7UXZCN1NiLFlBQVksRUFBRSxJQUE2QjtRQUczQyxLQUFLLEVGaUNHLFNBQVk7UUVoQ3BCLEtBQUssRUFBRSxJQUFJO1FBeUdYLFdBQVcsRUZ6RUgsUUFBWSxHeUIwUmY7UUE1SVAsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0EySEwsbUJBQU8sQXZCdlNYLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lTUEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNY2lML0MsQUEySE0sT0EzSEMsQUFBQSxLQUFLLENBMkhMLG1CQUFPLENBQUM7UXZCN1NiLFlBQVksRUFBRSxJQUE2QjtRQUczQyxLQUFLLEVGaUNHLFNBQVk7UUVoQ3BCLEtBQUssRUFBRSxJQUFJO1FBeUdYLFdBQVcsRUZ6RUgsUUFBWTtReUJvUlosY0FBYyxFQUFFLElBQUksR0FNdkI7UUE1SVAsQXZCNUtFLE91QjRLSyxBQUFBLEtBQUssQ0EySEwsbUJBQU8sQXZCdlNYLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0V1QjBLSCxBQTZJTSxPQTdJQyxBQUFBLEtBQUssQ0E4RlAsWUFBTyxDQStDTixtQkFBbUIsQ0FBQztJdkIvVHhCLFlBQVksRUFBRSxJQUE2QjtJQUczQyxLQUFLLEVGaUNHLElBQVk7SUVoQ3BCLEtBQUssRUFBRSxJQUFJLEd1QmlVTjtJQW5KUCxBdkI1S0UsT3VCNEtLLEFBQUEsS0FBSyxDQThGUCxZQUFPLENBK0NOLG1CQUFtQixBdkJ6VHRCLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lTZkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNY3lMOUMsQUE2SU0sT0E3SUMsQUFBQSxLQUFLLENBOEZQLFlBQU8sQ0ErQ04sbUJBQW1CLENBQUM7UXZCL1R4QixZQUFZLEVBQUUsSUFBNkI7UUFHM0MsS0FBSyxFRmlDRyxTQUFZO1FFaENwQixLQUFLLEVBQUUsSUFBSTtRQXlHWCxXQUFXLEVGekVILFFBQVksR3lCaVNmO1FBbkpQLEF2QjVLRSxPdUI0S0ssQUFBQSxLQUFLLENBOEZQLFlBQU8sQ0ErQ04sbUJBQW1CLEF2QnpUdEIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RXVCMEtILEFBcUpNLE9BckpDLEFBQUEsS0FBSyxDQXFKTCxvQkFBUSxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsTUFBTTtJQUNqQixNQUFNLEVBQUUsTUFBTTtJQUNkLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQTNKUCxBQXdLTSxPQXhLQyxBQUFBLEtBQUssQ0F3S0wsbUJBQU0sQ0FBQztFQUNOLFNBQVMsRUFBRSxPQUFPLEdBQ25COztBQTFLUCxBQThLTSxPQTlLQyxBQUFBLEtBQUssQ0E4S0wsNEJBQU8sQ0FBQztFQUNQLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFFBQVEsRUFBRSxRQUFRLEdBZ0JuQjtFZHpYRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljeUw5QyxBQThLTSxPQTlLQyxBQUFBLEtBQUssQ0E4S0wsNEJBQU8sQ0FBQztNQUtMLFdBQVcsRUFBRSxPQUFPLEdBYXZCO0VBaE1QLEFBc0xRLE9BdExELEFBQUEsS0FBSyxDQThLTCw0QkFBTyxBQVFMLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxnQkFBZ0IsR0FDeEI7RUExTFQsQUE0TFEsT0E1TEQsQUFBQSxLQUFLLENBOEtMLDRCQUFPLEFBY0wsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLE9BQU87SUFDaEIsT0FBTyxFQUFFLE1BQU0sR0FDaEI7O0FBL0xULEFBa01NLE9BbE1DLEFBQUEsS0FBSyxDQWtNTCw2QkFBUSxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFwTVAsQUF3TU0sT0F4TUMsQUFBQSxLQUFLLENBd01MLGdCQUFNLENBQUM7RUFDTixZQUFZLEVBQUUsSUFBSTtFQUNsQixRQUFRLEVBQUUsUUFBUSxHQVNuQjtFQW5OUCxBQTRNUSxPQTVNRCxBQUFBLEtBQUssQ0F3TUwsZ0JBQU0sQUFJSixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsT0FBTztJQUNoQixLQUFLLEVmM1dDLE9BQU87SWU0V2IsV0FBVyxFQUFFLElBQUk7SUFDakIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUMsR0FDUjs7QWQxV0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0Vjd0o1QixBQXdOTSxPQXhOQyxBQUFBLEtBQUssQ0FzTlAsbUJBQWMsQ0FFYixVQUFVLEVBeE5oQixPQUFPLEFBQUEsS0FBSyxDQXVOUCxrQkFBYSxDQUNaLFVBQVUsQ0FBQztJQUVQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLElBQUksR0FFZDs7QUE3TlAsQUFpT00sT0FqT0MsQUFBQSxLQUFLLENBaU9MLHlCQUFNLEVBak9iLE9BQU8sQUFBQSxLQUFLLENBa09MLDBCQUFPLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBck9QLEFBdU9NLE9Bdk9DLEFBQUEsS0FBSyxDQXVPTCx5QkFBTSxDQUFDO0VBQ04sY0FBYyxFQUFFLElBQUksR0FDckI7O0FkbGFELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWN5TDlDLEFBNE9RLE9BNU9ELEFBQUEsS0FBSyxDQTRPSCwyQkFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsTUFBTSxHQUNwQjtFQWhQVCxBQXVPTSxPQXZPQyxBQUFBLEtBQUssQ0F1T0wseUJBQU0sQ0FXRztJQUNOLGNBQWMsRUFBRSxDQUFDLEdBQ2xCO0VBcFBULEFBaU9NLE9Bak9DLEFBQUEsS0FBSyxDQWlPTCx5QkFBTSxFQWpPYixPQUFPLEFBQUEsS0FBSyxDQWtPTCwwQkFBTyxDQXFCRztJQUNQLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQTNQVCxBQWdRTSxPQWhRQyxBQUFBLEtBQUssQ0ErUFAsa0JBQWEsQ0FDWixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FkM1pILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFY3dKNUIsQUF1UU0sT0F2UUMsQUFBQSxLQUFLLENBc1FQLFdBQU0sQ0FDTCxVQUFVLENBQUM7SUFFUCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxJQUFJLEdBRWQ7O0FBNVFQLEFBOFFNLE9BOVFDLEFBQUEsS0FBSyxDQXNRUCxXQUFNLENBUUwsS0FBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLElBQUksR0FDYjs7QUFLUCxBQUVJLE9BRkcsQUFBQSxPQUFPLENBQ1osTUFBTSxDQUNKLEVBQUUsQ0FBQztFQUNELEtBQUssRWZ4YkMsT0FBTztFZXliYixhQUFhLEVBQUUsR0FBRyxHQUNuQjs7QUFMTCxBQVdJLE9BWEcsQUFBQSxPQUFPLENBUVosZ0JBQWdCLENBR2QsU0FBUyxFQVhiLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHM0lsQixNQUFNO0FIbUlOLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHMUlsQix3QkFBd0I7QUhrSXhCLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENBRWQsU0FBUztBQVhiLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHNUlsQixNQUFNO0FIbUlOLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHM0lsQix3QkFBd0I7QUhrSXhCLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDQUNKLFNBQVM7QUFYYixPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c3SVIsTUFBTTtBSG1JTixPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c1SVIsd0JBQXdCLENINklWO0V0QmpkWixLQUFLLEVIbUNHLElBQVk7RUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHc0JpZXhDO0VBNUJMLEF0Qm5jRSxPc0JtY0ssQUFBQSxPQUFPLENBUVosZ0JBQWdCLENBR2QsU0FBUyxBdEI5Y1YsV0FBVyxFc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0czSWxCLE1BQU0sQXpCaFVILFdBQVc7RXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHMUlsQix3QkFBd0IsQXpCalVyQixXQUFXO0VzQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDQUVkLFNBQVMsQXRCOWNWLFdBQVc7RXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHNUlsQixNQUFNLEF6QmhVSCxXQUFXO0VzQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDRzNJbEIsd0JBQXdCLEF6QmpVckIsV0FBVztFc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENBQ0osU0FBUyxBdEI5Y1YsV0FBVztFc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENHN0lSLE1BQU0sQXpCaFVILFdBQVc7RXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDRzVJUix3QkFBd0IsQXpCalVyQixXQUFXLENBQUM7SUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNzYy9DLEFBV0ksT0FYRyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0FHZCxTQUFTLEVBWGIsT0FBTyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0czSWxCLE1BQU07SUhtSU4sT0FBTyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0cxSWxCLHdCQUF3QjtJSGtJeEIsT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0FFZCxTQUFTO0lBWGIsT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0c1SWxCLE1BQU07SUhtSU4sT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0czSWxCLHdCQUF3QjtJSGtJeEIsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENBQ0osU0FBUztJQVhiLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDRzdJUixNQUFNO0lIbUlOLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDRzVJUix3QkFBd0IsQ0g2SVY7TXRCamRaLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksR3lCK2JqQjtNQTVCTCxBdEJuY0UsT3NCbWNLLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDQUdkLFNBQVMsQXRCOWNWLFdBQVcsRXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHM0lsQixNQUFNLEF6QmhVSCxXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDRzFJbEIsd0JBQXdCLEF6QmpVckIsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0FFZCxTQUFTLEF0QjljVixXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDRzVJbEIsTUFBTSxBekJoVUgsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0czSWxCLHdCQUF3QixBekJqVXJCLFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDQUNKLFNBQVMsQXRCOWNWLFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDRzdJUixNQUFNLEF6QmhVSCxXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c1SVIsd0JBQXdCLEF6QmpVckIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFERyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lja2MvQyxBQVdJLE9BWEcsQUFBQSxPQUFPLENBUVosZ0JBQWdCLENBR2QsU0FBUyxFQVhiLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHM0lsQixNQUFNO0lIbUlOLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHMUlsQix3QkFBd0I7SUhrSXhCLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENBRWQsU0FBUztJQVhiLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHNUlsQixNQUFNO0lIbUlOLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHM0lsQix3QkFBd0I7SUhrSXhCLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDQUNKLFNBQVM7SUFYYixPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c3SVIsTUFBTTtJSG1JTixPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c1SVIsd0JBQXdCLENINklWO010QmpkWixLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNRDJHM0MsV0FBVyxFRnpFSCxTQUFZLEd5QitiakI7TUE1QkwsQXRCbmNFLE9zQm1jSyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0FHZCxTQUFTLEF0QjljVixXQUFXLEVzQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDRzNJbEIsTUFBTSxBekJoVUgsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0cxSWxCLHdCQUF3QixBekJqVXJCLFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENBRWQsU0FBUyxBdEI5Y1YsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FTWixnQkFBZ0IsQ0c1SWxCLE1BQU0sQXpCaFVILFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHM0lsQix3QkFBd0IsQXpCalVyQixXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0FDSixTQUFTLEF0QjljVixXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0c3SVIsTUFBTSxBekJoVUgsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENHNUlSLHdCQUF3QixBekJqVXJCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRR0csTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJYzhiL0MsQUFXSSxPQVhHLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDQUdkLFNBQVMsRUFYYixPQUFPLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDRzNJbEIsTUFBTTtJSG1JTixPQUFPLEFBQUEsT0FBTyxDQVFaLGdCQUFnQixDRzFJbEIsd0JBQXdCO0lIa0l4QixPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDQUVkLFNBQVM7SUFYYixPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDRzVJbEIsTUFBTTtJSG1JTixPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDRzNJbEIsd0JBQXdCO0lIa0l4QixPQUFPLEFBQUEsT0FBTyxDQVVaLE1BQU0sQ0FDSixTQUFTO0lBWGIsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENHN0lSLE1BQU07SUhtSU4sT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENHNUlSLHdCQUF3QixDSDZJVjtNdEJqZFosS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsU0FBWSxHeUIrYmpCO01BNUJMLEF0Qm5jRSxPc0JtY0ssQUFBQSxPQUFPLENBUVosZ0JBQWdCLENBR2QsU0FBUyxBdEI5Y1YsV0FBVyxFc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FRWixnQkFBZ0IsQ0czSWxCLE1BQU0sQXpCaFVILFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBUVosZ0JBQWdCLENHMUlsQix3QkFBd0IsQXpCalVyQixXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDQUVkLFNBQVMsQXRCOWNWLFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBU1osZ0JBQWdCLENHNUlsQixNQUFNLEF6QmhVSCxXQUFXO01zQm1jZCxPQUFPLEFBQUEsT0FBTyxDQVNaLGdCQUFnQixDRzNJbEIsd0JBQXdCLEF6QmpVckIsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENBQ0osU0FBUyxBdEI5Y1YsV0FBVztNc0JtY2QsT0FBTyxBQUFBLE9BQU8sQ0FVWixNQUFNLENHN0lSLE1BQU0sQXpCaFVILFdBQVc7TXNCbWNkLE9BQU8sQUFBQSxPQUFPLENBVVosTUFBTSxDRzVJUix3QkFBd0IsQXpCalVyQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QXNCaWNILEFBZ0NJLE9BaENHLEFBQUEsT0FBTyxDQStCWixnQkFBZ0IsQ0FDZCxFQUFFO0FBaENOLE9BQU8sQUFBQSxPQUFPLENBK0JaLGdCQUFnQixDQUVkLEVBQUU7QUFqQ04sT0FBTyxBQUFBLE9BQU8sQ0ErQlosZ0JBQWdCLENBR2QsRUFBRSxDQUFDO0VBQ0QsS0FBSyxFZnhkQyxPQUFPLEdleWRkOztBQXBDTCxBQXVDRSxPQXZDSyxBQUFBLE9BQU8sQ0F1Q1osZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVmM2RLLE9BQU8sR2U0ZGxCOztBQXpDSCxBQTRDSSxPQTVDRyxBQUFBLE9BQU8sQ0EyQ1osY0FBYyxDQUNaLFVBQVUsQ0FBQztFQUNULEtBQUssRWZsZUMsT0FBTyxHZW1lZDs7QUFJTCxBQUFBLDJCQUEyQixDQUFDO0VBbUIxQixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDZjdmWCxPQUFPO0VlOGZqQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2Y5ZmQsT0FBTztFZWdnQmpCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBcUJyQjtFQS9DRCxBQUNFLDJCQUR5QixDQUN6QixDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBSEgsQUFJRSwyQkFKeUIsQ0FJekIsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFZjVlRyxPQUFPO0llNmVmLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUFSSCxBQVNFLDJCQVR5QixDQVN6QixHQUFHLENBQUM7SUFDRixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVhILEFBWUUsMkJBWnlCLENBWXpCLGtDQUFrQyxDQUFDO0lBQ2pDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFZjlmSCxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSztJZStmMUMsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFZGpoQkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY2dnQjlDLEFBQUEsMkJBQTJCLENBQUM7TUE2QnhCLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDZnBnQmQsT0FBTztNZXFnQmYsVUFBVSxFQUFFLElBQUk7TUFDaEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsS0FBSyxFQUFFLEtBQUs7TUFDWixXQUFXLEVBQUUsSUFBSTtNQUNqQixZQUFZLEVBQUUsS0FBSztNQUNuQixXQUFXLEVBQUUsQ0FBQztNQUNkLGNBQWMsRUFBRSxDQUFDO01BQ2pCLEtBQUssRUFBRSxHQUFHO01BQ1YsWUFBWSxFQUFFLE9BQU8sR0FTeEI7RWR2aUJLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWN3Zi9DLEFBQUEsMkJBQTJCLENBQUM7TUF5Q3hCLEtBQUssRUFBRSxHQUFHLEdBTWI7RWRuaUJLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWNvZi9DLEFBQUEsMkJBQTJCLENBQUM7TUE2Q3hCLFlBQVksRUFBRSxJQUFJLEdBRXJCOztBQUNELEFBQUEsb0NBQW9DLENBQUM7RUFDbkMsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsV0FBVztFQUMzQixlQUFlLEVBQUUsYUFBYSxHQUkvQjtFZHZqQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJY2dqQjlDLEFBQUEsb0NBQW9DLENBQUM7TUFLakMsT0FBTyxFQUFFLEtBQUssR0FFakI7O0FBQ0QsQUFBQSxrQ0FBa0MsQ0FBQztFQUNqQyxJQUFJLEVBQUUsT0FBTztFQUNiLFVBQVUsRUFBRSxLQUFLLEdBSWxCO0VkOWpCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ljd2pCOUMsQUFBQSxrQ0FBa0MsQ0FBQztNQUkvQixVQUFVLEVBQUUsQ0FBQyxHQUVoQjs7QUFDRCxBQUFBLGlDQUFpQyxDQUFDO0VBQ2hDLElBQUksRUFBRSxPQUFPLEdBQ2Q7O0FBQ0QsQUFBQSxxQ0FBcUMsQ0FBQztFQUNwQyxLQUFLLEVmMWlCSyxPQUFPLEdlMmlCbEI7O0FDcGxCRCxBQUFBLE9BQU8sQUFBQSxRQUFRLENBQUM7RUFDZCxXQUFXLEVBQUUsWUFBWSxHQUMxQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFZnFRWixXQUFXLEVBQUUsS0FBSyxHZWtIbkI7RWYzV0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZVo5QyxBQUFBLGFBQWEsQ0FBQztNZndRVixXQUFXLEVBQUUsS0FBSyxHZStHckI7RWZuV0ssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZXBCL0MsQUFBQSxhQUFhLENBQUM7TWY0UVYsV0FBVyxFQUFFLEtBQUssR2UyR3JCO0VBcFhFLEFBQUQscUJBQVMsQ0FBQztJQUNSLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLGFBQWEsRUFBRSxJQUFJLEdBU3BCO0lmRkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZVQzQyxBQUFELHFCQUFTLENBQUM7UUFLTixhQUFhLEVBQUUsSUFBSSxHQU10QjtJZk1HLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWVqQjVDLEFBQUQscUJBQVMsQ0FBQztRQVNOLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0VmTUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZUo1QyxBQUFELG1CQUFPLENBQUM7TUFFSixhQUFhLEVBQUUsR0FBRyxHQUVyQjtFZlJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWVVM0MsQUFBRCxvQkFBUSxDQUFDO012QkZULEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksRzBCdkJuQjtNQVZBLEF2QkNELG9CdUJEUSxBdkJDUCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWVFNUMsQUFBRCxvQkFBUSxDQUFDO012QkZULEtBQUssRUhtQ0csTUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksRzBCdkJuQjtNQVZBLEF2QkNELG9CdUJEUSxBdkJDUCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFdUJTQSxBQUFELHlCQUFhLEFBQUEsVUFBVSxDQUFDO0lBQ3RCLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0FDaEI7RWZ6QkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZTJCM0MsQUFBRCxzQkFBVSxDQUFDO012Qm5CWCxLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEcwQk5uQjtNQVZBLEF2QmhCRCxzQnVCZ0JVLEF2QmhCVCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWVtQjVDLEFBQUQsc0JBQVUsQ0FBQztNdkJuQlgsS0FBSyxFSG1DRyxNQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsT0FBWSxHMEJObkI7TUFWQSxBdkJoQkQsc0J1QmdCVSxBdkJoQlQsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RXVCMEJBLEFBQUQsMkJBQWUsQ0FBQztJQUNkLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0VBRUEsQUFBRCwwQkFBYyxDQUFDLFVBQVUsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFZjdDRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0llSTNDLEFBQUQsbUJBQU8sQ0EyQ0M7TXhCcUVSLFdBQVcsRUZ6RUgsUUFBWTtNR25DcEIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR3VCK0MxQztNQVRBLEF2QnBDRCxtQnVCb0NPLEF2QnBDTixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWVKNUMsQUFBRCxtQkFBTyxDQTJDQztNdkJ2Q1IsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR3VCK0MxQztNQVRBLEF2QnBDRCxtQnVCb0NPLEF2QnBDTixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFdUJjQSxBQUFELHNCQUFVLENBK0JDO0lBQ1QsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQVNwQjtJQVhBLEFBSUMsc0JBSlEsQ0FJUix3QkFBd0IsQ0FBQztNQUN2QixVQUFVLEVBQUUsSUFBSSxHQUNqQjtJZnhEQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01lbUI1QyxBQUFELHNCQUFVLENBK0JDO1FBU1AsYUFBYSxFQUFFLENBQUMsR0FFbkI7RUEzREEsQUFBRCxvQkFBUSxDQTZEQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLElBQUksR0FzQ3BCO0lmeEdHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWVFNUMsQUFBRCxvQkFBUSxDQTZEQztRQU1MLGFBQWEsRUFBRSxDQUFDLEdBbUNuQjtJQWhDRSxBQUFELDRCQUFTLENBQUM7TWZWWixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxPQUFDO01lWVAsV0FBVyxFQUFFLElBQUksR0FTbEI7TWY1RkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZWdGekMsQUFBRCw0QkFBUyxDQUFDO1VBTU4sU0FBUyxFQUFFLElBQUksR0FNbEI7TWZwRkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRZXdFMUMsQUFBRCw0QkFBUyxDQUFDO1VmVlosU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsTUFBQyxHZXFCUjtJQUVBLEFBQUQsMkJBQVEsQ0FBQztNZnhCWCxTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxTQUFDO01lMEJQLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGNBQWMsRUFBRSxHQUFHO01BQ25CLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRWhCM0VDLE9BQU87TWdCNEViLFdBQVcsRUFBRSxHQUFHO01BQ2hCLGFBQWEsRUFBRSxHQUFHO01BUWxCLFdBQVcsRWhCN0ZILFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsR2dCOEZsRDtNZnZHQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1Flc0YxQyxBQUFELDJCQUFRLENBQUM7VUFXTCxhQUFhLEVBQUUsR0FBRztVZm5DeEIsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsUUFBQyxHZXdDUjtFQUdGLEFBQUQsbUJBQU8sQ0FBQztJQUNOLGFBQWEsRUFBRSxJQUFJLEdBd0dwQjtJZm5ORyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01lMEc1QyxBQUFELG1CQUFPLENBQUM7UUFJSixhQUFhLEVBQUUsSUFBSSxHQXFHdEI7SWZuTkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNZTBHNUMsQUFBRCxtQkFBTyxDQUFDO1FBUUosYUFBYSxFQUFFLEtBQUssR0FpR3ZCO0lBekdBLEFBYUssbUJBYkMsQUFZRixvQkFBTSxBQUNKLE1BQU0sQ0FBQztNQUNOLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lmMEl3QixTQUFDLEVBQXJCLGFBQWEsRUFBRSxJQUFJO01leko3QixBQVlHLG1CQVpHLEFBWUYsb0JBQU0sQ0FBQztRQU1KLGNBQWMsRUFBRSxNQUFNLEdBRXpCO0lBcEJKLEFBdUJLLG1CQXZCQyxBQXNCRixtQkFBSyxBQUNILE1BQU0sQ0FBQztNQUNOLGNBQWMsRUFBRSxLQUFLLEdBQ3RCO0lmZ0l3QixTQUFDLEVBQXJCLGFBQWEsRUFBRSxJQUFJO01leko3QixBQXNCRyxtQkF0QkcsQUFzQkYsbUJBQUssQ0FBQztRQU1ILGNBQWMsRUFBRSxLQUFLLEdBRXhCO0lBOUJKLEFBaUNLLG1CQWpDQyxBQWdDRixtQkFBSyxBQUNILE1BQU0sQ0FBQztNQUNOLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lmc0h3QixTQUFDLEVBQXJCLGFBQWEsRUFBRSxJQUFJO01leko3QixBQWdDRyxtQkFoQ0csQUFnQ0YsbUJBQUssQ0FBQztRQU1ILGNBQWMsRUFBRSxNQUFNLEdBRXpCO0lBeENKLEFBNENHLG1CQTVDRyxBQTJDSixJQUFLLENKdEpBLHFCQUFxQixDSXVKeEIsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7SWZ5RzBCLFNBQUMsRUFBckIsYUFBYSxFQUFFLElBQUk7TWV6SjdCLEFBNENHLG1CQTVDRyxBQTJDSixJQUFLLENKdEpBLHFCQUFxQixDSXVKeEIsTUFBTSxDQU9HO1FBQ04sT0FBTyxFQUFFLElBQUksR0FDZDtJQXJETixBQXdERyxtQkF4REcsQUEyQ0osSUFBSyxDSnRKQSxxQkFBcUIsRUltS3pCLHlCQUF5QjtJQXhENUIsbUJBQU0sQUEyQ0osSUFBSyxDSnRKQSxxQkFBcUIsRUlvS3pCLDJCQUEyQixDQUFDO01BQzFCLE9BQU8sRUFBRSxLQUFLO01BQ2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxDQUFDO01BQ1IsTUFBTSxFQUFFLENBQUM7TUFDVCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osY0FBYyxFQUFFLFlBQVksR0FDN0I7SUFHRixBQUFELDJCQUFTLENBQUM7TW5CL0haLE1BQU0sRUFBRSxDQUFDO01BQ1QsSUFBSSxFQUFFLENBQUM7TUFDUCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsQ0FBQztNQUNSLEdBQUcsRUFBRSxDQUFDO01tQjhIRixnQkFBZ0IsRWhCL0liLHFCQUFPO01nQmdKVixPQUFPLEVBQUUsQ0FBQyxHQUNYO0lBM0VGLEFBNkVDLG1CQTdFSyxBQTZFSixZQUFZLEFBQUEsUUFBUSxDQUFDO01BQ3BCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUFFQSxBQUFELHlCQUFPLENBQUM7TUFDTixPQUFPLEVBQUUsQ0FBQyxHQVVYO01BUkMsQUFBQSxHQUFHLENBSEoseUJBQU0sQ0FHQztRQUNKLE9BQU8sRUFBRSxDQUFDLEdBQ1g7TUFFRCxBQUFBLEdBQUcsQ0FBQyxZQUFZLENBUGpCLHlCQUFNLENBT2M7UUFDakIsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsSUFBSSxHQUNkO0lBR0YsQUFBRCwyQkFBUyxDQUFDO01BQ1IsT0FBTyxFQUFFLENBQUMsR0FDWDtJQUlDLEFBQUEsR0FBRyxDQUFDLFlBQVksQ0FGakIsMkJBQVEsRUFFUCxHQUFHLENBQUMsWUFBWSxDQURqQiwwQkFBTyxDQUNhO01BQ2pCLFVBQVUsRUFBRSxpQkFBaUI7TUFDN0IsT0FBTyxFQUFFLFlBQVksR0FDdEI7RUFJSixBQUFELHNCQUFVLENBQUM7SUFDVCxnQkFBZ0IsRUFBRSxLQUFLLEdBQ3hCO0VBR0UsQUFBRCwwQkFBUSxDQUFDO0lBQ1Asa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixVQUFVLEVBQUUsSUFBSTtJQUNoQixnQkFBZ0IsRUFBRSxXQUFXO0lBQzdCLFdBQVcsRWhCck5ILFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7SUNxRHJELFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLElBQUM7SWVtS1AsS0FBSyxFaEI5TUssT0FBTztJZ0IrTWpCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaEJoTmQsT0FBTztJZ0JpTmpCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsVUFBVSxFQUFFLFVBQVUsR0FjdkI7SWY3UEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZWtPekMsQUFBRCwwQkFBUSxDQUFDO1FmNUpYLFNBQVMsRUFBQyxJQUFDO1FBQ1gsU0FBUyxFQUFDLFFBQUMsR2VzTFI7SUEzQkEsQUFxQkMsMEJBckJNLEFBcUJMLE1BQU0sQ0FBQztNQUNOLEtBQUssRWhCN05DLE9BQU87TWdCOE5iLE1BQU0sRUFBRSxPQUFPLEdBR2hCO0VBR0YsQUFBRCwyQkFBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSw2QkFBNkIsR0FLMUM7SUFUQSxBQU1DLDJCQU5PLEFBTU4sS0FBSyxDQUFDO01BQ0wsT0FBTyxFQUFFLENBQUMsR0FDWDtFZi9QRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0llbVE1QyxBQUFELG9CQUFRLENBQUM7TUFHTCxVQUFVLEVBQUUsSUFBSSxHQTJFbkI7RWZ6VkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZTJRM0MsQUFNQyxvQkFOTSxBQU1MLDRCQUE0QixDQUFDO014QjdKaEMsV0FBVyxFRnpFSCxRQUFZO01HbkNwQixLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHdUJrUnhDO01BaEJGLEF2QmhRRCxvQnVCZ1FRLEFBTUwsNEJBQTRCLEF2QnRROUIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0llbVE1QyxBQU1DLG9CQU5NLEFBTUwsNEJBQTRCLENBQUM7TXhCN0poQyxXQUFXLEVGekVILE9BQVk7TUduQ3BCLEtBQUssRUhtQ0csTUFBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEd1QmtSeEM7TUFoQkYsQXZCaFFELG9CdUJnUVEsQUFNTCw0QkFBNEIsQXZCdFE5QixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWUyUTNDLEFBa0JDLG9CQWxCTSxBQWtCTCwwQkFBMEIsQ0FBQztNeEJ6SzlCLFdBQVcsRUZ6RUgsUUFBWTtNR25DcEIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TXVCd1JyQyxPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxhQUFhLEdBbUJqQztNQTFDRixBdkJoUUQsb0J1QmdRUSxBQWtCTCwwQkFBMEIsQXZCbFI1QixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWUyUTNDLEFBMEJHLG9CQTFCSSxBQWtCTCwwQkFBMEIsQ0FRekIseUJBQXlCLENBQUM7TUFHdEIsSUFBSSxFQUFFLE9BQU8sR0FZaEI7RUF6Q0osQUE0Q0Msb0JBNUNNLENBNENOLFlBQVksQ0FBQztJQUNYLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBRUEsQUFBRCw2QkFBVSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE1BQU0sR0FNbkI7SUFQQSxBQUdDLDZCQUhRLENBR1IsUUFBUSxDQUFDO01BQ1AsVUFBVSxFQUFFLENBQUM7TWZ6UG5CLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFFBQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxRQUFDO01BNk1iLGNBQWMsRUFBRSxVQUFVO01BQzFCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUQ3UFUsT0FBTyxHZ0JtU2pCO0VBR0YsQUFBRCx5QkFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLElBQUksR0FVcEI7SWYvVUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZW9VekMsQUFBRCx5QkFBTSxDQUFDO1FBS0gsYUFBYSxFQUFFLENBQUMsR0FNbkI7SUFYQSxBQVFDLHlCQVJJLEFBUUgsYUFBYSxDQUFDO01BQ2IsYUFBYSxFQUFFLENBQUMsR0FDakI7RUFuRUosQUFzRUMsb0JBdEVNLENBc0VOLEVBQUUsR0FBRyxFQUFFO0VBdEVSLG9CQUFPLENBdUVOLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDSixVQUFVLEVBQUUsS0FBSyxHQUtsQjtJZmhWQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01lbVE1QyxBQXNFQyxvQkF0RU0sQ0FzRU4sRUFBRSxHQUFHLEVBQUU7TUF0RVIsb0JBQU8sQ0F1RU4sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUlGLFVBQVUsRUFBRSxHQUFHLEdBRWxCO0VBcFdMLEFBdVdFLGFBdldXLENBdVdYLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSwwQkFBMEIsR0FDbEM7RUF6V0gsQUEyV0UsYUEzV1csQ0EyV1gsQ0FBQyxBQUFBLFNBQVMsQUFBQSxNQUFNLEVBM1dsQixhQUFhLENieUpiLENBQUMsQ0FDQyxDQUFDLEFENUlFLE1BQU0sRUMySVgsQ0FBQyxDYXpKRCxhQUFhLENiMEpYLENBQUMsQUQ1SUUsTUFBTTtFY2RYLGFBQWEsQ2J5SmIsQ0FBQyxDQUVDLENBQUMsQUFBQSxRQUFRLEFEN0lOLE1BQU0sRUMySVgsQ0FBQyxDYXpKRCxhQUFhLENiMkpYLENBQUMsQUFBQSxRQUFRLEFEN0lOLE1BQU07RWNkWCxhQUFhLENBNFdYLENBQUMsQ0FBQyxDQUFDLEFBQUEsTUFBTTtFQTVXWCxhQUFhLENBNldYLENBQUMsQ0FBQyxDQUFDLEFBQUEsUUFBUSxBQUFBLE1BQU07RUE3V25CLGFBQWEsQ0E4V1gsVUFBVSxBQUFBLFNBQVMsQUFBQSxNQUFNO0VBOVczQixhQUFhLENBK1dYLFdBQVcsQUFBQSxpQkFBaUIsQUFBQSxNQUFNLENBQUM7SUFDakMsZ0JBQWdCLEVBQUUsMEJBQTBCLEdBQzdDO0VBalhILEFBbVhFLGFBblhXLENBbVhYLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lmalNwQixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxTQUFDO0lla1NULFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUlILEFBQUEscUJBQXFCLENBQUM7RUFDcEIsS0FBSyxFaEJ0VkssT0FBTztFZ0J1VmpCLEtBQUssRUFBRSwwQkFBMEIsR0FDbEM7O0FBR0QsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsTUFBTTtFQUNmLGdCQUFnQixFaEI1VVIsT0FBTyxHZ0JpVmhCO0VmblhLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWU0Vy9DLEFBQUEsZUFBZSxDQUFDO01BS1osT0FBTyxFQUFFLE9BQU8sR0FFbkI7O0FmM1hLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWU4WDlDLEFBQUEsdUJBQXVCLENBQUM7SXhCMVF0QixXQUFXLEVGekVILFFBQVk7SUduQ3BCLEtBQUssRUhtQ0csU0FBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEd1QitYNUM7SUFWRCxBdkJuWEUsdUJ1Qm1YcUIsQXZCblhwQixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0Vlc1gvQyxBQUFBLHVCQUF1QixDQUFDO0l4QjFRdEIsV0FBVyxFRnpFSCxTQUFZO0lHbkNwQixLQUFLLEVIbUNHLFNBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHdUIrWDVDO0lBVkQsQXZCblhFLHVCdUJtWHFCLEF2Qm5YcEIsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0F1QjZYSCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLGFBQWEsRUFBRSxJQUFJLEdBNkJwQjtFZnhhSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0llMFk5QyxBQUtJLHFCQUxpQixBQUtoQixVQUFXLENQKzFCSSxHQUFHLEVPLzFCRjtNdkJ2WW5CLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksRzBCdVdqQjtNQVJMLEF2Qi9YRSxxQnVCK1htQixBQUtoQixVQUFXLENQKzFCSSxHQUFHLENoQm51Q3BCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0l1QjZYSCxBQVVJLHFCQVZpQixBQVVoQixVQUFXLENQNjFCSSxJQUFJLEVPNzFCRjtNdkI1WXBCLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO011QjZZdkMsWUFBWSxFQUFFLENBQUM7TUFDZixnQkFBZ0IsRUFBRSxJQUFJLEdBQ3ZCO01BZEwsQXZCL1hFLHFCdUIrWG1CLEFBVWhCLFVBQVcsQ1A2MUJJLElBQUksQ2hCdHVDckIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lla1kvQyxBQUtJLHFCQUxpQixBQUtoQixVQUFXLENQKzFCSSxHQUFHLEVPbDFCRjtNQUNmLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBcEJMLEFBVUkscUJBVmlCLEFBVWhCLFVBQVcsQ1A2MUJJLElBQUksRU9qMUJGO01BQ2hCLFlBQVksRUFBRSxJQUFJLEdBQ25CO0VBeEJMLEFBMkJFLHFCQTNCbUIsQUEyQmxCLFdBQVcsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBQUdILEFBQUEsdUJBQXVCLENBQUM7RWZwV3RCLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLE9BQUM7RWVxV1gsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFaEI3WkQsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7RWdCOFo1QyxhQUFhLEVBQUUsSUFBSSxHQWFwQjtFZm5iSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lla2EvQyxBQUFBLHVCQUF1QixDQUFDO01BT3BCLGFBQWEsRUFBRSxJQUFJLEdBVXRCO0VBakJELEFBVUUsdUJBVnFCLEFBVXBCLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxVQUFVLEdBQ3BCO0VBWkgsQUFjRSx1QkFkcUIsQUFjcEIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLFdBQVcsR0FDckI7O0FBR0gsQUFFRSxvQkFGa0IsQ0FFbEIsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBR0gsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsV0FBVyxHQUtyQjtFZm5jSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0llNmIvQyxBQUFBLGNBQWMsQ0FBQztNQUlYLE9BQU8sRUFBRSxhQUFhLEdBRXpCOztBZjNjSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VlNmM5QyxBQUFBLG9CQUFvQixDQUFDO0l2QnJjbkIsS0FBSyxFSG1DRyxPQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR3VCd2M1QztJQUpELEF2QmxjRSxvQnVCa2NrQixBdkJsY2pCLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWVtZDlDLEFBQUEsc0JBQXNCLENBQUM7SXZCM2NyQixLQUFLLEVIbUNHLFNBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtJdUI2Y3pDLGFBQWEsRUFBRSxJQUFJLEdBRXRCO0lBTEQsQXZCeGNFLHNCdUJ3Y29CLEF2QnhjbkIsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0FRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFZTBkOUMsQUFBQSxxQkFBcUIsQ0FBQztJdkJsZHBCLEtBQUssRUhtQ0csU0FBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCO0l1Qm9kekMsYUFBYSxFQUFFLElBQUksR0FFdEI7SUFMRCxBdkIvY0UscUJ1QitjbUIsQXZCL2NsQixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QXVCb2RILEFBQUEscUJBQXFCLENBQUM7RUFDcEIsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixXQUFXLEVBQUUsQ0FBQztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxHQUFHO0VBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRyxHQUtqQjtFQVBELEFBSUUsb0JBSmtCLEdBSWQsb0JBQW9CLENBQUM7SUFDdkIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0gsQUFDRSwrQkFENkIsQ0FDN0Isb0JBQW9CLENBQUM7RUFDbkIsT0FBTyxFQUFFLE1BQU0sR0FDaEI7O0FBSEgsQUFLRSwrQkFMNkIsQ0FLN0Isb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7RUFDMUMsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUMxZ0JILEFBQUEsYUFBYSxDQUFDO0VBQ1osTUFBTSxFQUFFLFFBQVEsR0F1VGpCO0VoQmhTSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lnQnhCL0MsQUFBQSxhQUFhLENBQUM7TUFJVixNQUFNLEVBQUUsUUFBUSxHQW9UbkI7RUF4VEQsQUFXRSxhQVhXLENBV1gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SWhCMkVwQixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxTQUFDO0lnQjFFVCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQWRILEFBZ0JFLGFBaEJXLENBZ0JYLHdCQUF3QjtFQWhCMUIsYUFBYSxDQWlCWCx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7SWhCcUUzQixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxRQUFDO0lnQnBFVCxXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQUVBLEFBQ0Msa0JBREksQUFDSCxpQkFBaUIsQ0FBQztJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsSUFBSTtJQUNuQixPQUFPLEVBQUUsSUFBSSxHQU9kO0loQmpCQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQk0zQyxBQUNDLGtCQURJLEFBQ0gsaUJBQWlCLENBQUM7UUFNZixPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLElBQUksR0FFZjtFQVhGLEFBYUMsa0JBYkksQUFhSCxhQUFhLENBQUM7SUFDYixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFaEJZRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SWdCM0J6QixBQWtCRyxrQkFsQkUsQ0FrQkYsTUFBTSxDQUFDO01BQ0wsYUFBYSxFQUFFLElBQUksR0FDcEI7RWhCMUJELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCTTNDLEFBQUQsa0JBQU0sQ0FBQztNQXdCSCxhQUFhLEVBQUUsSUFBSSxHQTBIdEI7RWhCaEpHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdCRjVDLEFBQUQsa0JBQU0sQ0FBQztNQTRCSCxhQUFhLEVBQUUsRUFBRSxHQXNIcEI7RUFsSkEsQUFnQ0csa0JBaENFLEFBK0JILFdBQVcsQ0FDVixlQUFlLENBQUM7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQUtaO0loQjVDRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQk0zQyxBQWdDRyxrQkFoQ0UsQUErQkgsV0FBVyxDQUNWLGVBQWUsQ0FBQztReEI5QnBCLEtBQUssRUhtQ0csTUFBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEd3Qm1DdEM7UUF0Q0osQXhCS0Qsa0J3QkxNLEFBK0JILFdBQVcsQ0FDVixlQUFlLEF4QjNCbEIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RXdCUEEsQUF5Q0Msa0JBekNJLEFBeUNILFNBQVMsQ0FBQztJQUNULE1BQU0sRUFBRSxNQUFNLEdBdUdmO0loQnZKQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQk0zQyxBQXlDQyxrQkF6Q0ksQUF5Q0gsU0FBUyxDQUFDO1FBR1AsVUFBVSxFQUFFLEVBQUUsR0FxR2pCO0lBakpGLEFBK0NHLGtCQS9DRSxBQXlDSCxTQUFTLENBTVIsYUFBYSxDQUFDO014QjdDbEIsS0FBSyxFSG1DRyxJQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCd0R0QztNQTNESixBeEJLRCxrQndCTE0sQUF5Q0gsU0FBUyxDQU1SLGFBQWEsQXhCMUNoQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWdCTTNDLEFBK0NHLGtCQS9DRSxBQXlDSCxTQUFTLENBTVIsYUFBYSxDQUFDO1V4QjdDbEIsS0FBSyxFSG1DRyxTQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkI7VUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHMkJzQmY7VUEzREosQXhCS0Qsa0J3QkxNLEFBeUNILFNBQVMsQ0FNUixhQUFhLEF4QjFDaEIsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7TVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FnQkY1QyxBQStDRyxrQkEvQ0UsQUF5Q0gsU0FBUyxDQU1SLGFBQWEsQ0FBQztVeEI3Q2xCLEtBQUssRUhtQ0csTUFBWTtVR2xDcEIsWUFBWSxFQUFFLElBQTZCO1VEMkczQyxXQUFXLEVGekVILE9BQVksRzJCc0JmO1VBM0RKLEF4QktELGtCd0JMTSxBQXlDSCxTQUFTLENBTVIsYUFBYSxBeEIxQ2hCLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0l3QlBBLEFBNkRHLGtCQTdERSxBQXlDSCxTQUFTLENBb0JSLGFBQWEsQ0FBQztNQUNaLFVBQVUsRUFBRSxJQUFJLEdBNkJqQjtNaEJqR0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0JNM0MsQUE2REcsa0JBN0RFLEFBeUNILFNBQVMsQ0FvQlIsYUFBYSxDQUFDO1V4QjNEbEIsS0FBSyxFSG1DRyxTQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkI7VUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHMkJzRGY7VUEzRkosQXhCS0Qsa0J3QkxNLEFBeUNILFNBQVMsQ0FvQlIsYUFBYSxBeEJ4RGhCLFdBQVcsQ0FBQztZQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01RTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRZ0JGNUMsQUE2REcsa0JBN0RFLEFBeUNILFNBQVMsQ0FvQlIsYUFBYSxDQUFDO1V4QjNEbEIsS0FBSyxFSG1DRyxTQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkI7VUQyRzNDLFdBQVcsRUZ6RUgsUUFBWTtVMkJtQ1osVUFBVSxFQUFFLENBQUMsR0FtQmhCO1VBM0ZKLEF4QktELGtCd0JMTSxBQXlDSCxTQUFTLENBb0JSLGFBQWEsQXhCeERoQixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UWdCRjVDLEFBMkVLLGtCQTNFQSxBQXlDSCxTQUFTLENBa0NMLG9CQUFPLENBQUM7VUFHTCxRQUFRLEVBQUUsUUFBUSxHQVlyQjtVQTFGTixBQWdGUyxrQkFoRkosQUF5Q0gsU0FBUyxDQWtDTCxvQkFBTyxBQUtILE9BQU8sQ0FBQztZQUNQLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEdBQUc7WUFDVixnQkFBZ0IsRUFBRSwwQkFBMEI7WUFDNUMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0lBeEZWLEFBNkZHLGtCQTdGRSxBQXlDSCxTQUFTLENBb0RSLHFCQUFxQjtJQTdGeEIsa0JBQUssQUF5Q0gsU0FBUyxDQXFEUixtQkFBbUIsQ0FBQztNQUNsQixLQUFLLEVBQUUsMEJBQTBCLEdBQ2xDO0lBaEdKLEFBa0dHLGtCQWxHRSxBQXlDSCxTQUFTLENBeURSLHFCQUFxQixDQUFDO01oQmxDMUIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsU0FBQztNZ0JtQ0wsY0FBYyxFQUFFLEdBQUc7TUFDbkIsY0FBYyxFQUFFLFNBQVM7TUFDekIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUF2R0osQUF5R0csa0JBekdFLEFBeUNILFNBQVMsQ0FnRVIsb0JBQW9CLENBQUM7TUFDbkIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUEzR0osQUE2R0csa0JBN0dFLEFBeUNILFNBQVMsQ0FvRVIsb0JBQW9CLENBQUM7TUFDbkIsV0FBVyxFakJwR1Asa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUs7TUNzRDVDLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFFBQUM7TWdCK0NMLGFBQWEsRUFBRSxJQUFJO01BQ25CLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBbkhKLEFBcUhHLGtCQXJIRSxBQXlDSCxTQUFTLENBNEVSLG1CQUFtQixDQUFDO01oQnJEeEIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsUUFBQyxHZ0JzRE47SUF2SEosQUEwSEssa0JBMUhBLEFBeUhELGVBQU0sQ0FDTCxhQUFhLENBQUM7TXhCeEhwQixLQUFLLEVIbUNHLElBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHd0JrSXBDO01BcklOLEF4QktELGtCd0JMTSxBQXlIRCxlQUFNLENBQ0wsYUFBYSxBeEJySGxCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO01RYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0JNM0MsQUEwSEssa0JBMUhBLEFBeUhELGVBQU0sQ0FDTCxhQUFhLENBQUM7VXhCeEhwQixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEcyQmdHYjtVQXJJTixBeEJLRCxrQndCTE0sQUF5SEQsZUFBTSxDQUNMLGFBQWEsQXhCckhsQixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UWdCRjVDLEFBMEhLLGtCQTFIQSxBQXlIRCxlQUFNLENBQ0wsYUFBYSxDQUFDO1V4QnhIcEIsS0FBSyxFSG1DRyxNQUFZO1VHbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCa0lwQztVQXJJTixBeEJLRCxrQndCTE0sQUF5SEQsZUFBTSxDQUNMLGFBQWEsQXhCckhsQixXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJd0JQQSxBQXVJSyxrQkF2SUEsQUF5SEQsZUFBTSxDQWNMLEdBQUcsRUF2SVIsa0JBQUssQUF5SEQsZUFBTSxDZHlCYixVQUFVLENBV1IsRUFBRSxFQVhKLFVBQVUsQ2NsSlAsa0JBQUssQUF5SEQsZUFBTSxDZG9DWCxFQUFFLENjdEJRO01oQnZFVixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxJQUFDO01nQndFSCxXQUFXLEVBQUUsSUFBSTtNQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjtJQTNJTixBQTZJSyxrQkE3SUEsQUF5SEQsZUFBTSxDQW9CTCxhQUFhLENBQUM7TUFDWixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBS04sQUFBRCxvQkFBUSxDQUFDO0lBQ1AsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVqQmxIVixPQUFPO0lpQm1IYixPQUFPLEVBQUUsV0FBVyxHQTBJckI7SWhCdlNHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCMEozQyxBQUFELG9CQUFRLENBQUM7UUFNTCxNQUFNLEVBQUUsYUFBYTtRQUNyQixPQUFPLEVBQUUsWUFBWSxHQXNJeEI7SWhCL1JHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07TWdCa0o1QyxBQUFELG9CQUFRLENBQUM7UUFXTCxPQUFPLEVBQUUsYUFBYSxHQWtJekI7SUE3SUEsQUFjQyxvQkFkTSxDQWNOLFdBQVcsQ0FBQztNQUNWLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7SUFFQSxBQUFELDBCQUFPLENBQUM7TUFDTixLQUFLLEVBQUUsSUFBSSxHQVVaO01oQnZMQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FnQjRLekMsQUFBRCwwQkFBTyxDQUFDO1V4QnBLVixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVRDJHM0MsV0FBVyxFRnpFSCxRQUFZLEcyQjRJakI7VUFYQSxBeEJqS0gsMEJ3QmlLUyxBeEJqS1IsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7TVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FnQm9LMUMsQUFBRCwwQkFBTyxDQUFDO1V4QnBLVixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtVRDJHM0MsV0FBVyxFRnpFSCxTQUFZLEcyQjRJakI7VUFYQSxBeEJqS0gsMEJ3QmlLUyxBeEJqS1IsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXdCNklBLEFBaUNHLG9CQWpDSSxDQStCTixVQUFVLENBRVIsQ0FBQyxDQUFDO01BTUEsS0FBSyxFakJ0S0MsT0FBTztNaUJ1S2IsUUFBUSxFQUFFLFFBQVEsR0FzQm5CO01BNUJDLEFBQUEsV0FBVyxDQWxDaEIsb0JBQU8sQ0ErQk4sVUFBVSxDQUVSLENBQUMsQ0FDZTtRaEJ0SHBCLFNBQVMsRUFBQyxJQUFDO1FBQ1gsU0FBUyxFQUFDLE9BQUM7UUFJWCxXQUFXLEVBQUMsSUFBQztRQUNiLFdBQVcsRUFBQyxNQUFDLEdnQm1ITjtNaEIvTEgsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0I0THRDLEFBQUEsV0FBVyxDQWxDaEIsb0JBQU8sQ0ErQk4sVUFBVSxDQUVSLENBQUMsQ0FVaUI7VWhCL0h0QixTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxRQUFDO1VBSVgsV0FBVyxFQUFDLElBQUM7VUFDYixXQUFXLEVBQUMsSUFBQyxHZ0I0SEo7TWhCaE1MLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UWdCb0x2QyxBQUFBLFdBQVcsQ0FsQ2hCLG9CQUFPLENBK0JOLFVBQVUsQ0FFUixDQUFDLENBaUJpQjtVaEJ0SXRCLFNBQVMsRUFBQyxJQUFDO1VBQ1gsU0FBUyxFQUFDLFNBQUM7VUFJWCxXQUFXLEVBQUMsSUFBQztVQUNiLFdBQVcsRUFBQyxRQUFDLEdnQm1JSjtNaEJuTUwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRZ0JnTHZDLEFBQUEsV0FBVyxDQWxDaEIsb0JBQU8sQ0ErQk4sVUFBVSxDQUVSLENBQUMsQ0F3QmlCO1VoQjdJdEIsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsUUFBQztVQUlYLFdBQVcsRUFBQyxJQUFDO1VBQ2IsV0FBVyxFQUFDLFFBQUMsR2dCMElKO0lBNURSLEFBZ0VHLG9CQWhFSSxDQStCTixVQUFVLENBaUNSLENBQUMsR0FBRyxDQUFDLENBQUM7TUFFSixVQUFVLEVBQUUsTUFBTSxHQUNuQjtJQW5FSixBQXFFRyxvQkFyRUksQ0ErQk4sVUFBVSxDQXNDUixJQUFJLENBQUM7TUFDSCxPQUFPLEVBQUUsWUFBWSxHQUN0QjtJQUdGLEFBQUQseUJBQU0sQ0FBQztNQUNMLFlBQVksRUFBRSxJQUFJO01BRWxCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLEtBQUssR0FRWjtNaEJqUEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0JvT3pDLEFBQUQseUJBQU0sQ0FBQztVQVFILFlBQVksRUFBRSxDQUFDO1VBR2YsSUFBSSxFQUFFLEtBQUssR0FFZDtJQUVBLEFBQUQsNkJBQVUsQ0FBQztNQUNULFVBQVUsRUFBRSxJQUFJO01BQ2hCLFVBQVUsRUFBRSxLQUFLLEdBZ0JsQjtNaEI3UEMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRZ0IyTzFDLEFBQUQsNkJBQVUsQ0FBQztVQUtQLFVBQVUsRUFBRSxJQUFJLEdBYW5CO01BbEJBLEFBUUMsNkJBUlEsQ0FRUixDQUFDLENBQUM7UUFDQSxXQUFXLEVBQUUsR0FBRztRQUNoQixXQUFXLEVBQUUsR0FBRztRaEJ2THRCLFNBQVMsRUFBQyxJQUFDO1FBQ1gsU0FBUyxFQUFDLFNBQUMsR2dCNkxOO1FBakJGLEFBYUcsNkJBYk0sQ0FRUixDQUFDLEFBS0UsT0FBTyxDQUFDO1VBQ1AsT0FBTyxFQUFFLE9BQU87VUFDaEIsV0FBVyxFQUFFLEdBQUcsR0FDakI7SUFJSixBQUVDLDJCQUZNLENBRU4sMEJBQTBCLENBQUM7TUFDekIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsQ0FBQyxHQW1CVjtNaEI5UkQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0J1UXpDLEFBRUMsMkJBRk0sQ0FFTiwwQkFBMEIsQ0FBQztVMUI1Sy9CLE9BQU8sRUFBRSxJQUFJO1VBQ2IsZUFBZSxFQUZ3QixLQUFLO1VBRzVDLEtBQUssRUFBRSxJQUFJO1VBV1QsU0FBUyxFQUFFLElBQUksRzBCb0xaO01oQjlSRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FnQnVRekMsQUFVRywyQkFWSSxDQUVOLDBCQUEwQixDQVF4QixFQUFFLENBQUM7VUFFQyxJQUFJLEVBQUUsT0FBTztVQUNiLFNBQVMsRUFBRSxHQUFHO1VBQ2QsYUFBYSxFQUFFLElBQUksR0FPdEI7VUFyQkosQUFnQk8sMkJBaEJBLENBRU4sMEJBQTBCLENBUXhCLEVBQUUsQUFNRyxVQUFXLENSMDlCSixJQUFJLEVRMTlCTTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjtJQW5CUixBQTJCRywyQkEzQkksQ0F5Qk4sVUFBVSxDQUVSLENBQUMsQ0FBQztNQUNBLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FoQjVSSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VnQmtTL0MsQUFFRSxjQUZZLENBRVosWUFBWTtFQURkLGdCQUFnQixDQUNkLFlBQVksQ0FBQztJekJ4TGIsV0FBVyxFRnpFSCxRQUFZLEcyQnFRbkI7O0FBR0gsQUFBQSxjQUFjLENBQUM7RUFDYixNQUFNLEVBQUUsTUFBTSxHQXVFZjtFaEJuWEssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0IyUy9DLEFBQUEsY0FBYyxDQUFDO01BUVgsTUFBTSxFQUFFLE1BQU0sR0FnRWpCO0VoQm5YSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lnQnNUNUMsQUFBRCx1QkFBVSxDQUFDO016QjFNWCxXQUFXLEVGekVILFFBQVksRzJCdVJuQjtFQUVBLEFBQUQscUJBQVEsQ0FBQztJQUtQLFVBQVUsRUFBRSxJQUFJO0l4QmpVbEIsS0FBSyxFSG1DRyxJQUFZO0lHbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCaVgxQztJQXREQSxBQUNDLHFCQURNLEFBQ0wsY0FBYyxDQUFDO01BQ2QsVUFBVSxFQUFFLENBQUMsR0FDZDtJQUhGLEF4QnpURCxxQndCeVRRLEF4QnpUUCxXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCb1UzQyxBQUFELHFCQUFRLENBQUM7UXhCNVRULEtBQUssRUhtQ0csTUFBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCO1F3QndVdkMsVUFBVSxFQUFFLElBQUksR0F5Q25CO1FBdERBLEF4QnpURCxxQndCeVRRLEF4QnpUUCxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtRd0J1VEEsQXhCbFFELHFCd0JrUVEsQXhCbFFQLFVBQVcsQ0FBQSxFQUFFLEVBQU87VUFDbkIsWUFBWSxFQUFFLENBQUMsR0FDaEI7UXdCZ1FBLEFBZUcscUJBZkksQUFlSCxZQUFhLENmdklNLENBQUMsRWV1SUo7VUFDZixVQUFVLEVBQUUsQ0FBQyxHQUNkO0loQjdVRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01nQjRUNUMsQUFBRCxxQkFBUSxDQUFDO1F4QjVUVCxLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHd0JpWDFDO1FBdERBLEF4QnpURCxxQndCeVRRLEF4QnpUUCxXQUFXLENBQUM7VUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtRd0J1VEEsQUF1QkcscUJBdkJJLEFBdUJILFlBQWEsQ0FBQSxNQUFNLEVBQUU7VUFDcEIsYUFBYSxFQUFFLElBQUksR0FDcEI7SUFHRixBQUFELDBCQUFNLENBQUM7TWhCMVJULFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLE9BQUM7TWdCNFJQLFdBQVcsRWpCblZMLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLO01pQm9WeEMsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsS0FBSyxFakIzVUcsT0FBTyxHaUJvVmhCO01oQi9XQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1FnQmdXekMsQUFBRCwwQkFBTSxDQUFDO1VoQjFSVCxTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxNQUFDLEdnQndTUjtNaEJ2V0MsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtRZ0J3VjFDLEFBQUQsMEJBQU0sQ0FBQztVaEIxUlQsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsUUFBQyxHZ0J3U1I7SUFFQSxBQUFELDBCQUFNLENBQUM7TWhCM1NULFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLFFBQUM7TWdCNlNQLFVBQVUsRUFBRSxJQUFJLEdBS2pCO01oQmpYQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO1FnQnlXMUMsQUFBRCwwQkFBTSxDQUFDO1VoQjNTVCxTQUFTLEVBQUMsSUFBQztVQUNYLFNBQVMsRUFBQyxJQUFDLEdnQmtUUjs7QUFJTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLE1BQU0sR0E0Q2hCO0VoQjFhSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQjZYOUMsQUFBQSxnQkFBZ0IsQ0FBQztNQUliLE9BQU8sRUFBRSxNQUFNLEdBeUNsQjtFaEJsYUssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0JxWC9DLEFBQUEsZ0JBQWdCLENBQUM7TUFRYixPQUFPLEVBQUUsT0FBTyxHQXFDbkI7RWhCbGFLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdCcVgvQyxBQVdFLGdCQVhjLENBV2QsWUFBWSxDQUFDO016QnBSYixXQUFXLEVGekVILFFBQVksRzJCaVduQjtFQWZILEFBaUJFLGdCQWpCYyxDQWlCZCxvQkFBb0IsQ0FBQztJQUNuQixLQUFLLEVBQUUsSUFBSSxHQTBCWjtJaEJ6YUcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNZ0I2WDlDLEFBaUJFLGdCQWpCYyxDQWlCZCxvQkFBb0IsQ0FBQztRQUlqQixhQUFhLEVBQUUsQ0FBQyxHQXVCbkI7SUE1Q0gsQUF3QkksZ0JBeEJZLENBaUJkLG9CQUFvQixBQU9qQixZQUFZLENBQUM7TUFDWixhQUFhLEVBQUUsSUFBSSxHQVlwQjtNaEJsYUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRZ0I2WDlDLEFBd0JJLGdCQXhCWSxDQWlCZCxvQkFBb0IsQUFPakIsWUFBWSxDQUFDO1VBSVYsYUFBYSxFQUFFLENBQUM7VXhCalp0QixLQUFLLEVIbUNHLFNBQVk7VUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHd0J5WnhDO1VBckNMLEF4QmxYRSxnQndCa1hjLENBaUJkLG9CQUFvQixBQU9qQixZQUFZLEF4QjFZZCxXQUFXLENBQUM7WUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtNUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07UWdCcVgvQyxBQXdCSSxnQkF4QlksQ0FpQmQsb0JBQW9CLEFBT2pCLFlBQVksQ0FBQztVeEI3WWhCLEtBQUssRUhtQ0csU0FBWTtVR2xDcEIsWUFBWSxFQUFFLElBQTZCO1VEMkczQyxXQUFXLEVGekVILFFBQVksRzJCdVhqQjtVQXJDTCxBeEJsWEUsZ0J3QmtYYyxDQWlCZCxvQkFBb0IsQUFPakIsWUFBWSxBeEIxWWQsV0FBVyxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQjZYOUMsQUF1Q0ksZ0JBdkNZLENBaUJkLG9CQUFvQixBQXNCakIsV0FBVyxDQUFDO1F4QjVaZixLQUFLLEVIbUNHLFNBQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHd0IrWnhDO1FBM0NMLEF4QmxYRSxnQndCa1hjLENBaUJkLG9CQUFvQixBQXNCakIsV0FBVyxBeEJ6WmIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0F3QitaSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLFVBQVUsRUFBRSxLQUFLLEdBaUNsQjtFQS9CRSxBQUFELHlCQUFTLENBQUM7SXhCeGFWLEtBQUssRUhtQ0csU0FBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCO0l3QnlhekMsYUFBYSxFQUFFLElBQUksR0E0QnBCO0lBOUJBLEF4QnJhRCx5QndCcWFTLEF4QnJhUixXQUFXLENBQUM7TUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCZ2IzQyxBQUFELHlCQUFTLENBQUM7UXhCeGFWLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEd3QnFjMUM7UUE5QkEsQXhCcmFELHlCd0JxYVMsQXhCcmFSLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNZ0J3YTVDLEFBQUQseUJBQVMsQ0FBQztReEJ4YVYsS0FBSyxFSG1DRyxPQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCcWMxQztRQTlCQSxBeEJyYUQseUJ3QnFhUyxBeEJyYVIsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXdCbWFBLEFBWUMseUJBWk8sQ0FZUCxFQUFFLENBQUM7TUFDRCxjQUFjLEVBQUUsTUFBTTtNQUN0QixhQUFhLEVBQUUsSUFBSTtNQUNuQixRQUFRLEVBQUUsUUFBUSxHQWNuQjtNQTdCRixBQWlCRyx5QkFqQkssQ0FZUCxFQUFFLEFBS0MsV0FBVyxDQUFDO1FBQ1gsT0FBTyxFQUFFLElBQUksR0FDZDtNQW5CSixBQXFCRyx5QkFyQkssQ0FZUCxFQUFFLEFBU0MsTUFBTSxDQUFDO1FBQ04sTUFBTSxFQUFFLEdBQUc7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxFQUFFO1FBQ1gsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLENBQUM7UUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUNSOztBQU1QLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsTUFBTSxFQUFFLE1BQU0sR0EwRGY7RWhCN2dCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQmtkOUMsQUFBQSxxQkFBcUIsQ0FBQztNQUlsQixVQUFVLEVBQUUsRUFBRSxHQXVEakI7RWhCN2dCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQnlkM0MsQUFHRyxpQ0FIUyxDQUdULDhCQUE4QixDQUFDO014QnBkbkMsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCcWR0QztNQUxKLEF4QjljRCxpQ3dCOGNhLENBR1QsOEJBQThCLEF4QmpkakMsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SXdCNGNBLEFBT0csaUNBUFMsQ0FPVCw0QkFBNEIsQ0FBQztNeEJ4ZGpDLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO01EMkczQyxXQUFXLEVGekVILFFBQVksRzJCd2JmO01BVkosQXhCOWNELGlDd0I4Y2EsQ0FPVCw0QkFBNEIsQXhCcmQvQixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtJd0I0Y0EsQUFZRyxpQ0FaUyxDQVlULDBCQUEwQixBQUFBLFVBQVcsQ1I0d0J2QixJQUFJLEVRNXdCeUI7TUFDekMsY0FBYyxFQUFFLFdBQVcsR0FTNUI7TUF0QkosQUFlSyxpQ0FmTyxDQVlULDBCQUEwQixBQUFBLFVBQVcsQ1I0d0J2QixJQUFJLEVRendCaEIsOEJBQThCLENBQUM7UXpCcFhyQyxXQUFXLEVGekVILFFBQVksRzJCK2JiO01BakJOLEFBbUJLLGlDQW5CTyxDQVlULDBCQUEwQixBQUFBLFVBQVcsQ1I0d0J2QixJQUFJLEVRcndCaEIsNEJBQTRCLENBQUM7UXpCeFhuQyxXQUFXLEVGekVILEVBQVksRzJCbWNiO0VoQjllSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQm1mM0MsQUFXRyxpQ0FYUyxDQVdULDBCQUEwQixBQUFBLFVBQVcsQ1JndkJ2QixHQUFHLEVRaHZCeUI7TUFDeEMsY0FBYyxFQUFFLFdBQVcsR0FXNUI7O0FBS1AsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxjQUFjLEdBcUIvQjtFaEJ0aUJLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCK2dCOUMsQUFBQSwwQkFBMEIsQ0FBQztNQUt2QixjQUFjLEVBQUUsR0FBRyxHQWtCdEI7RWhCOWhCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lnQnVnQi9DLEFBQUEsMEJBQTBCLENBQUM7TUFTdkIsV0FBVyxFQUFFLE1BQU0sR0FjdEI7RUF2QkQsQUFZRSwwQkFad0IsR0FBMUIsMEJBQTBCLENBWWxCO0lBQ0osVUFBVSxFQUFFLElBQUksR0FTakI7SWhCcmlCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01nQitnQjlDLEFBWUUsMEJBWndCLEdBQTFCLDBCQUEwQixDQVlsQjtRQUlGLFVBQVUsRUFBRSxJQUFJLEdBTW5CO0loQjdoQkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNZ0J1Z0IvQyxBQVlFLDBCQVp3QixHQUExQiwwQkFBMEIsQ0FZbEI7UUFRRixVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFHSCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLGFBQWEsRUFBRSxJQUFJLEdBS3BCO0VoQjlpQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0J3aUI5QyxBQUFBLDRCQUE0QixDQUFDO01BSXpCLGFBQWEsRUFBRSxDQUFDLEdBRW5COztBQVVELEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsV0FBVyxFakJ6aUJELGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLO0VpQjBpQjVDLFdBQVcsRUFBRSxHQUFHO0VoQnBmaEIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsSUFBQztFZ0JxZlgsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixNQUFNLEVBQUUsTUFBTSxHQUtmO0VoQnJrQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0IrakI5QyxBQUFBLHNCQUFzQixDQUFDO01BSW5CLFVBQVUsRUFBRSxFQUFFLEdBRWpCOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RXhCL2pCdkIsS0FBSyxFSG1DRyxTQUFZO0VHbENwQixZQUFZLEVBQUUsSUFBNkI7RUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHMkIraEJyQjtFQUhELEF4QjVqQkUsd0J3QjRqQnNCLEF4QjVqQnJCLFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBd0Jna0JILEFBRUUsdUJBRnFCLENBRXJCLFVBQVUsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBTEgsQUFPRSx1QkFQcUIsQ0FPckIsa0JBQWtCLENBQUM7RTFCdmFuQixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsSUFBSTtFQUNsQixLQUFLLEUwQnNhcUIsR0FBRztFaEJwVzdCLFNBQVMsRUFBRSxNQUFNLEdnQnNXaEI7RUFWSCxBcEJ2aUJFLHVCb0J1aUJxQixDQU9yQixrQkFBa0IsQXBCOWlCakIsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7RUk5QkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0Jpa0IvQyxBQU9FLHVCQVBxQixDQU9yQixrQkFBa0IsQ0FBQztNaEJoV2pCLFNBQVMsRUFBRSxNQUFNLEdnQm1XbEI7O0FBUUgsQUFBQSxhQUFhLENBQUM7RUFDWixNQUFNLEVBQUUsTUFBTSxHQUtmO0VoQnJtQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0IrbEI5QyxBQUFBLGFBQWEsQ0FBQztNQUlWLFVBQVUsRUFBRSxFQUFFLEdBRWpCOztBQUVELEFBQUEsK0JBQStCLENBQUM7RUFDOUIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsY0FBYyxHQWlDL0I7RWhCMW9CSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQnVtQjlDLEFBQUEsK0JBQStCLENBQUM7TUFLNUIsY0FBYyxFQUFFLEdBQUcsR0E4QnRCO0VoQmxvQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0IrbEIvQyxBQUFBLCtCQUErQixDQUFDO01BUzVCLFdBQVcsRUFBRSxNQUFNLEdBMEJ0QjtFQW5DRCxBQVlFLCtCQVo2QixDQVk3Qix5QkFBeUIsQ0FBQztJQUN4QixVQUFVLEVBQUUsSUFBSSxHQU1qQjtJaEIxbkJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWdCdW1COUMsQUFZRSwrQkFaNkIsQ0FZN0IseUJBQXlCLENBQUM7UUFJdEIsVUFBVSxFQUFFLENBQUM7UXhCL21CakIsS0FBSyxFSG1DRyxTQUFZO1FHbENwQixZQUFZLEVBQUUsSUFBNkIsR3dCaW5CMUM7UUFuQkgsQXhCNWxCRSwrQndCNGxCNkIsQ0FZN0IseUJBQXlCLEF4QnhtQnhCLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0V3QjBsQkgsQUFxQkUsK0JBckI2QixDQXFCN0IsK0JBQStCLENBQUM7SUFDOUIsV0FBVyxFakI3bUJILGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLO0lpQjhtQjFDLFdBQVcsRUFBRSxHQUFHO0loQnhqQmxCLFNBQVMsRUFBQyxJQUFDO0lBQ1gsU0FBUyxFQUFDLElBQUM7SWdCeWpCVCxhQUFhLEVBQUUsSUFBSSxHQUNwQjtFaEJqb0JHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCdW1COUMsQUE0QkUsK0JBNUI2QixDQTRCN0IsdUJBQXVCLENBQUM7TXhCM25CeEIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TUQyRzNDLFdBQVcsRUZ6RUgsUUFBWSxHMkI4bEJuQjtNQWxDSCxBeEI1bEJFLCtCd0I0bEI2QixDQTRCN0IsdUJBQXVCLEF4QnhuQnRCLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBd0IrbkJILEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsVUFBVSxFQUFFLElBQUksR0FLakI7RWhCbHBCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQjRvQjlDLEFBQUEsd0JBQXdCLENBQUM7TUFJckIsVUFBVSxFQUFFLElBQUksR0FFbkI7O0FBTUQsQUFBQSxVQUFVLENBQUM7RUFDVCxNQUFNLEVBQUUsTUFBTSxHQUtmO0VoQjlwQkssTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0J3cEI5QyxBQUFBLFVBQVUsQ0FBQztNQUlQLFVBQVUsRUFBRSxFQUFFLEdBRWpCOztBaEI5cEJLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdCcXFCOUMsQUFBQSxpQkFBaUIsQ0FBQztJQUVkLE9BQU8sRUFBRSxJQUFJLEdBRWhCOztBaEJ6cUJLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdCMnFCOUMsQUFBQSx1QkFBdUIsQ0FBQztJQUdwQixJQUFJLEVBQUUsS0FBSyxHQVdkOztBQWRELEFBTUUsdUJBTnFCLEdBQXZCLHVCQUF1QixDQU1mO0VBQ0osVUFBVSxFQUFFLElBQUksR0FNakI7RWhCeHJCRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQjJxQjlDLEFBTUUsdUJBTnFCLEdBQXZCLHVCQUF1QixDQU1mO01BSUYsVUFBVSxFQUFFLENBQUM7TUFDYixXQUFXLEVBQUUsSUFBSSxHQUVwQjs7QUFHSCxBQUFBLGFBQWEsQ0FBQyxrQkFBa0IsQUFBQSxjQUFjLENBQUM7RUFDN0MsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBR0QsQUFBQSxTQUFTLEdBQUcsVUFBVSxDQUFDO0VBQ3JCLE1BQU0sRUFBRSxNQUFNLEdBS2Y7RWhCdHNCSyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnQmdzQjlDLEFBQUEsU0FBUyxHQUFHLFVBQVUsQ0FBQztNQUluQixVQUFVLEVBQUUsRUFBRSxHQUVqQjs7QUFFRCxBQUFBLGlCQUFpQixHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUM7RUFDekMsTUFBTSxFQUFFLE1BQU0sR0FLZjtFaEI5c0JLLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdCd3NCOUMsQUFBQSxpQkFBaUIsR0FBRyxTQUFTLEdBQUcsVUFBVSxDQUFDO01BSXZDLFVBQVUsRUFBRSxFQUFFLEdBRWpCOztBQzl0QkQsQUFBQSxJQUFJLENBQUM7RUFDSCxLQUFLLEVsQjJDUyxPQUFPLEdrQjZTdEI7RUF6VkQsQUFHRSxJQUhFLENBR0YsbUJBQW1CLENBQUM7SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFFbkIsV0FBVyxFQUFFLEdBQUcsR0FDakI7RUFQSCxBQVNFLElBVEUsQ0FTRixVQUFVO0VBVFosSUFBSSxDQVVGLGVBQWUsQ0FBQztJQUNkLEtBQUssRUFBRSxJQUFJO0lBRVgsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLFFBQVEsR0F1TmpCO0lqQnJORyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01pQmhCOUMsQUFTRSxJQVRFLENBU0YsVUFBVTtNQVRaLElBQUksQ0FVRixlQUFlLENBQUM7UUFPWixNQUFNLEVBQUUsUUFBUSxHQW9ObkI7SUFyT0gsQUFvQkksSUFwQkEsQ0FTRixVQUFVLENBV1IsS0FBSztJQXBCVCxJQUFJLENBU0YsVUFBVSxDQVlSLEtBQUs7SUFyQlQsSUFBSSxDQVNGLFVBQVUsQ0FhUixRQUFRO0lBdEJaLElBQUksQ0FVRixlQUFlLENBVWIsS0FBSztJQXBCVCxJQUFJLENBVUYsZUFBZSxDQVdiLEtBQUs7SUFyQlQsSUFBSSxDQVVGLGVBQWUsQ0FZYixRQUFRLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLEtBQUs7TWpCNkRsQixTQUFTLEVBQUMsSUFBQztNQUNYLFNBQVMsRUFBQyxRQUFDO01BSVgsV0FBVyxFQUFDLElBQUM7TUFDYixXQUFXLEVBQUMsT0FBQztNaUJoRVQsV0FBVyxFbEJLSCxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdrQkpsRDtJQTdCTCxBQStCSSxJQS9CQSxDQVNGLFVBQVUsQ0FzQlIsS0FBSztJQS9CVCxJQUFJLENBVUYsZUFBZSxDQXFCYixLQUFLLENBQUM7TUFDSixjQUFjLEVBQUUsSUFBSSxHQUtyQjtNQXJDTCxBQWtDTSxJQWxDRixDQVNGLFVBQVUsQ0FzQlIsS0FBSyxDQUdILElBQUk7TUFsQ1YsSUFBSSxDQVVGLGVBQWUsQ0FxQmIsS0FBSyxDQUdILElBQUksQ0FBQztRakJvRFQsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsUUFBQyxHaUJuRE47SUFwQ1AsQUF1Q0ksSUF2Q0EsQ0FTRixVQUFVLENBOEJSLEtBQUssQUFBQSxTQUFTLEFBQUEsYUFBYSxBQUFBLE1BQU07SUF2Q3JDLElBQUksQ0FVRixlQUFlLENBNkJiLEtBQUssQUFBQSxTQUFTLEFBQUEsYUFBYSxBQUFBLE1BQU0sQ0FBQztNQUNoQyxPQUFPLEVBQUUsR0FBRztNQUNaLEtBQUssRUFBRSxPQUFPO01BQ2QsU0FBUyxFQUFFLE1BQU0sR0FDbEI7SUEzQ0wsQUE2Q0ksSUE3Q0EsQ0FTRixVQUFVLENBb0NSLEtBQUs7SUE3Q1QsSUFBSSxDQVNGLFVBQVUsQ0FxQ1IsUUFBUTtJQTlDWixJQUFJLENBVUYsZUFBZSxDQW1DYixLQUFLO0lBN0NULElBQUksQ0FVRixlQUFlLENBb0NiLFFBQVEsQ0FBQztNQUNQLEtBQUssRWxCSEssT0FBTyxHa0JJbEI7SUFoREwsQUFrREksSUFsREEsQ0FTRixVQUFVLEFBeUNQLEtBQUs7SUFsRFYsSUFBSSxDQVVGLGVBQWUsQUF3Q1osS0FBSyxDQUFDO01BQ0wsUUFBUSxFQUFFLFFBQVEsR0FvQ25CO01BdkZMLEFBcURNLElBckRGLENBU0YsVUFBVSxBQXlDUCxLQUFLLENBR0osS0FBSztNQXJEWCxJQUFJLENBVUYsZUFBZSxBQXdDWixLQUFLLENBR0osS0FBSyxDQUFDO1FBQ0osV0FBVyxFQUFFLElBQUk7UUFDakIsVUFBVSxFQUFFLElBQUk7UUFDaEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsSUFBSTtRQUNoQixNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDbEJoQmxCLE9BQU87UUMxQ25CLHFCQUFxQixFaUIyRFEsQ0FBQztRakIxRDlCLGtCQUFrQixFaUIwRFcsQ0FBQztRakJ6RDlCLGdCQUFnQixFaUJ5RGEsQ0FBQztRakJ4RDlCLGFBQWEsRWlCd0RnQixDQUFDLEdBU3pCO1FBckVQLEFBOERRLElBOURKLENBU0YsVUFBVSxBQXlDUCxLQUFLLENBR0osS0FBSyxBQVNGLGFBQWE7UUE5RHRCLElBQUksQ0FVRixlQUFlLEFBd0NaLEtBQUssQ0FHSixLQUFLLEFBU0YsYUFBYSxDQUFDO1VBQ2IsS0FBSyxFbEJuQkMsT0FBTyxHa0JvQmQ7UUFoRVQsQUFrRVEsSUFsRUosQ0FTRixVQUFVLEFBeUNQLEtBQUssQ0FHSixLQUFLLEFBYUYsTUFBTTtRQWxFZixJQUFJLENBVUYsZUFBZSxBQXdDWixLQUFLLENBR0osS0FBSyxBQWFGLE1BQU0sQ0FBQztVQUNOLFlBQVksRWxCdkJOLE9BQU8sR2tCd0JkO01BcEVULEFBdUVNLElBdkVGLENBU0YsVUFBVSxBQXlDUCxLQUFLLEFBcUJILE1BQU07TUF2RWIsSUFBSSxDQVVGLGVBQWUsQUF3Q1osS0FBSyxBQXFCSCxNQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsRUFBRTtRQUNYLE1BQU0sRUFBRSxHQUFHO1FBQ1gsZ0JBQWdCLEVsQjlCUixPQUFPO1FrQitCZixPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLENBQUM7UUFDVCxRQUFRLEVBQUUsUUFBUTtRakIyRHhCLGtCQUFrQixFaUIxRFEsS0FBSyxDQUFDLElBQUksQ2xCSnZCLHdDQUF3QyxDa0JJRixFQUFFO1FqQjJEckQsZUFBZSxFaUIzRFcsS0FBSyxDQUFDLElBQUksQ2xCSnZCLHdDQUF3QyxDa0JJRixFQUFFO1FqQjREckQsY0FBYyxFaUI1RFksS0FBSyxDQUFDLElBQUksQ2xCSnZCLHdDQUF3QyxDa0JJRixFQUFFO1FqQjZEckQsYUFBYSxFaUI3RGEsS0FBSyxDQUFDLElBQUksQ2xCSnZCLHdDQUF3QyxDa0JJRixFQUFFO1FqQjhEckQsVUFBVSxFaUI5RGdCLEtBQUssQ0FBQyxJQUFJLENsQkp2Qix3Q0FBd0MsQ2tCSUYsRUFBRSxHQUNoRDtNQWhGUCxBQW1GUSxJQW5GSixDQVNGLFVBQVUsQUF5Q1AsS0FBSyxBQWdDSCxNQUFNLEFBQ0osTUFBTTtNQW5GZixJQUFJLENBVUYsZUFBZSxBQXdDWixLQUFLLEFBZ0NILE1BQU0sQUFDSixNQUFNLENBQUM7UUFDTixLQUFLLEVBQUUsSUFBSSxHQUNaO0lBckZULEFBeUZJLElBekZBLENBU0YsVUFBVSxDQWdGUixRQUFRO0lBekZaLElBQUksQ0FVRixlQUFlLENBK0ViLFFBQVEsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLElBQUk7TUFDZixTQUFTLEVBQUUsSUFBSTtNQUNmLFFBQVEsRUFBRSxJQUFJO01BQ2QsZ0JBQWdCLEVBQUUsR0FBRztNQUNyQixVQUFVLEVBQUUsSUFBSTtNakI5RnBCLHFCQUFxQixFaUIrRk0sQ0FBQztNakI5RjVCLGtCQUFrQixFaUI4RlMsQ0FBQztNakI3RjVCLGdCQUFnQixFaUI2RlcsQ0FBQztNakI1RjVCLGFBQWEsRWlCNEZjLENBQUM7TUFDeEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsQnREVCxPQUFPO01rQnVEZixPQUFPLEVBQUUsSUFBSTtNakJ1Q2pCLGtCQUFrQixFaUJ0Q00sWUFBWSxDQUFDLElBQUksQ2xCeEI1Qix3Q0FBd0M7TUMrRHJELGVBQWUsRWlCdkNTLFlBQVksQ0FBQyxJQUFJLENsQnhCNUIsd0NBQXdDO01DZ0VyRCxjQUFjLEVpQnhDVSxZQUFZLENBQUMsSUFBSSxDbEJ4QjVCLHdDQUF3QztNQ2lFckQsYUFBYSxFaUJ6Q1csWUFBWSxDQUFDLElBQUksQ2xCeEI1Qix3Q0FBd0M7TUNrRXJELFVBQVUsRWlCMUNjLFlBQVksQ0FBQyxJQUFJLENsQnhCNUIsd0NBQXdDLEdrQjhCbEQ7TUF6R0wsQUFxR00sSUFyR0YsQ0FTRixVQUFVLENBZ0ZSLFFBQVEsQUFZTCxNQUFNLEVBckdiLElBQUksQ0FTRixVQUFVLENBZ0ZSLFFBQVEsQUFhTCxNQUFNO01BdEdiLElBQUksQ0FVRixlQUFlLENBK0ViLFFBQVEsQUFZTCxNQUFNO01BckdiLElBQUksQ0FVRixlQUFlLENBK0ViLFFBQVEsQUFhTCxNQUFNLENBQUM7UUFDTixZQUFZLEVsQjNESixPQUFPLEdrQjREaEI7SUF4R1AsQUEyR0ksSUEzR0EsQ0FTRixVQUFVLENBa0dSLGdCQUFnQjtJQTNHcEIsSUFBSSxDQVVGLGVBQWUsQ0FpR2IsZ0JBQWdCLENBQUM7TUFDZixLQUFLLEVBQUUsSUFBSTtNQUNYLFFBQVEsRUFBRSxNQUFNO01BQ2hCLE1BQU0sRUFBRSxRQUFRO01BQ2hCLE9BQU8sRUFBRSxLQUFLLEdBNkRmO01BNUtMLEFBaUhNLElBakhGLENBU0YsVUFBVSxDQWtHUixnQkFBZ0IsQ0FNZCxzQkFBc0I7TUFqSDVCLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQU1kLHNCQUFzQixDQUFDO1FqQjNCM0IsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsTUFBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLFFBQUM7UWlCd0JQLFlBQVksRUFBRSxJQUFJO1FBUWxCLFdBQVcsRWxCNUZQLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLO1FrQjZGdEMsS0FBSyxFbEJqRkcsT0FBTztRa0JrRmYsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsUUFBUTtRakJVeEIsa0JBQWtCLEVpQlRDLEtBQUssQ0FBQyxLQUFLLENsQnJEakIsd0NBQXdDLEVrQnFEUCxTQUFTLENBQUMsS0FBSyxDbEJyRGhELHdDQUF3QztRQytEckQsZUFBZSxFaUJWSSxLQUFLLENBQUMsS0FBSyxDbEJyRGpCLHdDQUF3QyxFa0JxRFAsU0FBUyxDQUFDLEtBQUssQ2xCckRoRCx3Q0FBd0M7UUNnRXJELGNBQWMsRWlCWEssS0FBSyxDQUFDLEtBQUssQ2xCckRqQix3Q0FBd0MsRWtCcURQLFNBQVMsQ0FBQyxLQUFLLENsQnJEaEQsd0NBQXdDO1FDaUVyRCxhQUFhLEVpQlpNLEtBQUssQ0FBQyxLQUFLLENsQnJEakIsd0NBQXdDLEVrQnFEUCxTQUFTLENBQUMsS0FBSyxDbEJyRGhELHdDQUF3QztRQ2tFckQsVUFBVSxFaUJiUyxLQUFLLENBQUMsS0FBSyxDbEJyRGpCLHdDQUF3QyxFa0JxRFAsU0FBUyxDQUFDLEtBQUssQ2xCckRoRCx3Q0FBd0MsR2tCdUVoRDtRakJsSUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztVaUJoQjlDLEFBaUhNLElBakhGLENBU0YsVUFBVSxDQWtHUixnQkFBZ0IsQ0FNZCxzQkFBc0I7VUFqSDVCLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQU1kLHNCQUFzQixDQUFDO1lBTW5CLFlBQVksRUFBRSxJQUFJO1lqQmpDMUIsU0FBUyxFQUFDLElBQUM7WUFDWCxTQUFTLEVBQUMsUUFBQztZQUlYLFdBQVcsRUFBQyxJQUFDO1lBQ2IsV0FBVyxFQUFDLElBQUMsR2lCc0RSO1FBbEpQLEFBbUlRLElBbklKLENBU0YsVUFBVSxDQWtHUixnQkFBZ0IsQ0FNZCxzQkFBc0IsQUFrQm5CLFFBQVE7UUFuSWpCLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQU1kLHNCQUFzQixBQWtCbkIsUUFBUSxDQUFDO1VBQ1IsT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVBQUUsQ0FBQztVQUNSLE1BQU0sRUFBRSxHQUFHO1VBQ1gsVUFBVSxFbEIzRkosT0FBTztVa0I0RmIsUUFBUSxFQUFFLFFBQVE7VUFDbEIsR0FBRyxFQUFFLEdBQUc7VUFDUixLQUFLLEVBQUUsaUJBQWlCO1VqQkRoQyxrQkFBa0IsRWlCT1UsR0FBRyxDQUFDLEtBQUssQ2xCckV4Qix3Q0FBd0M7VUMrRHJELGVBQWUsRWlCTWEsR0FBRyxDQUFDLEtBQUssQ2xCckV4Qix3Q0FBd0M7VUNnRXJELGNBQWMsRWlCS2MsR0FBRyxDQUFDLEtBQUssQ2xCckV4Qix3Q0FBd0M7VUNpRXJELGFBQWEsRWlCSWUsR0FBRyxDQUFDLEtBQUssQ2xCckV4Qix3Q0FBd0M7VUNrRXJELFVBQVUsRWlCR2tCLEdBQUcsQ0FBQyxLQUFLLENsQnJFeEIsd0NBQXdDLEdrQnNFOUM7VWpCaklILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7WWlCaEI5QyxBQW1JUSxJQW5JSixDQVNGLFVBQVUsQ0FrR1IsZ0JBQWdCLENBTWQsc0JBQXNCLEFBa0JuQixRQUFRO1lBbklqQixJQUFJLENBVUYsZUFBZSxDQWlHYixnQkFBZ0IsQ0FNZCxzQkFBc0IsQUFrQm5CLFFBQVEsQ0FBQztjQVVOLEtBQUssRUFBRSxpQkFBaUIsR0FJM0I7TUFqSlQsQUFvSk0sSUFwSkYsQ0FTRixVQUFVLENBa0dSLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO01BcEpaLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO1FBQ3JCLE9BQU8sRUFBRSxJQUFJLEdBc0JkO1FBM0tQLEFBdUpRLElBdkpKLENBU0YsVUFBVSxDQWtHUixnQkFBZ0IsQ0F5Q2QsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUdILFFBQVEsR0FBRyxzQkFBc0I7UUF2SjFDLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0gsUUFBUSxHQUFHLHNCQUFzQixDQUFDO1VqQnRCekMsaUJBQWlCLEVpQnVCVSxpQkFBaUI7VWpCdEI1QyxjQUFjLEVpQnNCYSxpQkFBaUI7VWpCckI1QyxhQUFhLEVpQnFCYyxpQkFBaUI7VWpCcEI1QyxZQUFZLEVpQm9CZSxpQkFBaUI7VWpCbkI1QyxTQUFTLEVpQm1Ca0IsaUJBQWlCLEdBS3JDO1VqQjdJSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1lpQmhCOUMsQUF1SlEsSUF2SkosQ0FTRixVQUFVLENBa0dSLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBR0gsUUFBUSxHQUFHLHNCQUFzQjtZQXZKMUMsSUFBSSxDQVVGLGVBQWUsQ0FpR2IsZ0JBQWdCLENBeUNkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FHSCxRQUFRLEdBQUcsc0JBQXNCLENBQUM7Y2pCdEJ6QyxpQkFBaUIsRWlCMEJZLGlCQUFpQjtjakJ6QjlDLGNBQWMsRWlCeUJlLGlCQUFpQjtjakJ4QjlDLGFBQWEsRWlCd0JnQixpQkFBaUI7Y2pCdkI5QyxZQUFZLEVpQnVCaUIsaUJBQWlCO2NqQnRCOUMsU0FBUyxFaUJzQm9CLGlCQUFpQixHQUV2QztRQTdKVCxBQStKUSxJQS9KSixDQVNGLFVBQVUsQ0FrR1IsZ0JBQWdCLENBeUNkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFXQSxzQkFBc0IsQUFBQSxNQUFNO1FBL0p4QyxJQUFJLENBVUYsZUFBZSxDQWlHYixnQkFBZ0IsQ0F5Q2QsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQVdBLHNCQUFzQixBQUFBLE1BQU0sQ0FBQztVQUMvQixLQUFLLEVsQm5IQSxPQUFPO1VrQm9IWixNQUFNLEVBQUUsT0FBTyxHQVNoQjtVQTFLVCxBQW1LVSxJQW5LTixDQVNGLFVBQVUsQ0FrR1IsZ0JBQWdCLENBeUNkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFXQSxzQkFBc0IsQUFBQSxNQUFNLEFBSTdCLE9BQU87VUFuS2xCLElBQUksQ0FVRixlQUFlLENBaUdiLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBV0Esc0JBQXNCLEFBQUEsTUFBTSxBQUk3QixPQUFPLENBQUM7WUFDUCxLQUFLLEVBQUUsSUFBSSxHQUtaO1lqQnpKTCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO2NpQmhCOUMsQUFtS1UsSUFuS04sQ0FTRixVQUFVLENBa0dSLGdCQUFnQixDQXlDZCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBV0Esc0JBQXNCLEFBQUEsTUFBTSxBQUk3QixPQUFPO2NBbktsQixJQUFJLENBVUYsZUFBZSxDQWlHYixnQkFBZ0IsQ0F5Q2QsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQVdBLHNCQUFzQixBQUFBLE1BQU0sQUFJN0IsT0FBTyxDQUFDO2dCQUlMLEtBQUssRUFBRSxJQUFJLEdBRWQ7SUF6S1gsQUFnTE0sSUFoTEYsQ0FTRixVQUFVLENBcUtSLGVBQWUsQ0FFYixRQUFRO0lBaExkLElBQUksQ0FTRixVQUFVLENBc0tSLGFBQWEsQ0FDWCxRQUFRO0lBaExkLElBQUksQ0FVRixlQUFlLENBb0tiLGVBQWUsQ0FFYixRQUFRO0lBaExkLElBQUksQ0FVRixlQUFlLENBcUtiLGFBQWEsQ0FDWCxRQUFRLENBQUM7TUFDUCxVQUFVLEVBQUUsSUFBSTtNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEVBQUUsaUJBQWlCO01BQ3hCLFNBQVMsRUFBRSxpQkFBaUI7TUFDNUIsU0FBUyxFQUFFLGlCQUFpQixHQVE3QjtNakI3S0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztRaUJoQjlDLEFBZ0xNLElBaExGLENBU0YsVUFBVSxDQXFLUixlQUFlLENBRWIsUUFBUTtRQWhMZCxJQUFJLENBU0YsVUFBVSxDQXNLUixhQUFhLENBQ1gsUUFBUTtRQWhMZCxJQUFJLENBVUYsZUFBZSxDQW9LYixlQUFlLENBRWIsUUFBUTtRQWhMZCxJQUFJLENBVUYsZUFBZSxDQXFLYixhQUFhLENBQ1gsUUFBUSxDQUFDO1VBUUwsV0FBVyxFQUFFLElBQUk7VUFDakIsS0FBSyxFQUFFLGlCQUFpQjtVQUN4QixTQUFTLEVBQUUsaUJBQWlCO1VBQzVCLFNBQVMsRUFBRSxpQkFBaUIsR0FFL0I7SUE3TFAsQUFpTU0sSUFqTUYsQ0FTRixVQUFVLENBdUxSLG9CQUFvQixDQUNsQixzQkFBc0I7SUFqTTVCLElBQUksQ0FVRixlQUFlLENBc0xiLG9CQUFvQixDQUNsQixzQkFBc0IsQ0FBQztNakIzRzNCLFNBQVMsRUFBQyxJQUFDO01BQ1gsU0FBUyxFQUFDLE9BQUM7TUFJWCxXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxNQUFDO01pQndHUCxZQUFZLEVBQUUsSUFBSSxHQXFCbkI7TWpCek1ELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7UWlCaEI5QyxBQWlNTSxJQWpNRixDQVNGLFVBQVUsQ0F1TFIsb0JBQW9CLENBQ2xCLHNCQUFzQjtRQWpNNUIsSUFBSSxDQVVGLGVBQWUsQ0FzTGIsb0JBQW9CLENBQ2xCLHNCQUFzQixDQUFDO1VqQjNHM0IsU0FBUyxFQUFDLElBQUM7VUFDWCxTQUFTLEVBQUMsTUFBQztVQUlYLFdBQVcsRUFBQyxJQUFDO1VBQ2IsV0FBVyxFQUFDLE9BQUMsR2lCNkhSO01Bek5QLEFBMk1RLElBM01KLENBU0YsVUFBVSxDQXVMUixvQkFBb0IsQ0FDbEIsc0JBQXNCLEFBVW5CLFFBQVE7TUEzTWpCLElBQUksQ0FVRixlQUFlLENBc0xiLG9CQUFvQixDQUNsQixzQkFBc0IsQUFVbkIsUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsZUFBZTtRQUN0QixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxHQUFHO1FqQnpIcEIsU0FBUyxFQUFDLElBQUM7UUFDWCxTQUFTLEVBQUMsSUFBQztRQUlYLFdBQVcsRUFBQyxJQUFDO1FBQ2IsV0FBVyxFQUFDLElBQUM7UWlCc0hMLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxHQUFHO1FBQ1IsSUFBSSxFQUFFLENBQUM7UUFDUCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLE1BQU0sRUFBRSxpQkFBaUIsR0FDMUI7SUF4TlQsQUEyTk0sSUEzTkYsQ0FTRixVQUFVLENBdUxSLG9CQUFvQixDQTJCbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUFnQixRQUFRLEdBQUcsc0JBQXNCO0lBM043RCxJQUFJLENBVUYsZUFBZSxDQXNMYixvQkFBb0IsQ0EyQmxCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FBZ0IsUUFBUSxHQUFHLHNCQUFzQixDQUFDO01qQjFGNUQsaUJBQWlCLEVpQjJGUSxJQUFJO01qQjFGN0IsY0FBYyxFaUIwRlcsSUFBSTtNakJ6RjdCLGFBQWEsRWlCeUZZLElBQUk7TWpCeEY3QixZQUFZLEVpQndGYSxJQUFJO01qQnZGN0IsU0FBUyxFaUJ1RmdCLElBQUksR0FPeEI7TUFuT1AsQUE4TlEsSUE5TkosQ0FTRixVQUFVLENBdUxSLG9CQUFvQixDQTJCbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUFnQixRQUFRLEdBQUcsc0JBQXNCLEFBR3BELFFBQVE7TUE5TmpCLElBQUksQ0FVRixlQUFlLENBc0xiLG9CQUFvQixDQTJCbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUFnQixRQUFRLEdBQUcsc0JBQXNCLEFBR3BELFFBQVEsQ0FBQztRQUNSLEtBQUssRUFBRSxJQUFJO1FBQ1gsT0FBTyxFQUFFLE9BQU87UUFDaEIsS0FBSyxFbEJyTEMsT0FBTyxHa0JzTGQ7RUFsT1QsQUF1T0UsSUF2T0UsQ0F1T0Ysc0JBQXNCLENBQUM7SUFDckIsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUNYO0VBM09ILEFBNk9FLElBN09FLENBNk9GLFlBQVksQ0FBQztJQUNYLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLFlBQVksR0FXckI7SUEzUEgsQUFrUEksSUFsUEEsQ0E2T0YsWUFBWSxBQUtULFVBQVUsQ0FBQztNQUNWLE1BQU0sRUFBRSxRQUFRO01BQ2hCLE1BQU0sRUFBRSxlQUFlLEdBQ3hCO0lBclBMLEFBdVBJLElBdlBBLENBNk9GLFlBQVksQUFVVCxNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsZ0JBQWdCO01BQ3pCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCO0VBMVBMLEFBNlBFLElBN1BFLENBNlBGLElBQUksQUFBQSx3QkFBd0IsQ0FBQztJQUMzQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBaFFILEFBa1FFLElBbFFFLENBa1FGLElBQUksQUFBQSxvQkFBb0IsQ0FBQztJQUN2QixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLGFBQWE7SUFDekIsS0FBSyxFbEI3TkssT0FBTztJa0I4TmpCLFdBQVcsRUFBRSxHQUFHO0lqQjlLbEIsV0FBVyxFQUFDLElBQUM7SUFDYixXQUFXLEVBQUMsU0FBQyxHaUIrS1o7RUEzUUgsQUE2UUUsSUE3UUUsQ0E2UUYsR0FBRyxBQUFBLGlCQUFpQixDQUFDO0lBQ25CLGdCQUFnQixFQUFFLHNCQUFzQjtJQUN4QyxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDZjtFQW5SSCxBQXNSSSxJQXRSQSxDQXFSRixhQUFhLENBQ1gsT0FBTztFQXRSWCxJQUFJLENBcVJGLGFBQWEsQ0FFWCxjQUFjLENBQUM7SUFDYixRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsTUFBTTtJQUNmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFlBQVksRUFBRSxJQUFJLEdBOENuQjtJQXpVTCxBQTZSTSxJQTdSRixDQXFSRixhQUFhLENBQ1gsT0FBTyxDQU9MLFlBQVk7SUE3UmxCLElBQUksQ0FxUkYsYUFBYSxDQUVYLGNBQWMsQ0FNWixZQUFZLENBQUM7TUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNkO0lBL1JQLEFBaVNNLElBalNGLENBcVJGLGFBQWEsQ0FDWCxPQUFPLEFBV0osTUFBTTtJQWpTYixJQUFJLENBcVJGLGFBQWEsQ0FFWCxjQUFjLEFBVVgsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxPQUFPLEVBQUUsS0FBSztNQUNkLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxHQUFHO01BQ1gsS0FBSyxFQUFFLGlCQUFpQjtNQUN4QixJQUFJLEVBQUUsSUFBSTtNQUNWLE1BQU0sRUFBRSxJQUFJO01BQ1osZ0JBQWdCLEVsQjdPZixPQUFPO01DNkVkLGtCQUFrQixFaUJpS1EsZ0JBQWdCLENBQUMsS0FBSztNakJoS2hELGVBQWUsRWlCZ0tXLGdCQUFnQixDQUFDLEtBQUs7TWpCL0poRCxjQUFjLEVpQitKWSxnQkFBZ0IsQ0FBQyxLQUFLO01qQjlKaEQsYUFBYSxFaUI4SmEsZ0JBQWdCLENBQUMsS0FBSztNakI3SmhELFVBQVUsRWlCNkpnQixnQkFBZ0IsQ0FBQyxLQUFLLEdBQzNDO0lBM1NQLEFBOFNRLElBOVNKLENBcVJGLGFBQWEsQ0FDWCxPQUFPLEFBdUJKLE1BQU0sQ0FDTCxLQUFLO0lBOVNiLElBQUksQ0FxUkYsYUFBYSxDQUNYLE9BQU8sQUF1QkosTUFBTSxDQUVMLEtBQUs7SUEvU2IsSUFBSSxDQXFSRixhQUFhLENBRVgsY0FBYyxBQXNCWCxNQUFNLENBQ0wsS0FBSztJQTlTYixJQUFJLENBcVJGLGFBQWEsQ0FFWCxjQUFjLEFBc0JYLE1BQU0sQ0FFTCxLQUFLLENBQUM7TUFDSixLQUFLLEVsQm5RQSxPQUFPLEdrQm9RYjtJQWpUVCxBQXdUTSxJQXhURixDQXFSRixhQUFhLENBQ1gsT0FBTyxDQWtDTCxLQUFLO0lBeFRYLElBQUksQ0FxUkYsYUFBYSxDQUNYLE9BQU8sQ0FtQ0wsS0FBSztJQXpUWCxJQUFJLENBcVJGLGFBQWEsQ0FFWCxjQUFjLENBaUNaLEtBQUs7SUF4VFgsSUFBSSxDQXFSRixhQUFhLENBRVgsY0FBYyxDQWtDWixLQUFLLENBQUM7TUFDSixnQkFBZ0IsRUFBRSxXQUFXO01BQzdCLFVBQVUsRUFBRSxJQUFJO01BRWhCLE9BQU8sRUFBRSxjQUFjO01BQ3ZCLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLFlBQVk7TWpCcE8zQixXQUFXLEVBQUMsSUFBQztNQUNiLFdBQVcsRUFBQyxTQUFDO01BTmIsU0FBUyxFQUFDLElBQUM7TUFDWCxTQUFTLEVBQUMsUUFBQztNQWtEWCxrQkFBa0IsRWlCeUxRLEtBQUssQ0FBQyxLQUFLO01qQnhMckMsZUFBZSxFaUJ3TFcsS0FBSyxDQUFDLEtBQUs7TWpCdkxyQyxjQUFjLEVpQnVMWSxLQUFLLENBQUMsS0FBSztNakJ0THJDLGFBQWEsRWlCc0xhLEtBQUssQ0FBQyxLQUFLO01qQnJMckMsVUFBVSxFaUJxTGdCLEtBQUssQ0FBQyxLQUFLO01BQy9CLE1BQU0sRUFBRSxPQUFPLEdBS2hCO01BeFVQLEFBcVVRLElBclVKLENBcVJGLGFBQWEsQ0FDWCxPQUFPLENBa0NMLEtBQUssQ0FhRixBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7TUFyVVYsSUFBSSxDQXFSRixhQUFhLENBQ1gsT0FBTyxDQW1DTCxLQUFLLENBWUYsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO01BclVWLElBQUksQ0FxUkYsYUFBYSxDQUVYLGNBQWMsQ0FpQ1osS0FBSyxDQWFGLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtNQXJVVixJQUFJLENBcVJGLGFBQWEsQ0FFWCxjQUFjLENBa0NaLEtBQUssQ0FZRixBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtRQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUF2VVQsQUE0VU0sSUE1VUYsQ0FxUkYsYUFBYSxDQXNEWCxPQUFPLENBQ0wsS0FBSyxDQUFDO0lBQ0osS0FBSyxFbEJqU0csT0FBTztJa0JrU2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsQm5TVCxPQUFPLEdrQm9TaEI7RUFoVlAsQUFvVk0sSUFwVkYsQ0FxUkYsYUFBYSxDQThEWCxjQUFjLEFBQ1gsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVsQjFSYixPQUFPLENrQjBSa0IsVUFBVSxHQUN2Qzs7QUFLUCxBQUlFLE1BSkksQ0FJSix1QkFBdUI7QUFIekIsd0JBQXdCLENBR3RCLHVCQUF1QixDQUFDO0VBQ3RCLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFSSCxBQVVFLE1BVkksQ0FVSixJQUFJO0FBVE4sd0JBQXdCLENBU3RCLElBQUksQ0FBQztFekI3VUwsS0FBSyxFSG1DRyxJQUFZO0VHbENwQixZQUFZLEVBQUUsSUFBNkIsR3lCbVYxQztFQWpCSCxBekJoVUUsTXlCZ1VJLENBVUosSUFBSSxBekIxVUgsV0FBVztFeUJpVWQsd0JBQXdCLENBU3RCLElBQUksQXpCMVVILFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRTEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJaUJtVS9DLEFBVUUsTUFWSSxDQVVKLElBQUk7SUFUTix3QkFBd0IsQ0FTdEIsSUFBSSxDQUFDO016QjdVTCxLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNRDJHM0MsV0FBVyxFRnpFSCxTQUFZLEc0QmlUbkI7TUFqQkgsQXpCaFVFLE15QmdVSSxDQVVKLElBQUksQXpCMVVILFdBQVc7TXlCaVVkLHdCQUF3QixDQVN0QixJQUFJLEF6QjFVSCxXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QXlCbVZBLEFBQUQseUJBQVksQ0FBQztFQUNYLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLGFBQWEsRUFBRSxFQUFFLEdBK0VsQjtFQWpGQSxBQUlDLHlCQUpVLENBSVYsbUJBQW1CLENBQUM7SUFDbEIsS0FBSyxFbEIxVUcsT0FBTztJa0IyVWYsUUFBUSxFQUFFLFFBQVEsR0EwRW5CO0lqQmhiQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01pQmdXM0MsQUFJQyx5QkFKVSxDQUlWLG1CQUFtQixDQUFDO1FBS2hCLEtBQUssRUFBRSxHQUFHLEdBdUViO0lqQnhhQyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO01pQndWNUMsQUFJQyx5QkFKVSxDQUlWLG1CQUFtQixDQUFDO1FBU2hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsU0FBUyxFQUFFLEtBQUssR0FrRW5CO0lBaEZGLEFBa0JLLHlCQWxCTSxDQUlWLG1CQUFtQixDQWFqQixVQUFVLEFBQ1AsS0FBSyxDQUFDO01BQ0wsTUFBTSxFQUFFLENBQUMsR0FDVjtJQXBCTixBQXNCSyx5QkF0Qk0sQ0FJVixtQkFBbUIsQ0FhakIsVUFBVSxDQUtSLEtBQUssQ0FBQztNQUNKLEtBQUssRWxCNVZELE9BQU8sR2tCc1daO01qQmhXTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UWlCK1R6QixBQXNCSyx5QkF0Qk0sQ0FJVixtQkFBbUIsQ0FhakIsVUFBVSxDQUtSLEtBQUssQ0FBQztVQUlGLFVBQVUsRUFBRSxJQUFJO1VBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBTXBCO01BakNOLEFBOEJPLHlCQTlCSSxDQUlWLG1CQUFtQixDQWFqQixVQUFVLENBS1IsS0FBSyxBQVFGLGFBQWEsQ0FBQztRQUNiLEtBQUssRWxCcFdILE9BQU8sR2tCcVdWO0lBaENSLEFBb0NHLHlCQXBDUSxDQUlWLG1CQUFtQixDQWdDakIsYUFBYSxDQUFDO01BQ1osUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLENBQUM7TUFDUixHQUFHLEVBQUUsQ0FBQztNQUNOLE9BQU8sRUFBRSxDQUFDLEdBdUNYO01BL0VKLEFBMENLLHlCQTFDTSxDQUlWLG1CQUFtQixDQWdDakIsYUFBYSxDQU1YLE9BQU8sQ0FBQztRQUNOLFlBQVksRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLE9BQU8sR0E4QmxCO1FqQjlhSCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO1VpQmdXM0MsQUEwQ0sseUJBMUNNLENBSVYsbUJBQW1CLENBZ0NqQixhQUFhLENBTVgsT0FBTyxDQUFDO1lBU0osTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsSUFBSSxHQTBCZDtRQTlFTixBQXdEUyx5QkF4REUsQ0FJVixtQkFBbUIsQ0FnQ2pCLGFBQWEsQ0FNWCxPQUFPLEFBYUosTUFBTSxBQUNKLE9BQU8sQ0FBQztVQUNQLFNBQVMsRUFBRSxlQUFlLEdBQzNCO1FBMURWLEFBNkRPLHlCQTdESSxDQUlWLG1CQUFtQixDQWdDakIsYUFBYSxDQU1YLE9BQU8sQ0FtQkwsS0FBSyxDQUFDO1VBQ0osVUFBVSxFQUFFLENBQUM7VUFDYixPQUFPLEVBQUUsQ0FBQztVQUNWLE1BQU0sRUFBRSxJQUFJO1VBQ1osTUFBTSxFQUFFLElBQUk7VUFDWixLQUFLLEVBQUUsSUFBSSxHQUNaO1FBbkVSLEFBcUVPLHlCQXJFSSxDQUlWLG1CQUFtQixDQWdDakIsYUFBYSxDQU1YLE9BQU8sQUEyQkosT0FBTyxDQUFDO1VBS1AsV0FBVyxFQUFFLElBQUk7VUFDakIsT0FBTyxFQUFFLEVBQUU7VWpCbFRyQixrQkFBa0IsRWlCbVRZLElBQUksQ0FBQyxRQUFRO1VqQmxUM0MsZUFBZSxFaUJrVGUsSUFBSSxDQUFDLFFBQVE7VWpCalQzQyxjQUFjLEVpQmlUZ0IsSUFBSSxDQUFDLFFBQVE7VWpCaFQzQyxhQUFhLEVpQmdUaUIsSUFBSSxDQUFDLFFBQVE7VWpCL1MzQyxVQUFVLEVpQitTb0IsSUFBSSxDQUFDLFFBQVEsR0FDbEM7VWpCN2FMLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7WWlCZ1czQyxBQXFFTyx5QkFyRUksQ0FJVixtQkFBbUIsQ0FnQ2pCLGFBQWEsQ0FNWCxPQUFPLEFBMkJKLE9BQU8sQ0FBQztjQUVMLFdBQVcsRUFBRSxJQUFJLEdBTXBCOztBQU1SLEFBQUQsb0JBQU8sQ0FBQztFQUNOLGFBQWEsRUFBRSxNQUFNLEdBVXRCO0VqQjliRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpQm1iM0MsQUFBRCxvQkFBTyxDQUFDO01BSUosS0FBSyxFQUFFLEdBQUcsR0FPYjtFakJ0YkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJaUIyYTVDLEFBQUQsb0JBQU8sQ0FBQztNQVFKLEtBQUssRUFBRSxHQUFHO01BQ1YsU0FBUyxFQUFFLEtBQUssR0FFbkI7O0FDN2NBLEFBQUQscUJBQVUsQ0FBQztFQUNULGFBQWEsRUFBRSxJQUFJLEdBU3BCO0VsQktHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtCZjNDLEFBQUQscUJBQVUsQ0FBQztNQUlQLGFBQWEsRUFBRSxJQUFJLEdBTXRCO0VsQmFHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWtCdkI1QyxBQUFELHFCQUFVLENBQUM7TUFRUCxhQUFhLEVBQUUsS0FBSyxHQUV2Qjs7QUFFQSxBQUFELG1CQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSSxHQVdwQjtFbEJWRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrQkgzQyxBQUFELG1CQUFRLENBQUM7TUFLTCxVQUFVLEVBQUUsS0FBSztNQUNqQixhQUFhLEVBQUUsSUFBSSxHQU90QjtFbEJGRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lrQlg1QyxBQUFELG1CQUFRLENBQUM7TUFVTCxVQUFVLEVBQUUsS0FBSztNQUNqQixhQUFhLEVBQUUsS0FBSyxHQUV2Qjs7QUFNQSxBQUFELHFCQUFTLEVBQ1Isc0JBQVMsQ0FBQztFQUNULFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUVBLEFBQUQsc0JBQVUsQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLFdBQVcsR0FDcEI7O0FBRUEsQUFBRCxzQkFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEtBQUs7RUFDZCxXQUFXLEVuQmRELFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVU7RW1CZW5ELGFBQWEsRUFBRSxJQUFJO0VsQnNDckIsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsUUFBQyxHa0JyQ1Y7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVuQjVCQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEdtQnNDdEQ7RUFsQkQsQUFVRSxnQkFWYyxBQVViLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPLEdBQ2hCO0VBWkgsQUFjRSxnQkFkYyxDQWNkLEtBQUs7RUFkUCxnQkFBZ0IsQ0FlZCxHQUFHLENBQUM7SUFDRixjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFHSCxZQUFZO0FBRVosQUFBQSxPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsS0FBSztFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsZ0JBQWdCLEVuQnJCVCxzQkFBTztFbUJzQmQsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFFYixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxtQkFBbUI7RUFDL0IsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLElBQUksR0FpR2Q7RUEvRkMsQUFBQSxlQUFlLENBZmpCLE9BQU8sQ0FlYTtJQUVoQixPQUFPLEVBQUUsQ0FBQztJQUNWLGdCQUFnQixFQUFFLEVBQUUsR0FDckI7RUFuQkgsQUFxQkUsT0FyQkssQ0FxQkwsQ0FBQyxDQUFDO0lBQ0EsUUFBUSxFQUFFLE9BQU8sR0FDbEI7RUF2QkgsQUF5QkUsT0F6QkssQ0F5QkwsY0FBYyxDQUFDO0lBQ2IsUUFBUSxFQUFFLE1BQU0sR0FDakI7RUEzQkgsQUE2QkUsT0E3QkssQ0E2QkwsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLEtBQUssR0FDZDtFQWhDSCxBQWtDRSxPQWxDSyxDQWtDTCxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRUFBRSx1Q0FBdUM7SUFDbEQsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUc7SUFDVCxVQUFVLEVBQUUsS0FBSztJQUNqQixLQUFLLEVBQUUsSUFBSSxHQVVaO0lBUkMsQUFBQSxpQkFBaUIsQ0E3Q3JCLE9BQU8sQ0FrQ0wsYUFBYSxDQVdTO01BQ2xCLE9BQU8sRUFBRSxDQUFDO01BQ1YsU0FBUyxFQUFFLDBCQUEwQixHQUN0QztFQU9GLEFBQUQsY0FBUSxDQUFDO0lBQ1AsUUFBUSxFQUFFLEtBQUs7SUFDZixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxjQUFjO0lBQ3JCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixnQkFBZ0IsRUFBRSxXQUFXO0lBQzdCLE9BQU8sRUFBRSxJQUFJLEdBMENkO0lsQm5LRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rQmtIM0MsQUFBRCxjQUFRLENBQUM7UUFVTCxHQUFHLEVBQUUsSUFBSSxHQXVDWjtJQWpEQSxBQWtCQyxjQWxCTSxBQWtCTCxNQUFNLENBQUM7TUFDTixNQUFNLEVBQUUsT0FBTyxHQUNoQjtJQXBCRixBQXNCQyxjQXRCTSxDQXNCTixJQUFJLENBQUM7TUFDSCxPQUFPLEVBQUUsWUFBWTtNQUNyQixXQUFXLEVBQUUsT0FBTztNQUNwQixRQUFRLEVBQUUsUUFBUSxHQXVCbkI7TUFoREYsQUEyQkcsY0EzQkksQ0FzQk4sSUFBSSxBQUtELE9BQU8sRUEzQlgsY0FBTyxDQXNCTixJQUFJLEFBTUQsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLEdBQUc7UUFDWCxRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsR0FBRztRQUNSLElBQUksRUFBRSxHQUFHO1FBQ1QsVUFBVSxFQUFFLElBQUk7UUFDaEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsVUFBVSxFbkI1SEYsT0FBTyxHbUI2SGhCO01BdkNKLEFBeUNHLGNBekNJLENBc0JOLElBQUksQUFtQkQsT0FBTyxDQUFDO1FBQ1AsU0FBUyxFQUFFLGFBQWEsR0FDekI7TUEzQ0osQUE2Q0csY0E3Q0ksQ0FzQk4sSUFBSSxBQXVCRCxNQUFNLENBQUM7UUFDTixTQUFTLEVBQUUsY0FBYyxHQUMxQjtFQXRHUCxBQTBHRSxPQTFHSyxDQTBHTCxLQUFLO0VBMUdQLE9BQU8sQ0EyR0wsR0FBRyxDQUFDO0lBQ0YsbUJBQW1CLEVBQUUsTUFBTSxHQUM1Qjs7QUN2TEEsQUFBRCxhQUFNLENBQUM7RUFDTCxhQUFhLEVBQUUsS0FBSyxHQUtyQjtFbkJTRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltQmYzQyxBQUFELGFBQU0sQ0FBQztNQUlILGFBQWEsRUFBRSxHQUFHLEdBRXJCOztBQUVBLEFBQUQsY0FBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFjWCxjQUFjLEVBQUUsSUFBSSxHQUNyQjtFbkJURyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltQlAzQyxBQUFELGNBQU8sQ0FBQztNM0JlUixLQUFLLEVIbUNHLE1BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNMkJYdkMsWUFBWSxFQUFFLENBQUM7TUFDZixhQUFhLEVBQUUsSUFBSSxHQVV0QjtNQWhCQSxBM0JrQkQsYzJCbEJPLEEzQmtCTixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjtFUUxHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SW1CZjVDLEFBQUQsY0FBTyxDQUFDO00zQmVSLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCO00yQkx2QyxZQUFZLEVBQUUsQ0FBQztNQUNmLGFBQWEsRUFBRSxJQUFJLEdBSXRCO01BaEJBLEEzQmtCRCxjMkJsQk8sQTNCa0JOLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBMkJGQSxBQUFELGNBQU8sQ0FBQztFQUNOLEtBQUssRXBCZUssT0FBTyxHb0JkbEI7O0FBRUEsQUFBRCxnQkFBUyxDQUFDO0VBQ1IsYUFBYSxFQUFFLElBQUksR0FLcEI7RW5CckJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1CZTNDLEFBQUQsZ0JBQVMsQ0FBQztNM0JQVixLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHMkJZMUM7TUFOQSxBM0JKRCxnQjJCSVMsQTNCSlIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0EyQlVBLEFBQUQsbUJBQVksQ0FBQztFM0JmYixLQUFLLEVIbUNHLElBQVk7RUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHMkJ5QjFDO0VBWEEsQTNCWkQsbUIyQllZLEEzQlpYLFdBQVcsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRYkcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUJ1QjNDLEFBQUQsbUJBQVksQ0FBQztNNUI2RmIsV0FBVyxFRnpFSCxRQUFZO01HbkNwQixLQUFLLEVIbUNHLE9BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHMkJ5QjFDO01BWEEsQTNCWkQsbUIyQllZLEEzQlpYLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRREcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJbUJXNUMsQUFBRCxtQkFBWSxDQUFDO00zQmZiLEtBQUssRUhtQ0csU0FBWTtNR2xDcEIsWUFBWSxFQUFFLElBQTZCLEcyQnlCMUM7TUFYQSxBM0JaRCxtQjJCWVksQTNCWlgsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0EyQnVCQSxBQUNDLHFCQURZLENBQ1osWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQUFFLFdBQVcsR0F5Q3BCO0VBM0NGLEFBSUcscUJBSlUsQ0FDWixZQUFZLEFBR1QsV0FBVyxDQUFDO0lBQ1gsTUFBTSxFQUFFLFlBQVksR0FLckI7SW5COUNELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TW1Cb0MzQyxBQUlHLHFCQUpVLENBQ1osWUFBWSxBQUdULFdBQVcsQ0FBQztRQUlULE1BQU0sRUFBRSxVQUFVLEdBRXJCO0VBVkosQUFZRyxxQkFaVSxDQUNaLFlBQVksQUFXVCxjQUFjLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQyxHQUNkO0VBZEosQUFnQkcscUJBaEJVLENBQ1osWUFBWSxHQWVSLGlCQUFpQixDQUFDO0lBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0luQjFERCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tQm9DM0MsQUFnQkcscUJBaEJVLENBQ1osWUFBWSxHQWVSLGlCQUFpQixDQUFDO1FBSWhCLFVBQVUsRUFBRSxFQUFFLEdBRWpCO0VBdEJKLEFBd0JHLHFCQXhCVSxDQUNaLFlBQVksQUF1QlQsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO0lBQy9CLE1BQU0sRUFBRSxTQUFTLEdBS2xCO0luQmxFRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tQm9DM0MsQUF3QkcscUJBeEJVLENBQ1osWUFBWSxBQXVCVCxpQkFBaUIsR0FBRyxXQUFXLENBQUM7UUFJN0IsTUFBTSxFQUFFLE9BQU8sR0FFbEI7RUE5QkosQUFnQ0cscUJBaENVLENBQ1osWUFBWSxBQStCVCxXQUFXLENBQUM7SUFDWCxhQUFhLEVBQUUsSUFBSSxHQVNwQjtJbkI5RUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUJvQzNDLEFBZ0NHLHFCQWhDVSxDQUNaLFlBQVksQUErQlQsV0FBVyxDQUFDO1FBSVQsYUFBYSxFQUFFLEVBQUUsR0FNcEI7SUExQ0osQUF1Q0sscUJBdkNRLENBQ1osWUFBWSxBQStCVCxXQUFXLEFBT1QsaUJBQWlCLENBQUM7TUFDakIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBS04sQUFBRCxlQUFRLENBQUM7RUFXUCxNQUFNLEVBQUUsU0FBUyxHQWNsQjtFQXpCQSxBQUNDLGVBRE0sQUFDTCxpQkFBaUIsQ0FBQztJQUNqQixPQUFPLEVBQUUsT0FBTztJQUNoQixNQUFNLEVBQUUsUUFBUSxHQU1qQjtJbkIzRkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNbUJrRjNDLEFBQ0MsZUFETSxBQUNMLGlCQUFpQixDQUFDO1FBS2YsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsS0FBSyxHQUVqQjtFbkIzRkMsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUJrRjNDLEFBQUQsZUFBUSxDQUFDO01BY0wsTUFBTSxFQUFFLE9BQU8sR0FXbEI7RUFSRSxBQUFELHNCQUFRLENBQUM7STNCM0ZYLEtBQUssRUhtQ0csSUFBWTtJR2xDcEIsWUFBWSxFQUFFLElBQTZCLEcyQmlHeEM7SUFQQSxBM0J4Rkgsc0IyQndGVSxBM0J4RlQsV0FBVyxDQUFDO01BQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7SVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01tQm1HekMsQUFBRCxzQkFBUSxDQUFDO1E1QmlCWCxXQUFXLEVGekVILFFBQVk7UUduQ3BCLEtBQUssRUhtQ0csU0FBWTtRR2xDcEIsWUFBWSxFQUFFLElBQTZCLEcyQmlHeEM7UUFQQSxBM0J4Rkgsc0IyQndGVSxBM0J4RlQsV0FBVyxDQUFDO1VBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0EyQmdHQSxBQUNDLGdCQURPLENBQ1AsYUFBYSxDQUFDO0VBQ1osYUFBYSxFQUFFLElBQUksR0FLcEI7RW5CcEhDLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1CNkczQyxBQUNDLGdCQURPLENBQ1AsYUFBYSxDQUFDO00zQnRHaEIsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkIsRzJCMkd4QztNQVBGLEEzQmxHRCxnQjJCa0dTLENBQ1AsYUFBYSxBM0JuR2QsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7O0EyQmdHQSxBQVVHLGdCQVZLLENBVUosVUFBSyxDQUFDO0VBQ0wsV0FBVyxFQUFFLGVBQWU7RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsSUFBSSxHQThCcEI7RUE1Q0osQUFnQkssZ0JBaEJHLENBVUosVUFBSyxDQU1KLFNBQVMsRUFoQmQsZ0JBQVEsQ0FVSixVQUFLLENGb05aLE1BQU07RUU5TkgsZ0JBQVEsQ0FVSixVQUFLLENGcU5aLHdCQUF3QixDRS9NTjtJQUNSLGVBQWUsRUFBRSxhQUFhLEdBQy9CO0VBbEJOLEFBb0JLLGdCQXBCRyxDQVVKLFVBQUssQ0FVSixVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxLQUFLLEdBcUJqQjtJbkJtSHdCLFNBQUMsRUFBckIsYUFBYSxFQUFFLElBQUk7TW1COUo3QixBQW9CSyxnQkFwQkcsQ0FVSixVQUFLLENBVUosVUFBVSxDQUFDO1FBS1AsT0FBTyxFQUFFLE9BQU8sR0FrQm5CO0luQnlIcUUsU0FBQyxFQUFsRSxlQUFlLEVBQUUsUUFBUSxFQUF3QyxHQUFDLEVBQWxDLGVBQWUsRUFBRSxlQUFlO01tQnBLMUUsQUFvQkssZ0JBcEJHLENBVUosVUFBSyxDQVVKLFVBQVUsQ0FBQztRQVNQLE9BQU8sRUFBRSxPQUFPLEdBY25COztBbkJuSEwsTUFBTSxNQUFDLE1BQW1CLE1BckNBLFNBQVMsRUFBRSxLQUFLLE9BcUNsQyxTQUFTLEVBQUUsTUFBTTtFbUJ3RTFCLEFBb0JLLGdCQXBCRyxDQVVKLFVBQUssQ0FVSixVQUFVLENBQUM7STNCekhqQixLQUFLLEVIbUNHLFNBQVk7SUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHMkIrSXBDO0lBM0NOLEEzQmxHRCxnQjJCa0dTLENBVUosVUFBSyxDQVVKLFVBQVUsQTNCdEhmLFdBQVcsQ0FBQztNQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0kyQmdHQSxBM0IzQ0QsZ0IyQjJDUyxDQVVKLFVBQUssQ0FVSixVQUFVLEEzQi9EZixVQUFXLENBQUEsRUFBRSxFQUFPO01BQ25CLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0lRbkNDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNbUI0RXpCLEFBb0JLLGdCQXBCRyxDQVVKLFVBQUssQ0FVSixVQUFVLENBQUM7UTNCekhqQixLQUFLLEVIbUNHLE1BQVk7UUdsQ3BCLFlBQVksRUFBRSxJQUE2QixHMkIrSXBDO1FBM0NOLEEzQmxHRCxnQjJCa0dTLENBVUosVUFBSyxDQVVKLFVBQVUsQTNCdEhmLFdBQVcsQ0FBQztVQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO1EyQmdHQSxBM0IzQ0QsZ0IyQjJDUyxDQVVKLFVBQUssQ0FVSixVQUFVLEEzQi9EZixVQUFXLENBQUEsRUFBRSxFQUFPO1VBQ25CLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBMkJ5Q0EsQUE4Q0csZ0JBOUNLLENBOENKLFVBQUssQ0FBQztFbkJyRlgsU0FBUyxFQUFDLElBQUM7RUFDWCxTQUFTLEVBQUMsT0FBQztFQUlYLFdBQVcsRUFBQyxJQUFDO0VBQ2IsV0FBVyxFQUFDLFFBQUM7RW1Ca0ZQLEtBQUssRUFBRSxPQUFPLEdBQ2Y7O0FBbERKLEFBb0RHLGdCQXBESyxDQW9ESixVQUFLLENBQUM7RUFDTCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFJSixBQUNDLFlBREcsQ0FDSCxTQUFTLEVBRFYsWUFBSSxDRm9LUCxNQUFNO0FFcEtILFlBQUksQ0ZxS1Asd0JBQXdCLENFcEtWO0VBQ1IsZUFBZSxFQUFFLGFBQWEsR0FDL0I7O0FBRUEsQUFBRCxrQkFBTyxDQUFDO0VBQ04sYUFBYSxFQUFFLElBQUk7RUFDbkIsWUFBWSxFQUFFLENBQUM7RUFDZixhQUFhLEVBQUUsSUFBSTtFM0J2S3ZCLEtBQUssRUhtQ0csSUFBWTtFR2xDcEIsWUFBWSxFQUFFLElBQTZCLEcyQmtMeEM7RUFmQSxBM0JqS0gsa0IyQmlLUyxBM0JqS1IsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltQjRLekMsQUFBRCxrQkFBTyxDQUFDO00zQnBLVixLQUFLLEVIbUNHLE1BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNMkIyS3JDLFlBQVksRUFBRSxDQUFDLEdBT2xCO01BZkEsQTNCaktILGtCMkJpS1MsQTNCaktSLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCO0VRREcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJbUJnSzFDLEFBQUQsa0JBQU8sQ0FBQztNM0JwS1YsS0FBSyxFSG1DRyxTQUFZO01HbENwQixZQUFZLEVBQUUsSUFBNkI7TTJCZ0xyQyxZQUFZLEVBQUUsQ0FBQyxHQUVsQjtNQWZBLEEzQmpLSCxrQjJCaUtTLEEzQmpLUixXQUFXLENBQUM7UUFDWCxZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QTJCZ0xFLEFBQUQsc0JBQVcsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJO0VBQ25CLEtBQUssRXBCcEtHLE9BQU8sR29CcUtoQjs7QUFFQSxBQUFELG9CQUFTLENBQUM7RW5CNUhaLFNBQVMsRUFBQyxJQUFDO0VBQ1gsU0FBUyxFQUFDLElBQUM7RW1CNkhQLEtBQUssRXBCeEtLLE9BQU87RW9CeUtqQixXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFHRixBQUNDLGFBREksQ0FDSixrQkFBa0IsQ0FBQztFQUNqQixXQUFXLEVBQUUsYUFBYSxHQUMzQjs7QUFFQSxBQUFELG1CQUFPLENBQUM7RTNCdE1WLEtBQUssRUhtQ0csSUFBWTtFR2xDcEIsWUFBWSxFQUFFLElBQTZCLEcyQmtOeEM7RUFiQSxBM0JuTUgsbUIyQm1NUyxBM0JuTVIsV0FBVyxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFiRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltQjhNekMsQUFBRCxtQkFBTyxDQUFDO00zQnRNVixLQUFLLEVIbUNHLE1BQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNMkIwTXJDLFlBQVksRUFBRSxDQUFDO01BQ2YsYUFBYSxFQUFFLElBQUksR0FPdEI7TUFiQSxBM0JuTUgsbUIyQm1NUyxBM0JuTVIsV0FBVyxDQUFDO1FBQ1gsWUFBWSxFQUFFLENBQUMsR0FDaEI7RVFMRyxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0ltQnNNMUMsQUFBRCxtQkFBTyxDQUFDO00zQnRNVixLQUFLLEVIbUNHLFNBQVk7TUdsQ3BCLFlBQVksRUFBRSxJQUE2QjtNMkJnTnJDLFlBQVksRUFBRSxDQUFDLEdBRWxCO01BYkEsQTNCbk1ILG1CMkJtTVMsQTNCbk1SLFdBQVcsQ0FBQztRQUNYLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBUWJHLE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1COE4zQyxBQUFELGlCQUFVLENBQUM7STVCMUdYLFdBQVcsRUZ6RUgsUUFBWSxHOEIyTG5COztBQVJBLEFBS0MsaUJBTFEsQ0FLUixDQUFDLENBQUM7RUFDQSxhQUFhLEVBQUUsTUFBTSxHQUN0Qjs7QUFTRixBQUFELGtCQUFVLENBQUM7RUFDVCxhQUFhLEVBQUUsTUFBTSxHQUN0Qjs7QUFFQSxBQUFELG1CQUFXLENBQUM7RUFDVixXQUFXLEVBQUUsS0FBSztFQUNsQixjQUFjLEVBQUUsS0FBSyxHQVN0QjtFbkI3UEcsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbUJrUDNDLEFBQUQsbUJBQVcsQ0FBQztNQUtSLFdBQVcsRUFBRSxLQUFLLEdBTXJCO0VBWEEsQUFRQyxtQkFSUyxDQVFULGNBQWMsQ0FBQztJQUNiLEtBQUssRXBCL05LLE9BQU8sR29CZ09sQjs7QUFJTCxBQUFBLGFBQWEsQ0FBQztFQUNaLFdBQVcsRUFBRSxLQUFLO0U1QjdJbEIsV0FBVyxFRnpFSCxRQUFZLEc4QjhQckI7RUFyQ0UsQUFBRCxxQkFBUyxDQUFDO0luQjlMVixTQUFTLEVBQUMsSUFBQztJQUNYLFNBQVMsRUFBQyxTQUFDO0ltQitMVCxjQUFjLEVBQUUsU0FBUztJQUN6QixjQUFjLEVBQUUsR0FBRztJQUNuQixXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVwQjlPSyxPQUFPO0lvQitPakIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FXcEI7SUFwQkEsQUFXQyxxQkFYTyxBQVdOLE9BQU8sQ0FBQztNQUNQLE1BQU0sRUFBRSxHQUFHO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxVQUFVLEVwQjNQRixPQUFPLEdvQjRQaEI7RUF2QkwsQUEwQkUsYUExQlcsQ0EwQlgsR0FBRyxFQTFCTCxhQUFhLENqQnhHYixVQUFVLENBV1IsRUFBRSxFQVhKLFVBQVUsQ2lCd0dWLGFBQWEsQ2pCN0ZYLEVBQUUsQ2lCdUhFO0lBQ0YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsY0FBYyxFQUFFLFVBQVUsR0FVM0I7SUF4Q0gsQUFnQ0ksYUFoQ1MsQ0EwQlgsR0FBRyxBQU1BLE1BQU0sRUFoQ1gsYUFBYSxDakJ4R2IsVUFBVSxDQVdSLEVBQUUsQWlCNkhDLE1BQU0sRWpCeElYLFVBQVUsQ2lCd0dWLGFBQWEsQ2pCN0ZYLEVBQUUsQWlCNkhDLE1BQU0sQ0FBQztNQUNOLE1BQU0sRUFBRSxHQUFHO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE1BQU0sRUFBRSxDQUFDO01BQ1QsSUFBSSxFQUFFLENBQUMsR0FDUjs7QUFJTCxBQUVFLE9BRkssQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLGFBQWEsQ0FFdEMsR0FBRztBQUZMLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLGFBQWEsQ0FHdEMsR0FBRztBQUhMLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLGFBQWEsQ0FJdEMsQ0FBQztBQUhILE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLFVBQVUsQ0FDbkMsR0FBRztBQURMLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLFVBQVUsQ0FFbkMsR0FBRztBQUZMLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLFVBQVUsQ0FHbkMsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFcEJyUkssT0FBTztFb0JzUmpCLGNBQWMsRUFBRSxVQUFVLEdBQzNCOztBQUdILEFBQUEsT0FBTyxDQUFBLEFBQUEsVUFBQyxDQUFXLE1BQU0sQUFBakIsRUFBbUIsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0VBQzVDLEtBQUssRXBCM1JPLE9BQU8sR29CNFJwQjs7QUFFRCxBQUFBLE9BQU8sQ0FBQSxBQUFBLFVBQUMsQ0FBVyxNQUFNLEFBQWpCLEVBQW1CLFVBQVUsQ0FBQyxDQUFDLENBQUM7RUFDdEMsS0FBSyxFcEJqU0ssT0FBTyxHb0JrU2xCOztBQzNVRCxBQUNFLGNBRFksQ0FDWixhQUFhLEFBQUEsTUFBTSxDQUFDO0VwQnFPcEIsTUFBTSxFQUFFLE9BQU87RUFDZixJQUFJLEVBQUUsSUFBSTtFQUNWLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLFFBQVEsRUFBRSxJQUFJO0VBQ2QsT0FBTyxFQUFFLE9BQU87RUFDaEIsUUFBUSxFQUFFLGlCQUFpQjtFQUMzQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxpQkFBaUI7RW9CNU8xQixRQUFRLEVBQUUsbUJBQW1CO0VBQzdCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLGdCQUFnQixFckJrQ1IsT0FBTztFcUJqQ2YsS0FBSyxFckJvQ08sT0FBTztFcUJuQ25CLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFaSCxBQWNFLGNBZFksQ0FjWixDQUFDLEFBQUEsTUFBTTtBQWRULGNBQWMsQ0FlWixNQUFNLEFBQUEsTUFBTTtBQWZkLGNBQWMsQ0FnQlosU0FBUyxBQUFBLFNBQVMsQUFBQSxNQUFNLENBQUM7RUFDdkIsYUFBYSxFckJ3QkwsT0FBTztFcUJ2QmYsYUFBYSxFQUFFLElBQUk7RUFDbkIsYUFBYSxFQUFFLEdBQUcsR0FDbkIifQ== */
