/* ../bundle.css */
:root {
  --cubic-default: cubic-bezier(0.65, 0, 0, 1);
  --duration-default-double: 1.2s;
  --duration-default-onehalf: 0.9s;
  --duration-default: 0.6s;
  --duration-default-half: 0.3s;
  --animation-default-double: var(--duration-default-double) var(--cubic-default);
  --animation-default-onehalf: var(--duration-default-onehalf) var(--cubic-default);
  --duration-default-quarter: 0.15s;
  --animation-default: var(--duration-default) var(--cubic-default);
  --animation-default-half: var(--duration-default-half) var(--cubic-default);
  --animation-default-quarter: var(--duration-default-quarter) var(--cubic-default);
  --animation-ease: 0.2s ease;
  --animation-ease-double: 0.4s ease;
  --cubic-bounce: linear( 0, 0.5737 7.6%, 0.8382 11.87%, 0.9463 14.19%, 1.0292 16.54%, 1.0886 18.97%, 1.1258 21.53%, 1.137 22.97%, 1.1424 24.48%, 1.1423 26.1%, 1.1366 27.86%, 1.1165 31.01%, 1.0507 38.62%, 1.0219 42.57%, 0.9995 46.99%, 0.9872 51.63%, 0.9842 58.77%, 1.0011 81.26%, 1 );
}
body {
  scrollbar-width: none;
  overscroll-behavior: none;
}
body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;
}
.lenis {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media (hover: hover) {
  .button_primary_wrap [data-button-animate-chars] {
    overflow: hidden;
    position: relative;
    display: inline-block;
  }
  .button_primary_wrap [data-button-animate-chars] span {
    display: inline-block;
    position: relative;
    text-shadow: 0px 1.3em var(--swatch--dark);
    transform: translateY(0em) rotate(0.001deg);
    transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_primary_wrap:hover [data-button-animate-chars] span {
    transform: translateY(-1.3em) rotate(0.001deg);
  }
  .button_primary_bg {
    inset: 0;
    transition-property:
      inset,
      border-color,
      border-width,
      background-color;
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_primary_wrap:hover .button_primary_bg {
    inset: 0.125rem;
    border-color: var(--_theme---button-primary--border);
    border-width: var(--border-width--medium);
    background-color: var(--swatch--brand-300);
  }
}
@media (hover: hover) {
  .button_secondary_wrap [data-button-animate-chars] {
    overflow: hidden;
    position: relative;
    display: inline-block;
  }
  .button_secondary_wrap [data-button-animate-chars] span {
    display: inline-block;
    position: relative;
    text-shadow: 0px 1.3em currentColor;
    transform: translateY(0em) rotate(0.001deg);
    transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_secondary_wrap:hover [data-button-animate-chars] span {
    transform: translateY(-1.3em) rotate(0.001deg);
  }
  .button_secondary_bg {
    inset: 0;
    transition-property:
      inset,
      background-color,
      border-color;
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_secondary_wrap:hover .button_secondary_bg {
    inset: 0.125rem;
    background-color: var(--_theme---button-secondary--background-hover);
    border-color: var(--_theme---button-secondary--border);
  }
}
@media (hover: hover) {
  .button_cta_wrap [data-button-animate-chars] {
    overflow: hidden;
    position: relative;
    display: inline-block;
  }
  .button_cta_wrap [data-button-animate-chars] span {
    display: inline-block;
    position: relative;
    text-shadow: 0px 1.3em currentColor;
    transform: translateY(0em) rotate(0.001deg);
    transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_cta_wrap:hover [data-button-animate-chars] span {
    transform: translateY(-1.3em) rotate(0.001deg);
  }
  .button_cta_bg {
    inset: 0;
    transition-property: inset;
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.625, 0.05, 0, 1);
  }
  .button_cta_wrap:hover .button_cta_bg {
    inset: 0.125rem;
  }
}
:root {
  --nav--menu-open-duration: 400ms;
  --nav--menu-close-duration: 400ms;
  --nav--dropdown-open-duration: 400ms;
  --nav--dropdown-close-duration: 400ms;
}
body:has(.nav_component .w-nav-button.w--open):not(:has(.nav_desktop_wrap:not(.w-condition-invisible))) {
  overflow: hidden;
}
@media (width < 65em) {
  body:has(.nav_component .w-nav-button.w--open) {
    overflow: hidden;
  }
}
@container (min-width: 65em) {
  .nav_desktop_wrap,
  .nav_dropdown_backdrop {
    display: block;
  }
  .nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_mobile_wrap,
  .nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_menu_backdrop {
    display: none;
  }
}
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--nav--dropdown-close-duration);
  visibility: hidden;
  opacity: 0;
}
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list.w--open {
  visibility: visible;
  opacity: 1;
}
.nav_dropdown_component > .w-dropdown-list > * {
  overflow: hidden;
}
.nav_dropdown_component:has(> .w-dropdown-toggle[aria-expanded=true]) > .w-dropdown-list {
  --nav--dropdown-close-duration: var(--nav--dropdown-open-duration);
  grid-template-rows: 1fr;
}
.nav_desktop_wrap:has(.nav_dropdown_component > .w-dropdown-toggle.w--open[aria-expanded=false]) .nav_dropdown_component:has(> .w--open[aria-expanded=true]) > .w-dropdown-list {
  transition-delay: var(--nav--dropdown-close-duration);
}
.nav_dropdown_backdrop {
  transition: opacity var(--nav--dropdown-close-duration);
}
.nav_component:has(.nav_dropdown_component > [aria-expanded=true]) .nav_dropdown_backdrop {
  opacity: 1;
}
.nav_menu_backdrop {
  transition: opacity var(--nav--menu-close-duration);
}
.nav_component:has(.w-nav-button.w--open) .nav_menu_backdrop {
  opacity: 1;
}
.nav_button_line {
  transition: transform var(--nav--menu-open-duration) var(--cubic-default), opacity var(--nav--menu-open-duration) var(--cubic-default);
  transform-origin: center;
}
.w-nav-button.w--open .nav_button_line:nth-child(1) {
  transform: translateY(calc(100% + 0.25rem)) rotate(45deg) scaleX(0.65);
}
.w-nav-button.w--open .nav_button_line:nth-child(3) {
  transform: translateY(calc(-100% - 0.25rem)) rotate(-45deg) scaleX(0.65);
}
.w-nav-button.w--open .nav_button_line:nth-child(2) {
  opacity: 0;
}
@keyframes menuOpen {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes menuClose {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
}
.nav_component:has(.w-nav-button.w--open) .w-nav-menu {
  animation: menuOpen var(--nav--menu-open-duration) ease-in-out forwards;
}
.nav_component:has(.w-nav-button:not(.w--open)) .w-nav-menu {
  animation: menuClose var(--nav--menu-close-duration) ease-in-out forwards;
}
.nav_component .w-nav-overlay {
  top: 0;
  min-height: 100vh;
}
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-toggle {
  display: none;
}
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-list {
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
  grid-template-rows: 1fr !important;
}
.nav_mobile_contain {
  transition:
    color var(--nav--menu-open-duration) var(--cubic-default),
    background-color var(--nav--menu-open-duration) var(--cubic-default),
    border-color var(--nav--menu-open-duration) var(--cubic-default);
}
.nav_component:has(.w-nav-button.w--open) .nav_mobile_contain {
  color: var(--swatch--dark);
  background-color: transparent;
  border-color: transparent;
}
html:has(.nav_banner_wrap:not(.w-condition-invisible)):not(.hide-nav-banner) {
  --nav--height-total: calc(var(--nav--banner-height) + var(--nav--height) + var(--nav--spacing-outer-vertical));
}
.hide-nav-banner .nav_banner_wrap {
  display: none;
}
.wf-design-mode .nav_mobile_menu_wrap {
  width: 100%;
}
[data-hover-list] > * {
  transition: opacity 0.4s var(--cubic-default);
}
@media (hover: hover) {
  [data-hover-list]:has(> :hover) > :not(:hover) {
    opacity: 0.3;
  }
}
.nav_component {
  transition: transform 1s var(--cubic-default);
  transform: translateY(0%) rotate(0.001deg);
}
[data-scrolling-started=true][data-scrolling-direction=down] .nav_component {
  transform: translateY(-100%) rotate(0.001deg);
}
.nav_contain {
  transition:
    background-color var(--animation-default),
    border-color var(--animation-default),
    color var(--animation-default);
}
[data-theme-nav=light] .nav_contain,
[data-theme-nav=light] .nav_mobile_contain {
  background-color: color-mix(in srgb, var(--swatch--dark) 5%, transparent);
  border-color: color-mix(in srgb, var(--swatch--dark) 10%, transparent);
  color: var(--swatch--dark);
}
[data-transition-overlay] {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  overflow: hidden;
  will-change: contents;
}
[data-transition-overlay] svg {
  display: block;
  width: 100%;
  height: 100%;
}
[data-transition-path="1"] {
  fill: var(--swatch--brand-primary);
}
[data-transition-path="2"] {
  fill: var(--swatch--brand-secondary);
}
[data-path-bubble] svg ellipse {
  transform-origin: center center;
  transform-box: fill-box;
  animation: waveform 0.6s ease-in-out infinite alternate;
}
[data-path-bubble] svg ellipse:nth-child(1) {
  animation-delay: 0s;
}
[data-path-bubble] svg ellipse:nth-child(2) {
  animation-delay: 0.15s;
}
[data-path-bubble] svg ellipse:nth-child(3) {
  animation-delay: 0.05s;
}
[data-path-bubble] svg ellipse:nth-child(4) {
  animation-delay: 0.2s;
}
[data-path-bubble] svg ellipse:nth-child(5) {
  animation-delay: 0.1s;
}
@keyframes waveform {
  0% {
    transform: scaleY(0.4);
  }
  100% {
    transform: scaleY(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-path-bubble] svg ellipse {
    animation: none;
  }
}
@container (width < 70em) {
  .hero_home_layout {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: start !important;
  }
  .hero_home_content {
    margin-top: var(--_spacing---space--6-40px);
  }
}
[data-section-parallax] {
  margin-bottom: calc(-1 * clamp(2.5 * 1rem, ((2.5 - ((6.071 - 2.5) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((6.071 - 2.5) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), 6.071 * 1rem));
  padding-bottom: clamp(2.5 * 1rem, ((2.5 - ((6.071 - 2.5) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((6.071 - 2.5) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), 6.071 * 1rem);
}
[data-css-marquee-sync-list] {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-150%);
}
.wf-design-mode [data-css-marquee-sync-list] {
  opacity: 1;
  visibility: visible;
  transform: translateX(0%);
}
@keyframes translateX {
  to {
    transform: translateX(-100%);
  }
}
[data-css-marquee-list] {
  animation: translateX 30s linear;
  animation-iteration-count: infinite;
  animation-play-state: paused;
}
.tab_content:has(.tab_content_item.active) .tab_content_item:not(.active) {
  opacity: 0.5;
}
.tab_content_item.active .content_item_icon {
  color: var(--swatch--brand-primary);
}
.tab_content_item.active .tab_content_item_bg {
  backdrop-filter: blur(20px);
}
.tab_content_item.active {
  border-color: var(--swatch--light-border);
}
.tab_content_item.active .content_item_icon_img-hover {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  .tab_content_item:not(.active):hover .tab_content_item_bg {
    background-color: color-mix(in srgb, var(--swatch--dark) 10%, transparent);
  }
  .tab_content_item:not(.active):hover .content_item_icon {
    transform: scale(1.1);
  }
}
[data-modal-group-status] {
  transition: all 0.2s linear;
}
[data-modal-group-status=active] {
  opacity: 1;
  visibility: visible;
}
[data-modal-name][data-modal-status=active] {
  display: flex;
}
.modal_btn_close {
  transition: background-color 300ms ease;
}
.modal_btn_close:hover {
  background-color: color-mix(in srgb, var(--swatch--dark) 10%, transparent);
}
.modal_btn_close:hover .modal_btn_close_svg {
  transform: scale(0.9);
}
.modal_btn_close_svg {
  transition: transform 300ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .footer_link {
    transition:
      padding var(--animation-default),
      background-color var(--animation-default),
      color var(--animation-default);
  }
  .footer_link:hover {
    padding: var(--_spacing---space--2-12px);
    background-color: var(--_theme---background-2);
    color: var(--swatch--brand-primary);
  }
  .footer_product_item {
    transition: background-color var(--animation-default-half), color var(--animation-default-half);
  }
  .footer_product_item:hover {
    background-color: var(--swatch--light);
    color: var(--swatch--dark);
  }
}
@media (hover: hover) {
  .footer_bottom_link_list:has(> :hover) > :not(:hover) {
    opacity: 0.5;
  }
}
@container (width < 74em) {
  .footer_product_list.u-grid-autofit {
    --_column-count---value: 2;
  }
}
@container (width < 42em) {
  .footer_product_list.u-grid-autofit {
    --_column-count---value: 1;
  }
}
[data-toc-wrapper] {
  opacity: 0;
}
.wf-design-mode [data-toc-wrapper] {
  opacity: 1;
}
[data-category="Rylo News"] {
  background-color: var(--swatch--brand-primary);
}
@media (hover: hover) and (pointer: fine) {
  .card_blog_visual_wrap {
    transition: padding 0.6s ease;
  }
  .card_blog_wrap img {
    transition: scale 0.6s ease;
  }
  .card_blog_btn {
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .card_blog_wrap:hover .card_blog_visual_wrap {
    padding: 0.25rem;
  }
  .card_blog_wrap:hover img {
    scale: 1.1;
  }
  .card_blog_wrap:hover .card_blog_btn {
    background-color: var(--swatch--brand-primary);
    color: var(--swatch--dark);
  }
}
.is-list-starting {
  opacity: 0;
  transform: translateY(1rem);
}
.blog_item {
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.is-list-active {
  background-color: var(--swatch--white);
  border-color: var(--swatch--transparent);
}
@media (hover: hover) and (pointer: fine) {
  .card_tutorial_visual_wrap {
    transition: padding 0.6s ease;
  }
  .card_tutorial_wrap img {
    transition: scale 0.6s ease;
  }
  .card_tutorial_wrap:hover .card_tutorial_visual_wrap {
    padding: 0.25rem;
  }
  .card_tutorial_wrap:hover img {
    scale: 1.1;
  }
}
.modal_tutorial_dialog::backdrop {
  opacity: 0;
}
.wf-design-mode .modal_tutorial_dialog[data-preview=true] {
  display: block;
}
[disabled] {
  opacity: 0.3;
  pointer-events: none;
}
[data-social-share-type=clipboard] .social-share__icon {
  transition: transform 0.4s cubic-bezier(0.625, 0.05, 0, 1);
  transform: translateY(0%) rotate(0.001deg);
}
[data-social-share-type=clipboard] .social-share__icon.is--success {
  color: #009e3b;
  transform: translateY(200%) rotate(0.001deg);
}
[data-social-share-type=clipboard][data-social-share-success] .social-share__icon {
  transform: translateY(-200%) rotate(0.001deg);
}
[data-social-share-type=clipboard][data-social-share-success] .social-share__icon.is--success {
  transform: translateY(0%) rotate(0.001deg);
}
[data-social-share-type] {
  transition: background-color 0.3s ease;
}
[data-social-share]:has([data-social-share-type]:hover) [data-social-share-type]:hover {
  background-color: var(--swatch--brand-primary);
}
[data-accordion-bottom] {
  transition: grid-template-rows 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
[data-accordion-status=active] [data-accordion-bottom] {
  grid-template-rows: 1fr;
}
[data-accordion-icon] {
  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
[data-accordion-status=active] [data-accordion-icon] {
  transform: rotate(0.001deg);
}
.accordion_item {
  transition: background-color 0.3s ease;
}
[data-accordion-status=active].accordion_item {
  background-color: color-mix(in srgb, var(--swatch--dark-card), white 5%);
}
[data-bunny-player-init] :is(.bunny-player__placeholder, .bunny-player__dark, .bunny-player__playpause, .bunny-player__loading) {
  transition: opacity 0.3s linear, visibility 0.3s linear;
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__placeholder,
[data-bunny-player-init][data-player-status=paused] .bunny-player__placeholder,
[data-bunny-player-init][data-player-activated=true][data-player-status=ready] .bunny-player__placeholder {
  opacity: 0;
  visibility: hidden;
}
[data-bunny-player-init][data-player-status=paused] .bunny-player__dark,
[data-bunny-player-init][data-player-status=playing][data-player-hover=active] .bunny-player__dark {
  opacity: 0.3;
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__dark {
  opacity: 0;
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__playpause,
[data-bunny-player-init][data-player-status=loading] .bunny-player__playpause {
  opacity: 0;
}
[data-bunny-player-init][data-player-status=playing][data-player-hover=active] .bunny-player__playpause {
  opacity: 1;
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__play-svg,
[data-bunny-player-init][data-player-status=loading] .bunny-player__play-svg {
  display: none;
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__pause-svg,
[data-bunny-player-init][data-player-status=loading] .bunny-player__pause-svg {
  display: block;
}
[data-bunny-player-init][data-player-status=loading] .bunny-player__loading {
  opacity: 1;
  visibility: visible;
}
.bunny-player__interface {
  transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
[data-bunny-player-init][data-player-status=playing] .bunny-player__interface,
[data-bunny-player-init][data-player-status=loading] .bunny-player__interface {
  opacity: 0;
  transform: translateY(1em) rotate(0.001deg);
}
[data-bunny-player-init][data-player-status=playing][data-player-hover=active] .bunny-player__interface,
[data-bunny-player-init][data-player-status=loading][data-player-hover=active] .bunny-player__interface {
  opacity: 1;
  transform: translateY(0em) rotate(0.001deg);
}
[data-bunny-player-init][data-player-status=idle][data-player-activated=false] .bunny-player__timeline,
[data-bunny-player-init][data-player-status=ready][data-player-activated=false] .bunny-player__timeline {
  pointer-events: none;
}
[data-bunny-player-init] .bunny-player__timeline-handle {
  transition: transform 0.15s ease-in-out;
}
[data-bunny-player-init][data-timeline-drag=true] .bunny-player__timeline-handle {
  transform: translate(-50%, -50%) scale(1);
}
[data-bunny-player-init][data-player-fullscreen=true] .bunny-player__fullscreen-shrink-svg {
  display: block;
}
[data-bunny-player-init][data-player-fullscreen=true] .bunny-player__fullscreen-scale-svg {
  display: none;
}
[data-bunny-player-init][data-player-muted=true] .bunny-player__volume-mute-svg {
  display: block;
}
[data-bunny-player-init][data-player-muted=true] .bunny-player__volume-up-svg {
  display: none;
}
[data-bunny-player-init][data-player-update-size=cover] {
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}
[data-bunny-player-init][data-player-update-size=cover] [data-player-before] {
  display: none;
}
[data-bunny-player-init][data-player-update-size=cover][data-player-fullscreen=false] .bunny-player__video {
  object-fit: cover;
}
@media (hover: hover) and (pointer: fine) {
  .careers_card_btn {
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .careers_cta_btn {
    transition: background-color 0.3s ease;
  }
  .careers_card_wrap:hover .careers_card_btn {
    background-color: var(--swatch--brand-primary);
    color: var(--swatch--dark);
  }
  .careers_cta_wrap:hover .careers_cta_btn {
    background-color: var(--swatch--brand-primary);
  }
}
[data-careers-filter-btn].is-active {
  background-color: var(--swatch--dark-border);
  border-color: var(--swatch--transparent);
}
[data-careers-list],
[data-careers-filter] {
  opacity: 0;
}
.wf-design-mode [data-careers-list],
[data-careers-filter] {
  opacity: 1;
}
[data-careers-card-template] {
  display: none !important;
}
.wf-design-mode [data-careers-card-template] {
  display: flex !important;
}
[data-careers-filter-btn-template] {
  display: none !important;
}
.wf-design-mode .career_main {
  display: block;
}
[data-gsap-slider-init] {
  --slider-status: on;
  --slider-spv: 3;
  --slider-gap: 0.25rem;
}
@media screen and (max-width: 991px) {
  [data-gsap-slider-init] {
    --slider-status: on;
    --slider-spv: 2.25;
    --slider-gap: 0.25rem;
  }
}
@media screen and (max-width: 767px) {
  [data-gsap-slider-init] {
    --slider-status: on;
    --slider-spv: 1.15;
    --slider-gap: 0.25rem;
  }
}
[data-gsap-slider-item]:last-child {
  margin-right: 0;
}
[data-gsap-slider-status=not-active] [data-gsap-slider-controls] {
  display: none;
}
[data-gsap-slider-control-status=not-active] {
  opacity: 0.3;
  pointer-events: none;
}
.gsap_slider_control {
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  [data-card-hover-btn] {
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  [data-card-hover]:hover [data-card-hover-btn] {
    background-color: var(--swatch--brand-primary);
    color: var(--swatch--dark);
  }
}
[data-copy-to-clipboard] [data-copy-icon=default],
[data-copy-to-clipboard] [data-copy-icon=success] {
  transition: transform 0.4s cubic-bezier(0.625, 0.05, 0, 1);
  transform: translateY(0%) rotate(0.001deg);
}
[data-copy-to-clipboard] [data-copy-icon=success] {
  color: #009e3b;
  transform: translateY(200%) rotate(0.001deg);
}
[data-copy-to-clipboard][data-copy-success] [data-copy-icon=default] {
  transform: translateY(-200%) rotate(0.001deg);
}
[data-copy-to-clipboard][data-copy-success] [data-copy-icon=success] {
  transform: translateY(0%) rotate(0.001deg);
}
[data-tabs=visual-item] {
  perspective: 1600px;
  perspective-origin: center;
}
[data-tabs=visual-inner] {
  transform: rotateY(-10deg);
  transform-style: preserve-3d;
}
[data-comparison=wrap] {
  overflow-x: auto;
  overflow-y: visible;
}
@media (max-width: 991px) {
  [data-comparison=wrap] {
    margin-right: calc(50% - 50vw);
    padding-right: 1rem;
  }
}
[data-comparison=wrap]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
[data-comparison=table] {
  table-layout: fixed;
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0.09375rem 0;
}
[data-comparison=table] col[data-comparison-col=label] {
  width: 20%;
}
[data-comparison=table] col[data-comparison-col=carrier] {
  width: 20%;
}
[data-comparison=table] thead th:not(:first-child),
[data-comparison=table] tbody td {
  background: var(--swatch--white);
}
[data-comparison=table] tbody tr:not(:last-child) td {
  box-shadow: inset 0 -1px 0 var(--_theme---border);
}
[data-comparison=table] thead th:not(:first-child) {
  border-top-left-radius: var(--radius--large-40px);
  border-top-right-radius: var(--radius--large-40px);
}
[data-comparison=table] tbody tr:last-child td {
  border-bottom-left-radius: var(--radius--large-40px);
  border-bottom-right-radius: var(--radius--large-40px);
}
[data-comparison=table] tbody tr:last-child td,
[data-comparison=table] tbody tr:last-child th[scope=row] {
  padding-bottom: 1.5rem;
}
[data-comparison-col=featured] {
  background: var(--swatch--brand-primary) !important;
}
[data-comparison=table] thead tr > :first-child,
[data-comparison=table] tbody th[scope=row] {
  position: sticky;
  left: 0;
  z-index: 1;
}
[data-comparison=table] thead tr > :first-child::before,
[data-comparison=table] tbody th[scope=row]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_theme---background-2);
  -webkit-mask-image:
    linear-gradient(
      to right,
      #000 90%,
      transparent 100%);
  mask-image:
    linear-gradient(
      to right,
      #000 90%,
      transparent 100%);
  pointer-events: none;
}
[data-comparison=table] tbody tr:not(:last-child) th[scope=row]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--_theme---border);
  pointer-events: none;
}
[data-comparison-cell=content] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
[data-marquee-track] {
  display: flex;
  width: max-content;
  animation: marquee-scroll var(--duration, 40s) linear infinite;
}
[data-marquee-item] {
  flex: 0 0 100vw;
}
@keyframes marquee-scroll {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-marquee-track] {
    animation: none;
  }
}
[data-transparent-video] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
[data-cloud-canvas] {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
[data-cloud-canvas-bg] {
  background:
    linear-gradient(
      0deg,
      #50728F 0%,
      #6C8EA9 100%);
}
[data-cloud-canvas] svg {
  width: 0;
  height: 0;
  position: absolute;
}
[data-cloud-canvas-container] {
  position: absolute;
  inset: 0;
  filter: url(#cloud-canvas-filter);
}
[data-cloud-canvas-puff] {
  position: absolute;
  background: #fff;
  will-change: opacity;
}
[data-cloud-canvas-container] {
  filter: url(#cloud-canvas-filter);
}
.is-safari [data-cloud-canvas-container],
:root:not(.hover-hover) [data-cloud-canvas-container] {
  filter: none;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vYnVuZGxlLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogRmlsZTogc3R5bGVzLmNzcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBTklNQVRJT04gVkFSSUFCTEVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuOnJvb3Qge1xuICAvKiBBbmltYXRpb25zICovXG4gIC0tY3ViaWMtZGVmYXVsdDogY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAsIDEpO1xuICAtLWR1cmF0aW9uLWRlZmF1bHQtZG91YmxlOiAxLjJzO1xuICAvKiBEb3VibGUgb2YgZGVmYXVsdCAqL1xuICAtLWR1cmF0aW9uLWRlZmF1bHQtb25laGFsZjogMC45cztcbiAgLyogT25lICYgSGFsZiBvZiBkZWZhdWx0ICovXG4gIC0tZHVyYXRpb24tZGVmYXVsdDogMC42cztcbiAgLS1kdXJhdGlvbi1kZWZhdWx0LWhhbGY6IDAuM3M7XG4gIC8qIEhhbGYgb2YgZGVmYXVsdCAqL1xuICAtLWFuaW1hdGlvbi1kZWZhdWx0LWRvdWJsZTogdmFyKC0tZHVyYXRpb24tZGVmYXVsdC1kb3VibGUpXG4gICAgdmFyKC0tY3ViaWMtZGVmYXVsdCk7XG4gIC0tYW5pbWF0aW9uLWRlZmF1bHQtb25laGFsZjogdmFyKC0tZHVyYXRpb24tZGVmYXVsdC1vbmVoYWxmKVxuICAgIHZhcigtLWN1YmljLWRlZmF1bHQpO1xuICAtLWR1cmF0aW9uLWRlZmF1bHQtcXVhcnRlcjogMC4xNXM7XG4gIC8qIFF1YXJ0ZXIgb2YgZGVmYXVsdCAqL1xuICAtLWFuaW1hdGlvbi1kZWZhdWx0OiB2YXIoLS1kdXJhdGlvbi1kZWZhdWx0KSB2YXIoLS1jdWJpYy1kZWZhdWx0KTtcbiAgLS1hbmltYXRpb24tZGVmYXVsdC1oYWxmOiB2YXIoLS1kdXJhdGlvbi1kZWZhdWx0LWhhbGYpIHZhcigtLWN1YmljLWRlZmF1bHQpO1xuICAtLWFuaW1hdGlvbi1kZWZhdWx0LXF1YXJ0ZXI6IHZhcigtLWR1cmF0aW9uLWRlZmF1bHQtcXVhcnRlcilcbiAgICB2YXIoLS1jdWJpYy1kZWZhdWx0KTtcbiAgLS1hbmltYXRpb24tZWFzZTogMC4ycyBlYXNlO1xuICAtLWFuaW1hdGlvbi1lYXNlLWRvdWJsZTogMC40cyBlYXNlO1xuICAtLWN1YmljLWJvdW5jZTogbGluZWFyKFxuICAgIDAsXG4gICAgMC41NzM3IDcuNiUsXG4gICAgMC44MzgyIDExLjg3JSxcbiAgICAwLjk0NjMgMTQuMTklLFxuICAgIDEuMDI5MiAxNi41NCUsXG4gICAgMS4wODg2IDE4Ljk3JSxcbiAgICAxLjEyNTggMjEuNTMlLFxuICAgIDEuMTM3IDIyLjk3JSxcbiAgICAxLjE0MjQgMjQuNDglLFxuICAgIDEuMTQyMyAyNi4xJSxcbiAgICAxLjEzNjYgMjcuODYlLFxuICAgIDEuMTE2NSAzMS4wMSUsXG4gICAgMS4wNTA3IDM4LjYyJSxcbiAgICAxLjAyMTkgNDIuNTclLFxuICAgIDAuOTk5NSA0Ni45OSUsXG4gICAgMC45ODcyIDUxLjYzJSxcbiAgICAwLjk4NDIgNTguNzclLFxuICAgIDEuMDAxMSA4MS4yNiUsXG4gICAgMVxuICApO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEhJREUgU0NST0xMQkFSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbmJvZHkge1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG5cbmJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGVuaXMge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCVVRUT04gUFJJTUFSWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAvKiBDaGFyYWN0ZXJzICovXG4gIC5idXR0b25fcHJpbWFyeV93cmFwIFtkYXRhLWJ1dHRvbi1hbmltYXRlLWNoYXJzXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmJ1dHRvbl9wcmltYXJ5X3dyYXAgW2RhdGEtYnV0dG9uLWFuaW1hdGUtY2hhcnNdIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAxLjNlbSB2YXIoLS1zd2F0Y2gtLWRhcmspO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwZW0pIHJvdGF0ZSgwLjAwMWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuNjI1LCAwLjA1LCAwLCAxKTtcbiAgfVxuXG4gIC5idXR0b25fcHJpbWFyeV93cmFwOmhvdmVyIFtkYXRhLWJ1dHRvbi1hbmltYXRlLWNoYXJzXSBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuM2VtKSByb3RhdGUoMC4wMDFkZWcpO1xuICB9XG5cbiAgLyogQmFja2dyb3VuZCAqL1xuICAuYnV0dG9uX3ByaW1hcnlfYmcge1xuICAgIGluc2V0OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LCBib3JkZXItY29sb3IsIGJvcmRlci13aWR0aCwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42MjUsIDAuMDUsIDAsIDEpO1xuICB9XG5cbiAgLmJ1dHRvbl9wcmltYXJ5X3dyYXA6aG92ZXIgLmJ1dHRvbl9wcmltYXJ5X2JnIHtcbiAgICBpbnNldDogMC4xMjVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1fdGhlbWUtLS1idXR0b24tcHJpbWFyeS0tYm9yZGVyKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0tbWVkaXVtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLWJyYW5kLTMwMCk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCVVRUT04gU0VDT05EQVJZIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC8qIENoYXJhY3RlcnMgKi9cbiAgLmJ1dHRvbl9zZWNvbmRhcnlfd3JhcCBbZGF0YS1idXR0b24tYW5pbWF0ZS1jaGFyc10ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5idXR0b25fc2Vjb25kYXJ5X3dyYXAgW2RhdGEtYnV0dG9uLWFuaW1hdGUtY2hhcnNdIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAxLjNlbSBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBlbSkgcm90YXRlKDAuMDAxZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC42MjUsIDAuMDUsIDAsIDEpO1xuICB9XG5cbiAgLmJ1dHRvbl9zZWNvbmRhcnlfd3JhcDpob3ZlciBbZGF0YS1idXR0b24tYW5pbWF0ZS1jaGFyc10gc3BhbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjNlbSkgcm90YXRlKDAuMDAxZGVnKTtcbiAgfVxuXG4gIC8qIEJhY2tncm91bmQgKi9cbiAgLmJ1dHRvbl9zZWNvbmRhcnlfYmcge1xuICAgIGluc2V0OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC42cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjI1LCAwLjA1LCAwLCAxKTtcbiAgfVxuXG4gIC5idXR0b25fc2Vjb25kYXJ5X3dyYXA6aG92ZXIgLmJ1dHRvbl9zZWNvbmRhcnlfYmcge1xuICAgIGluc2V0OiAwLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1fdGhlbWUtLS1idXR0b24tc2Vjb25kYXJ5LS1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLV90aGVtZS0tLWJ1dHRvbi1zZWNvbmRhcnktLWJvcmRlcik7XG4gIH1cbiAgXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQlVUVE9OIENUQSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAvKiBDaGFyYWN0ZXJzICovXG4gIC5idXR0b25fY3RhX3dyYXAgW2RhdGEtYnV0dG9uLWFuaW1hdGUtY2hhcnNdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuYnV0dG9uX2N0YV93cmFwIFtkYXRhLWJ1dHRvbi1hbmltYXRlLWNoYXJzXSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwcHggMS4zZW0gY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwZW0pIHJvdGF0ZSgwLjAwMWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuNjI1LCAwLjA1LCAwLCAxKTtcbiAgfVxuXG4gIC5idXR0b25fY3RhX3dyYXA6aG92ZXIgW2RhdGEtYnV0dG9uLWFuaW1hdGUtY2hhcnNdIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4zZW0pIHJvdGF0ZSgwLjAwMWRlZyk7XG4gIH1cblxuICAvKiBCYWNrZ3JvdW5kICovXG4gIC5idXR0b25fY3RhX2JnIHtcbiAgICBpbnNldDogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBpbnNldDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42MjUsIDAuMDUsIDAsIDEpO1xuICB9XG5cbiAgLmJ1dHRvbl9jdGFfd3JhcDpob3ZlciAuYnV0dG9uX2N0YV9iZyB7XG4gICAgaW5zZXQ6IDAuMTI1cmVtO1xuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBOQVYgTUVOVSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG46cm9vdCB7XG4gIC0tbmF2LS1tZW51LW9wZW4tZHVyYXRpb246IDQwMG1zO1xuICAtLW5hdi0tbWVudS1jbG9zZS1kdXJhdGlvbjogNDAwbXM7XG4gIC0tbmF2LS1kcm9wZG93bi1vcGVuLWR1cmF0aW9uOiA0MDBtcztcbiAgLS1uYXYtLWRyb3Bkb3duLWNsb3NlLWR1cmF0aW9uOiA0MDBtcztcbn1cblxuYm9keTpoYXMoLm5hdl9jb21wb25lbnQgLnctbmF2LWJ1dHRvbi53LS1vcGVuKTpub3QoOmhhcygubmF2X2Rlc2t0b3Bfd3JhcDpub3QoLnctY29uZGl0aW9uLWludmlzaWJsZSkpKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhICh3aWR0aCA8IDY1ZW0pIHtcblxuICAvKiBkaXNhYmxlIHNjcm9sbCB3aGVuIG1vYmlsZSBtZW51IGlzIG9wZW4gKi9cbiAgYm9keTpoYXMoLm5hdl9jb21wb25lbnQgLnctbmF2LWJ1dHRvbi53LS1vcGVuKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vKiBvbiBsYXJnZXIgc2NyZWVucyAqL1xuQGNvbnRhaW5lciAobWluLXdpZHRoOiA2NWVtKSB7XG5cbiAgLyogc2hvdyBkZXNrdG9wIG5hdiAmIGRyb3Bkb3duIGJhY2tkcm9wICovXG4gIC5uYXZfZGVza3RvcF93cmFwLFxuICAubmF2X2Ryb3Bkb3duX2JhY2tkcm9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qIGhpZGUgbW9iaWxlIG5hdiAmIG1vYmlsZSBtZW51IGJhY2tkcm9wICovXG4gIC5uYXZfZGVza3RvcF93cmFwOm5vdCgudy1jb25kaXRpb24taW52aXNpYmxlKX4ubmF2X21vYmlsZV93cmFwLFxuICAubmF2X2Rlc2t0b3Bfd3JhcDpub3QoLnctY29uZGl0aW9uLWludmlzaWJsZSl+Lm5hdl9tZW51X2JhY2tkcm9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIGRyb3Bkb3duIGxpc3Q6IGluaXRpYWwgc3RhdGUgKi9cbmh0bWw6bm90KC53Zi1kZXNpZ24tbW9kZSkgLm5hdl9kcm9wZG93bl9jb21wb25lbnQ+LnctZHJvcGRvd24tbGlzdCB7XG4gIC8qIHJlbW92ZXMgZGlzcGxheSBub25lIHRvIGVuYWJsZSBjc3MgdHJhbnNpdGlvbnMgKi9cbiAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAvKiBzZXRzIGxpc3QgdG8gMCBoZWlnaHQgYnkgZGVmYXVsdCAqL1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIHZhcigtLW5hdi0tZHJvcGRvd24tY2xvc2UtZHVyYXRpb24pO1xuICAvKiBtYWtlcyBsaXN0IGNvbnRlbnQgbm90IGZvY3VzYWJsZSB3aGVuIGNsb3NlZCAqL1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIG1ha2VzIGxpc3QgY29udGVudCBmb2N1c2FibGUgd2hlbiBvcGVuZWQgKi9cbmh0bWw6bm90KC53Zi1kZXNpZ24tbW9kZSkgLm5hdl9kcm9wZG93bl9jb21wb25lbnQ+LnctZHJvcGRvd24tbGlzdC53LS1vcGVuIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogc2V0cyBsaXN0IGNoaWxkIHRvIG92ZXJmbG93IGhpZGRlbiB0byBlbmFibGUgY3NzIGhlaWdodCB0cmFuc2l0aW9uICovXG4ubmF2X2Ryb3Bkb3duX2NvbXBvbmVudD4udy1kcm9wZG93bi1saXN0Pioge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBzZXQgb3BlbiBzdGF0ZSBvZiBkcm9wZG93biBsaXN0ICovXG4ubmF2X2Ryb3Bkb3duX2NvbXBvbmVudDpoYXMoPiAudy1kcm9wZG93bi10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0pPi53LWRyb3Bkb3duLWxpc3Qge1xuICAtLW5hdi0tZHJvcGRvd24tY2xvc2UtZHVyYXRpb246IHZhcigtLW5hdi0tZHJvcGRvd24tb3Blbi1kdXJhdGlvbik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xufVxuXG4vKiBvbiBkZXNrdG9wLCBkZWxheSBkcm9wZG93biBvcGVuaW5nIGlmIGFub3RoZXIgZHJvcGRvd24gaXMgb3BlbiAqL1xuLm5hdl9kZXNrdG9wX3dyYXA6aGFzKC5uYXZfZHJvcGRvd25fY29tcG9uZW50ID4gLnctZHJvcGRvd24tdG9nZ2xlLnctLW9wZW5bYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdKSAubmF2X2Ryb3Bkb3duX2NvbXBvbmVudDpoYXMoPiAudy0tb3BlblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSk+LnctZHJvcGRvd24tbGlzdCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IHZhcigtLW5hdi0tZHJvcGRvd24tY2xvc2UtZHVyYXRpb24pO1xufVxuXG4vKiByZXZlYWwgZHJvcGRvd24gYmFja2Ryb3Agd2hlbiBkcm9wZG93biBvcGVuICovXG4ubmF2X2Ryb3Bkb3duX2JhY2tkcm9wIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1uYXYtLWRyb3Bkb3duLWNsb3NlLWR1cmF0aW9uKTtcbn1cblxuLm5hdl9jb21wb25lbnQ6aGFzKC5uYXZfZHJvcGRvd25fY29tcG9uZW50ID4gW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdKSAubmF2X2Ryb3Bkb3duX2JhY2tkcm9wIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogcmV2ZWFsIG1vYmlsZSBtZW51IGJhY2tkcm9wIG9uIG1lbnUgb3BlbiAqL1xuLm5hdl9tZW51X2JhY2tkcm9wIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1uYXYtLW1lbnUtY2xvc2UtZHVyYXRpb24pO1xufVxuXG4ubmF2X2NvbXBvbmVudDpoYXMoLnctbmF2LWJ1dHRvbi53LS1vcGVuKSAubmF2X21lbnVfYmFja2Ryb3Age1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBCdXJnZXIgbGluZSB0cmFuc2l0aW9ucyAqL1xuLm5hdl9idXR0b25fbGluZSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1uYXYtLW1lbnUtb3Blbi1kdXJhdGlvbikgdmFyKC0tY3ViaWMtZGVmYXVsdCksXG4gICAgb3BhY2l0eSB2YXIoLS1uYXYtLW1lbnUtb3Blbi1kdXJhdGlvbikgdmFyKC0tY3ViaWMtZGVmYXVsdCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLyogVG9wIGxpbmUgcm90YXRlcyBkb3duICovXG4udy1uYXYtYnV0dG9uLnctLW9wZW4gLm5hdl9idXR0b25fbGluZTpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygxMDAlICsgMC4yNXJlbSkpIHJvdGF0ZSg0NWRlZykgc2NhbGVYKDAuNjUpOztcbn1cblxuLyogQm90dG9tIGxpbmUgcm90YXRlcyB1cCAqL1xuLnctbmF2LWJ1dHRvbi53LS1vcGVuIC5uYXZfYnV0dG9uX2xpbmU6bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSAwLjI1cmVtKSkgcm90YXRlKC00NWRlZykgc2NhbGVYKDAuNjUpOztcbn1cblxuLyogTWlkZGxlIGxpbmUgZmFkZXMgb3V0ICovXG4udy1uYXYtYnV0dG9uLnctLW9wZW4gLm5hdl9idXR0b25fbGluZTpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAwO1xufVxuXG5cbi8qIG1lbnUgYW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBtZW51T3BlbiB7XG4gIGZyb20ge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAwLCAwIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudUNsb3NlIHtcbiAgZnJvbSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDAsIDAgMCk7XG4gIH1cbn1cblxuLyogbWVudSBvcGVuICovXG4ubmF2X2NvbXBvbmVudDpoYXMoLnctbmF2LWJ1dHRvbi53LS1vcGVuKSAudy1uYXYtbWVudSB7XG4gIGFuaW1hdGlvbjogbWVudU9wZW4gdmFyKC0tbmF2LS1tZW51LW9wZW4tZHVyYXRpb24pIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xufVxuXG4vKiBtZW51IGNsb3NlICovXG4ubmF2X2NvbXBvbmVudDpoYXMoLnctbmF2LWJ1dHRvbjpub3QoLnctLW9wZW4pKSAudy1uYXYtbWVudSB7XG4gIGFuaW1hdGlvbjogbWVudUNsb3NlIHZhcigtLW5hdi0tbWVudS1jbG9zZS1kdXJhdGlvbikgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi8qIHBvc2l0aW9uIG92ZXJmbG93IHRvIHRvcCBvZiBzY3JlZW4gKi9cbi5uYXZfY29tcG9uZW50IC53LW5hdi1vdmVybGF5IHtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogb3BlbiBkcm9wZG93biBvbiBtb2JpbGUgKi9cbi5uYXZfbW9iaWxlX3dyYXAgW2RhdGEtb3Blbi1vbi1tb2JpbGVdPi53LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXZfbW9iaWxlX3dyYXAgW2RhdGEtb3Blbi1vbi1tb2JpbGVdPi53LWRyb3Bkb3duLWxpc3Qge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgIWltcG9ydGFudDtcbn1cblxuLyogTW9iaWxlIG1lbnUgc3R5bGVzIHdoZW4gb3BlbiAqL1xuLm5hdl9tb2JpbGVfY29udGFpbiB7XG4gIHRyYW5zaXRpb246XG4gICAgY29sb3IgdmFyKC0tbmF2LS1tZW51LW9wZW4tZHVyYXRpb24pIHZhcigtLWN1YmljLWRlZmF1bHQpLFxuICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tbmF2LS1tZW51LW9wZW4tZHVyYXRpb24pIHZhcigtLWN1YmljLWRlZmF1bHQpLFxuICAgIGJvcmRlci1jb2xvciB2YXIoLS1uYXYtLW1lbnUtb3Blbi1kdXJhdGlvbikgdmFyKC0tY3ViaWMtZGVmYXVsdCk7XG59XG5cbi5uYXZfY29tcG9uZW50Omhhcygudy1uYXYtYnV0dG9uLnctLW9wZW4pIC5uYXZfbW9iaWxlX2NvbnRhaW4ge1xuICBjb2xvcjogdmFyKC0tc3dhdGNoLS1kYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIG5hdiBiYW5uZXIgKi9cbmh0bWw6aGFzKC5uYXZfYmFubmVyX3dyYXA6bm90KC53LWNvbmRpdGlvbi1pbnZpc2libGUpKTpub3QoLmhpZGUtbmF2LWJhbm5lcikge1xuICAtLW5hdi0taGVpZ2h0LXRvdGFsOiBjYWxjKHZhcigtLW5hdi0tYmFubmVyLWhlaWdodCkgKyB2YXIoLS1uYXYtLWhlaWdodCkgKyB2YXIoLS1uYXYtLXNwYWNpbmctb3V0ZXItdmVydGljYWwpKTtcbn1cblxuLmhpZGUtbmF2LWJhbm5lciAubmF2X2Jhbm5lcl93cmFwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndmLWRlc2lnbi1tb2RlIC5uYXZfbW9iaWxlX21lbnVfd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRkFERSBTSUJMSU5HIExJU1QgRUxFTUVOVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuW2RhdGEtaG92ZXItbGlzdF0+KiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyB2YXIoLS1jdWJpYy1kZWZhdWx0KTs7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIFtkYXRhLWhvdmVyLWxpc3RdOmhhcyg+IDpob3Zlcik+IDpub3QoOmhvdmVyKSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBOQVYgU0hPVy9ISURFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbi5uYXZfY29tcG9uZW50IHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIHZhcigtLWN1YmljLWRlZmF1bHQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgwLjAwMWRlZyk7XG59XG5cbi8qIE1vdmUgbmF2IG91dCBvZiB3aW5kb3cgd2hlbiBzY3JvbGxpbmcgZG93biAqL1xuW2RhdGEtc2Nyb2xsaW5nLXN0YXJ0ZWQ9XCJ0cnVlXCJdW2RhdGEtc2Nyb2xsaW5nLWRpcmVjdGlvbj1cImRvd25cIl1cbiAgLm5hdl9jb21wb25lbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgwLjAwMWRlZyk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTkFWIFRIRU1FUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG4ubmF2X2NvbnRhaW4ge1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tYW5pbWF0aW9uLWRlZmF1bHQpLFxuICAgIGJvcmRlci1jb2xvciB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCksXG4gICAgY29sb3IgdmFyKC0tYW5pbWF0aW9uLWRlZmF1bHQpO1xufVxuXG5bZGF0YS10aGVtZS1uYXY9XCJsaWdodFwiXSAubmF2X2NvbnRhaW4sXG5bZGF0YS10aGVtZS1uYXY9XCJsaWdodFwiXSAubmF2X21vYmlsZV9jb250YWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXN3YXRjaC0tZGFyaykgNSUsIHRyYW5zcGFyZW50KTtcbiAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLS1kYXJrKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHZhcigtLXN3YXRjaC0tZGFyayk7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQQUdFIFRSQU5TSVRJT04gT1ZFUkxBWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS10cmFuc2l0aW9uLW92ZXJsYXldIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogOTk5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xufVxuXG5bZGF0YS10cmFuc2l0aW9uLW92ZXJsYXldIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5bZGF0YS10cmFuc2l0aW9uLXBhdGg9XCIxXCJdIHtcbiAgZmlsbDogdmFyKC0tc3dhdGNoLS1icmFuZC1wcmltYXJ5KTtcbn1cblxuW2RhdGEtdHJhbnNpdGlvbi1wYXRoPVwiMlwiXSB7XG4gIGZpbGw6IHZhcigtLXN3YXRjaC0tYnJhbmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBXQVZFRk9STSBBTklNQVRJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuW2RhdGEtcGF0aC1idWJibGVdIHN2ZyBlbGxpcHNlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gIGFuaW1hdGlvbjogd2F2ZWZvcm0gMC42cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG59XG5cbltkYXRhLXBhdGgtYnViYmxlXSBzdmcgZWxsaXBzZTpudGgtY2hpbGQoMSkge1xuICBhbmltYXRpb24tZGVsYXk6IDBzO1xufVxuXG5bZGF0YS1wYXRoLWJ1YmJsZV0gc3ZnIGVsbGlwc2U6bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cztcbn1cblxuW2RhdGEtcGF0aC1idWJibGVdIHN2ZyBlbGxpcHNlOm50aC1jaGlsZCgzKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4wNXM7XG59XG5cbltkYXRhLXBhdGgtYnViYmxlXSBzdmcgZWxsaXBzZTpudGgtY2hpbGQoNCkge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG59XG5cbltkYXRhLXBhdGgtYnViYmxlXSBzdmcgZWxsaXBzZTpudGgtY2hpbGQoNSkge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMXM7XG59XG5cbkBrZXlmcmFtZXMgd2F2ZWZvcm0ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIFtkYXRhLXBhdGgtYnViYmxlXSBzdmcgZWxsaXBzZSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSE9NRSBIRVJPIENPTlRFTlQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuQGNvbnRhaW5lciAod2lkdGggPCA3MGVtKSB7XG4gIC5oZXJvX2hvbWVfbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaGVyb19ob21lX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLV9zcGFjaW5nLS0tc3BhY2UtLTYtNDBweCk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQQVJBTExBWCBTRUNUSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS1zZWN0aW9uLXBhcmFsbGF4XSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoXG4gICAgLTEgKlxuICAgICAgY2xhbXAoXG4gICAgICAgIDIuNSAqIDFyZW0sXG4gICAgICAgIChcbiAgICAgICAgICAoXG4gICAgICAgICAgICAgIDIuNSAtXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgKDYuMDcxIC0gMi41KSAvXG4gICAgICAgICAgICAgICAgICAgICh2YXIoLS1zaXRlLS12aWV3cG9ydC1tYXgpIC0gdmFyKC0tc2l0ZS0tdmlld3BvcnQtbWluKSkgKlxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1zaXRlLS12aWV3cG9ydC1taW4pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSAqXG4gICAgICAgICAgICAxcmVtICtcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgKDYuMDcxIC0gMi41KSAvXG4gICAgICAgICAgICAgICAgKHZhcigtLXNpdGUtLXZpZXdwb3J0LW1heCkgLSB2YXIoLS1zaXRlLS12aWV3cG9ydC1taW4pKVxuICAgICAgICAgICAgKSAqXG4gICAgICAgICAgICAxMDB2d1xuICAgICAgICApLFxuICAgICAgICA2LjA3MSAqIDFyZW1cbiAgICAgIClcbiAgKTtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKFxuICAgIDIuNSAqIDFyZW0sXG4gICAgKFxuICAgICAgKFxuICAgICAgICAgIDIuNSAtXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICg2LjA3MSAtIDIuNSkgL1xuICAgICAgICAgICAgICAgICh2YXIoLS1zaXRlLS12aWV3cG9ydC1tYXgpIC0gdmFyKC0tc2l0ZS0tdmlld3BvcnQtbWluKSkgKlxuICAgICAgICAgICAgICAgIHZhcigtLXNpdGUtLXZpZXdwb3J0LW1pbilcbiAgICAgICAgICAgIClcbiAgICAgICAgKSAqXG4gICAgICAgIDFyZW0gK1xuICAgICAgICAoXG4gICAgICAgICAgKDYuMDcxIC0gMi41KSAvXG4gICAgICAgICAgICAodmFyKC0tc2l0ZS0tdmlld3BvcnQtbWF4KSAtIHZhcigtLXNpdGUtLXZpZXdwb3J0LW1pbikpXG4gICAgICAgICkgKlxuICAgICAgICAxMDB2d1xuICAgICksXG4gICAgNi4wNzEgKiAxcmVtXG4gICk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUFSUVVFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS1jc3MtbWFycXVlZS1zeW5jLWxpc3RdIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1MCUpO1xufVxuXG4ud2YtZGVzaWduLW1vZGUgW2RhdGEtY3NzLW1hcnF1ZWUtc3luYy1saXN0XSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG59XG5cbi8qIENTUyBLZXlmcmFtZSBBbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgdHJhbnNsYXRlWCB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5cbltkYXRhLWNzcy1tYXJxdWVlLWxpc3RdIHtcbiAgYW5pbWF0aW9uOiB0cmFuc2xhdGVYIDMwcyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZFQVRVUkVTIFRBQlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuLyogRmFkZSB0aGUgbGlua3MgdGhhdCBhcmUgbm90IGFjdGl2ZSAqL1xuLnRhYl9jb250ZW50OmhhcygudGFiX2NvbnRlbnRfaXRlbS5hY3RpdmUpIC50YWJfY29udGVudF9pdGVtOm5vdCguYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLnRhYl9jb250ZW50X2l0ZW0uYWN0aXZlIC5jb250ZW50X2l0ZW1faWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1zd2F0Y2gtLWJyYW5kLXByaW1hcnkpO1xufVxuXG4udGFiX2NvbnRlbnRfaXRlbS5hY3RpdmUgLnRhYl9jb250ZW50X2l0ZW1fYmcge1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi50YWJfY29udGVudF9pdGVtLmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc3dhdGNoLS1saWdodC1ib3JkZXIpO1xufVxuXG4udGFiX2NvbnRlbnRfaXRlbS5hY3RpdmUgLmNvbnRlbnRfaXRlbV9pY29uX2ltZy1ob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnRhYl9jb250ZW50X2l0ZW06bm90KC5hY3RpdmUpOmhvdmVyIC50YWJfY29udGVudF9pdGVtX2JnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLS1kYXJrKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC50YWJfY29udGVudF9pdGVtOm5vdCguYWN0aXZlKTpob3ZlciAuY29udGVudF9pdGVtX2ljb24ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1PREFMIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbltkYXRhLW1vZGFsLWdyb3VwLXN0YXR1c10ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbltkYXRhLW1vZGFsLWdyb3VwLXN0YXR1cz1cImFjdGl2ZVwiXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbltkYXRhLW1vZGFsLW5hbWVdW2RhdGEtbW9kYWwtc3RhdHVzPVwiYWN0aXZlXCJdIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1vZGFsX2J0bl9jbG9zZSB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgZWFzZTtcbn1cblxuLm1vZGFsX2J0bl9jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zd2F0Y2gtLWRhcmspIDEwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubW9kYWxfYnRuX2Nsb3NlOmhvdmVyIC5tb2RhbF9idG5fY2xvc2Vfc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xufVxuXG4ubW9kYWxfYnRuX2Nsb3NlX3N2ZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZPT1RFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5mb290ZXJfbGluayB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHBhZGRpbmcgdmFyKC0tYW5pbWF0aW9uLWRlZmF1bHQpLFxuICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCksXG4gICAgICBjb2xvciB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCk7XG4gIH1cblxuICAuZm9vdGVyX2xpbms6aG92ZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLV9zcGFjaW5nLS0tc3BhY2UtLTItMTJweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tX3RoZW1lLS0tYmFja2dyb3VuZC0yKTtcbiAgICBjb2xvcjogdmFyKC0tc3dhdGNoLS1icmFuZC1wcmltYXJ5KTtcbiAgfVxuXG4gIC5mb290ZXJfcHJvZHVjdF9pdGVtIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1hbmltYXRpb24tZGVmYXVsdC1oYWxmKSxcbiAgICAgIGNvbG9yIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0LWhhbGYpO1xuICB9XG5cbiAgLmZvb3Rlcl9wcm9kdWN0X2l0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN3YXRjaC0tbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1zd2F0Y2gtLWRhcmspO1xuICB9XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5mb290ZXJfYm90dG9tX2xpbmtfbGlzdDpoYXMoPiA6aG92ZXIpID4gOm5vdCg6aG92ZXIpIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuQGNvbnRhaW5lciAod2lkdGggPCA3NGVtKSB7XG4gIC5mb290ZXJfcHJvZHVjdF9saXN0LnUtZ3JpZC1hdXRvZml0IHtcbiAgICAtLV9jb2x1bW4tY291bnQtLS12YWx1ZTogMjtcbiAgfVxufVxuXG5AY29udGFpbmVyICh3aWR0aCA8IDQyZW0pIHtcbiAgLmZvb3Rlcl9wcm9kdWN0X2xpc3QudS1ncmlkLWF1dG9maXQge1xuICAgIC0tX2NvbHVtbi1jb3VudC0tLXZhbHVlOiAxO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVEFCTEUgT0YgQ09OVEVOVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuW2RhdGEtdG9jLXdyYXBwZXJdIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLndmLWRlc2lnbi1tb2RlIFtkYXRhLXRvYy13cmFwcGVyXSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQkxPRyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS1jYXRlZ29yeT1cIlJ5bG8gTmV3c1wiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN3YXRjaC0tYnJhbmQtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcmRfYmxvZ192aXN1YWxfd3JhcCB7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzIGVhc2U7XG4gIH1cblxuICAuY2FyZF9ibG9nX3dyYXAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjZzIGVhc2U7XG4gIH1cblxuICAuY2FyZF9ibG9nX2J0biB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLFxuICAgICAgY29sb3IgMC4zcyBlYXNlO1xuICB9XG5cbiAgLmNhcmRfYmxvZ193cmFwOmhvdmVyIC5jYXJkX2Jsb2dfdmlzdWFsX3dyYXAge1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gIH1cblxuICAuY2FyZF9ibG9nX3dyYXA6aG92ZXIgaW1nIHtcbiAgICBzY2FsZTogMS4xO1xuICB9XG5cbiAgLmNhcmRfYmxvZ193cmFwOmhvdmVyIC5jYXJkX2Jsb2dfYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLWJyYW5kLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1zd2F0Y2gtLWRhcmspO1xuICB9XG59XG5cbi5pcy1saXN0LXN0YXJ0aW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFyZW0pO1xufVxuXG4uYmxvZ19pdGVtIHtcbiAgdHJhbnNpdGlvbjpcbiAgICBvcGFjaXR5IDAuNnMgZWFzZSxcbiAgICB0cmFuc2Zvcm0gMC42cyBlYXNlO1xufVxuXG4uaXMtbGlzdC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLXdoaXRlKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLXRyYW5zcGFyZW50KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUVVRPUklBTFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY2FyZF90dXRvcmlhbF92aXN1YWxfd3JhcCB7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzIGVhc2U7XG4gIH1cblxuICAuY2FyZF90dXRvcmlhbF93cmFwIGltZyB7XG4gICAgdHJhbnNpdGlvbjogc2NhbGUgMC42cyBlYXNlO1xuICB9XG5cbiAgLmNhcmRfdHV0b3JpYWxfd3JhcDpob3ZlciAuY2FyZF90dXRvcmlhbF92aXN1YWxfd3JhcCB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgfVxuXG4gIC5jYXJkX3R1dG9yaWFsX3dyYXA6aG92ZXIgaW1nIHtcbiAgICBzY2FsZTogMS4xO1xuICB9XG59XG5cbi5tb2RhbF90dXRvcmlhbF9kaWFsb2c6OmJhY2tkcm9wIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLndmLWRlc2lnbi1tb2RlIC5tb2RhbF90dXRvcmlhbF9kaWFsb2dbZGF0YS1wcmV2aWV3PVwidHJ1ZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTT0NJQUwgU0hBUkUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuLyogQ2xpcGJvYXJkIFN1Y2Nlc3MgSWNvbiAqL1xuW2RhdGEtc29jaWFsLXNoYXJlLXR5cGU9XCJjbGlwYm9hcmRcIl0gLnNvY2lhbC1zaGFyZV9faWNvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjYyNSwgMC4wNSwgMCwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuW2RhdGEtc29jaWFsLXNoYXJlLXR5cGU9XCJjbGlwYm9hcmRcIl0gLnNvY2lhbC1zaGFyZV9faWNvbi5pcy0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjMDA5ZTNiO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuW2RhdGEtc29jaWFsLXNoYXJlLXR5cGU9XCJjbGlwYm9hcmRcIl1bZGF0YS1zb2NpYWwtc2hhcmUtc3VjY2Vzc11cbiAgLnNvY2lhbC1zaGFyZV9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuW2RhdGEtc29jaWFsLXNoYXJlLXR5cGU9XCJjbGlwYm9hcmRcIl1bZGF0YS1zb2NpYWwtc2hhcmUtc3VjY2Vzc11cbiAgLnNvY2lhbC1zaGFyZV9faWNvbi5pcy0tc3VjY2VzcyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuLyogT3B0aW9uYWwgaG92ZXIgc3R5bGluZyAqL1xuW2RhdGEtc29jaWFsLXNoYXJlLXR5cGVdIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG59XG5cbltkYXRhLXNvY2lhbC1zaGFyZV06aGFzKFtkYXRhLXNvY2lhbC1zaGFyZS10eXBlXTpob3ZlcilcbiAgW2RhdGEtc29jaWFsLXNoYXJlLXR5cGVdOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3dhdGNoLS1icmFuZC1wcmltYXJ5KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBQ0NPUkRJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuLyogQW5pbWF0ZSBBY2NvcmRpb24gQm90dG9tIEdyaWQgKi9cbltkYXRhLWFjY29yZGlvbi1ib3R0b21dIHtcbiAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuNnMgY3ViaWMtYmV6aWVyKDAuNjI1LCAwLjA1LCAwLCAxKTtcbn1cblxuW2RhdGEtYWNjb3JkaW9uLXN0YXR1cz1cImFjdGl2ZVwiXSBbZGF0YS1hY2NvcmRpb24tYm90dG9tXSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xufVxuXG4vKiBBbmltYXRlIEljb24gKi9cbltkYXRhLWFjY29yZGlvbi1pY29uXSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjYyNSwgMC4wNSwgMCwgMSk7XG59XG5cbltkYXRhLWFjY29yZGlvbi1zdGF0dXM9XCJhY3RpdmVcIl0gW2RhdGEtYWNjb3JkaW9uLWljb25dIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC4wMDFkZWcpO1xufVxuXG4uYWNjb3JkaW9uX2l0ZW0ge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbn1cblxuW2RhdGEtYWNjb3JkaW9uLXN0YXR1cz1cImFjdGl2ZVwiXS5hY2NvcmRpb25faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zd2F0Y2gtLWRhcmstY2FyZCksIHdoaXRlIDUlKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCVU5OWSBQTEFZRVIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuLyogQW5pbWF0aW9uICovXG5bZGF0YS1idW5ueS1wbGF5ZXItaW5pdF1cbiAgOmlzKFxuICAgIC5idW5ueS1wbGF5ZXJfX3BsYWNlaG9sZGVyLFxuICAgIC5idW5ueS1wbGF5ZXJfX2RhcmssXG4gICAgLmJ1bm55LXBsYXllcl9fcGxheXBhdXNlLFxuICAgIC5idW5ueS1wbGF5ZXJfX2xvYWRpbmdcbiAgKSB7XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjNzIGxpbmVhcixcbiAgICB2aXNpYmlsaXR5IDAuM3MgbGluZWFyO1xufVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBsYXlpbmdcIl1cbiAgLmJ1bm55LXBsYXllcl9fcGxhY2Vob2xkZXIsXG5bZGF0YS1idW5ueS1wbGF5ZXItaW5pdF1bZGF0YS1wbGF5ZXItc3RhdHVzPVwicGF1c2VkXCJdXG4gIC5idW5ueS1wbGF5ZXJfX3BsYWNlaG9sZGVyLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLWFjdGl2YXRlZD1cInRydWVcIl1bZGF0YS1wbGF5ZXItc3RhdHVzPVwicmVhZHlcIl1cbiAgLmJ1bm55LXBsYXllcl9fcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIERhcmsgT3ZlcmxheSAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBhdXNlZFwiXSAuYnVubnktcGxheWVyX19kYXJrLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBsYXlpbmdcIl1bZGF0YS1wbGF5ZXItaG92ZXI9XCJhY3RpdmVcIl1cbiAgLmJ1bm55LXBsYXllcl9fZGFyayB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBsYXlpbmdcIl0gLmJ1bm55LXBsYXllcl9fZGFyayB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIFBsYXkvUGF1c2UgKi9cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1zdGF0dXM9XCJwbGF5aW5nXCJdIC5idW5ueS1wbGF5ZXJfX3BsYXlwYXVzZSxcbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1zdGF0dXM9XCJsb2FkaW5nXCJdXG4gIC5idW5ueS1wbGF5ZXJfX3BsYXlwYXVzZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1zdGF0dXM9XCJwbGF5aW5nXCJdW2RhdGEtcGxheWVyLWhvdmVyPVwiYWN0aXZlXCJdXG4gIC5idW5ueS1wbGF5ZXJfX3BsYXlwYXVzZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1zdGF0dXM9XCJwbGF5aW5nXCJdIC5idW5ueS1wbGF5ZXJfX3BsYXktc3ZnLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cImxvYWRpbmdcIl0gLmJ1bm55LXBsYXllcl9fcGxheS1zdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1idW5ueS1wbGF5ZXItaW5pdF1bZGF0YS1wbGF5ZXItc3RhdHVzPVwicGxheWluZ1wiXSAuYnVubnktcGxheWVyX19wYXVzZS1zdmcsXG5bZGF0YS1idW5ueS1wbGF5ZXItaW5pdF1bZGF0YS1wbGF5ZXItc3RhdHVzPVwibG9hZGluZ1wiXVxuICAuYnVubnktcGxheWVyX19wYXVzZS1zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogTG9hZGluZyAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cImxvYWRpbmdcIl0gLmJ1bm55LXBsYXllcl9fbG9hZGluZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qIEludGVyZmFjZSAqL1xuLmJ1bm55LXBsYXllcl9faW50ZXJmYWNlIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnMgY3ViaWMtYmV6aWVyKDAuNjI1LCAwLjA1LCAwLCAxKTtcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBsYXlpbmdcIl0gLmJ1bm55LXBsYXllcl9faW50ZXJmYWNlLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cImxvYWRpbmdcIl1cbiAgLmJ1bm55LXBsYXllcl9faW50ZXJmYWNlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInBsYXlpbmdcIl1bZGF0YS1wbGF5ZXItaG92ZXI9XCJhY3RpdmVcIl1cbiAgLmJ1bm55LXBsYXllcl9faW50ZXJmYWNlLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cImxvYWRpbmdcIl1bZGF0YS1wbGF5ZXItaG92ZXI9XCJhY3RpdmVcIl1cbiAgLmJ1bm55LXBsYXllcl9faW50ZXJmYWNlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBlbSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuLyogVGltZWxpbmUgKi9cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1zdGF0dXM9XCJpZGxlXCJdW2RhdGEtcGxheWVyLWFjdGl2YXRlZD1cImZhbHNlXCJdXG4gIC5idW5ueS1wbGF5ZXJfX3RpbWVsaW5lLFxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXN0YXR1cz1cInJlYWR5XCJdW2RhdGEtcGxheWVyLWFjdGl2YXRlZD1cImZhbHNlXCJdXG4gIC5idW5ueS1wbGF5ZXJfX3RpbWVsaW5lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIFRpbWVsaW5lIEhhbmRsZSAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdIC5idW5ueS1wbGF5ZXJfX3RpbWVsaW5lLWhhbmRsZSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtdGltZWxpbmUtZHJhZz1cInRydWVcIl1cbiAgLmJ1bm55LXBsYXllcl9fdGltZWxpbmUtaGFuZGxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG59XG5cbi8qIEZ1bGxzY3JlZW4gKi9cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci1mdWxsc2NyZWVuPVwidHJ1ZVwiXVxuICAuYnVubnktcGxheWVyX19mdWxsc2NyZWVuLXNocmluay1zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLWZ1bGxzY3JlZW49XCJ0cnVlXCJdXG4gIC5idW5ueS1wbGF5ZXJfX2Z1bGxzY3JlZW4tc2NhbGUtc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTXV0ZSAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLW11dGVkPVwidHJ1ZVwiXVxuICAuYnVubnktcGxheWVyX192b2x1bWUtbXV0ZS1zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLW11dGVkPVwidHJ1ZVwiXVxuICAuYnVubnktcGxheWVyX192b2x1bWUtdXAtc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQ292ZXIgTW9kZSAqL1xuW2RhdGEtYnVubnktcGxheWVyLWluaXRdW2RhdGEtcGxheWVyLXVwZGF0ZS1zaXplPVwiY292ZXJcIl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5bZGF0YS1idW5ueS1wbGF5ZXItaW5pdF1bZGF0YS1wbGF5ZXItdXBkYXRlLXNpemU9XCJjb3ZlclwiXSBbZGF0YS1wbGF5ZXItYmVmb3JlXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLWJ1bm55LXBsYXllci1pbml0XVtkYXRhLXBsYXllci11cGRhdGUtc2l6ZT1cImNvdmVyXCJdW2RhdGEtcGxheWVyLWZ1bGxzY3JlZW49XCJmYWxzZVwiXVxuICAuYnVubnktcGxheWVyX192aWRlbyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENBUkVFUlMgQ0FSRCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJlZXJzX2NhcmRfYnRuIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsXG4gICAgICBjb2xvciAwLjNzIGVhc2U7XG4gIH1cblxuICAuY2FyZWVyc19jdGFfYnRuIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgfVxuXG4gIC5jYXJlZXJzX2NhcmRfd3JhcDpob3ZlciAuY2FyZWVyc19jYXJkX2J0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3dhdGNoLS1icmFuZC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tc3dhdGNoLS1kYXJrKTtcbiAgfVxuXG4gIC5jYXJlZXJzX2N0YV93cmFwOmhvdmVyIC5jYXJlZXJzX2N0YV9idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN3YXRjaC0tYnJhbmQtcHJpbWFyeSk7XG4gIH1cbn1cblxuW2RhdGEtY2FyZWVycy1maWx0ZXItYnRuXS5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLWRhcmstYm9yZGVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLXRyYW5zcGFyZW50KTtcbn1cblxuW2RhdGEtY2FyZWVycy1saXN0XSxcbltkYXRhLWNhcmVlcnMtZmlsdGVyXSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi53Zi1kZXNpZ24tbW9kZSBbZGF0YS1jYXJlZXJzLWxpc3RdLFxuW2RhdGEtY2FyZWVycy1maWx0ZXJdIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuW2RhdGEtY2FyZWVycy1jYXJkLXRlbXBsYXRlXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndmLWRlc2lnbi1tb2RlIFtkYXRhLWNhcmVlcnMtY2FyZC10ZW1wbGF0ZV0ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLWNhcmVlcnMtZmlsdGVyLWJ0bi10ZW1wbGF0ZV0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53Zi1kZXNpZ24tbW9kZSAuY2FyZWVyX21haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBHU0FQIFNMSURFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS1nc2FwLXNsaWRlci1pbml0XSB7XG4gIC0tc2xpZGVyLXN0YXR1czogb247XG4gIC8qIFR1cm4gc2xpZGVyIG9uL29mZiAqL1xuICAtLXNsaWRlci1zcHY6IDM7XG4gIC8qIFNsaWRlcyBwZXIgdmlldyAqL1xuICAtLXNsaWRlci1nYXA6IDAuMjVyZW07XG4gIC8qIFNsaWRlcyBHYXAgKi9cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgW2RhdGEtZ3NhcC1zbGlkZXItaW5pdF0ge1xuICAgIC0tc2xpZGVyLXN0YXR1czogb247XG4gICAgLyogVHVybiBzbGlkZXIgb24vb2ZmICovXG4gICAgLS1zbGlkZXItc3B2OiAyLjI1O1xuICAgIC8qIFNsaWRlcyBwZXIgdmlldyAqL1xuICAgIC0tc2xpZGVyLWdhcDogMC4yNXJlbTtcbiAgICAvKiBTbGlkZXMgR2FwICovXG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgW2RhdGEtZ3NhcC1zbGlkZXItaW5pdF0ge1xuICAgIC0tc2xpZGVyLXN0YXR1czogb247XG4gICAgLyogVHVybiBzbGlkZXIgb24vb2ZmICovXG4gICAgLS1zbGlkZXItc3B2OiAxLjE1O1xuICAgIC8qIFNsaWRlcyBwZXIgdmlldyAqL1xuICAgIC0tc2xpZGVyLWdhcDogMC4yNXJlbTtcbiAgICAvKiBHYXAgKi9cbiAgfVxufVxuXG5bZGF0YS1nc2FwLXNsaWRlci1pdGVtXTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBDb250cm9scyAqL1xuW2RhdGEtZ3NhcC1zbGlkZXItc3RhdHVzPVwibm90LWFjdGl2ZVwiXSBbZGF0YS1nc2FwLXNsaWRlci1jb250cm9sc10ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1nc2FwLXNsaWRlci1jb250cm9sLXN0YXR1cz1cIm5vdC1hY3RpdmVcIl0ge1xuICBvcGFjaXR5OiAwLjM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBDdXN0b21pemF0aW9uICovXG5cbi5nc2FwX3NsaWRlcl9jb250cm9sIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ0FSRCBIT1ZFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIFtkYXRhLWNhcmQtaG92ZXItYnRuXSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLFxuICAgICAgY29sb3IgMC4zcyBlYXNlO1xuICB9XG5cbiAgW2RhdGEtY2FyZC1ob3Zlcl06aG92ZXIgW2RhdGEtY2FyZC1ob3Zlci1idG5dIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zd2F0Y2gtLWJyYW5kLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1zd2F0Y2gtLWRhcmspO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09QWSBUTyBDTElQQk9BUkQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuW2RhdGEtY29weS10by1jbGlwYm9hcmRdIFtkYXRhLWNvcHktaWNvbj1cImRlZmF1bHRcIl0sXG5bZGF0YS1jb3B5LXRvLWNsaXBib2FyZF0gW2RhdGEtY29weS1pY29uPVwic3VjY2Vzc1wiXSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjYyNSwgMC4wNSwgMCwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuLyogU3VjY2VzcyBpY29uIFx1MjAxNCBoaWRkZW4gYmVsb3cgYnkgZGVmYXVsdCAqL1xuW2RhdGEtY29weS10by1jbGlwYm9hcmRdIFtkYXRhLWNvcHktaWNvbj1cInN1Y2Nlc3NcIl0ge1xuICBjb2xvcjogIzAwOWUzYjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpIHJvdGF0ZSgwLjAwMWRlZyk7XG59XG5cbi8qIE9uIHN1Y2Nlc3MgXHUyMDE0IGRlZmF1bHQgc2xpZGVzIHVwIGFuZCBvdXQgKi9cbltkYXRhLWNvcHktdG8tY2xpcGJvYXJkXVtkYXRhLWNvcHktc3VjY2Vzc10gW2RhdGEtY29weS1pY29uPVwiZGVmYXVsdFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuLyogT24gc3VjY2VzcyBcdTIwMTQgc3VjY2VzcyBpY29uIHNsaWRlcyBpbnRvIHZpZXcgKi9cbltkYXRhLWNvcHktdG8tY2xpcGJvYXJkXVtkYXRhLWNvcHktc3VjY2Vzc10gW2RhdGEtY29weS1pY29uPVwic3VjY2Vzc1wiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDAuMDAxZGVnKTtcbn1cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVEFCIFNZU1RFTSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5bZGF0YS10YWJzPVwidmlzdWFsLWl0ZW1cIl0ge1xuICBwZXJzcGVjdGl2ZTogMTYwMHB4O1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IGNlbnRlcjtcbn1cblxuW2RhdGEtdGFicz1cInZpc3VhbC1pbm5lclwiXSB7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgtMTBkZWcpO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkXG59XG5cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09NUEFSSVNPTiBUQUJMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbltkYXRhLWNvbXBhcmlzb249XCJ3cmFwXCJdIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIFtkYXRhLWNvbXBhcmlzb249XCJ3cmFwXCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgfVxufVxuXG5bZGF0YS1jb21wYXJpc29uPVwid3JhcFwiXTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IDRweDtcbn1cblxuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogNzYwcHg7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwLjA5Mzc1cmVtIDA7XG59XG5cbi8qIENvbHVtbiB3aWR0aHMgXHUyMDE0IHNldCBvbmNlLCBpZ25vcmVkIGJ5IGNvbnRlbnQgKi9cbltkYXRhLWNvbXBhcmlzb249XCJ0YWJsZVwiXSBjb2xbZGF0YS1jb21wYXJpc29uLWNvbD1cImxhYmVsXCJdIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIGNvbFtkYXRhLWNvbXBhcmlzb24tY29sPVwiY2FycmllclwiXSB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi8qIENhcnJpZXIgY2VsbHMgZ2V0IHRoZSBjcmVhbSBiYWNrZ3JvdW5kICovXG5bZGF0YS1jb21wYXJpc29uPVwidGFibGVcIl0gdGhlYWQgdGg6bm90KDpmaXJzdC1jaGlsZCksXG5bZGF0YS1jb21wYXJpc29uPVwidGFibGVcIl0gdGJvZHkgdGQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2F0Y2gtLXdoaXRlKTtcbn1cblxuLyogRGl2aWRlcnMgXHUyMDE0IGJvZHkgcm93cyBvbmx5IChoZWFkZXIgYW5kIGxhYmVsIGNvbHVtbiBzdGF5IGNsZWFuKSAqL1xuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGQge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1fdGhlbWUtLS1ib3JkZXIpO1xufVxuXG5cbi8qIFRvcCByb3cgb2YgZWFjaCBjb2x1bW4gXHUyMTkyIHRvcCBjb3JuZXJzICovXG5bZGF0YS1jb21wYXJpc29uPVwidGFibGVcIl0gdGhlYWQgdGg6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1yYWRpdXMtLWxhcmdlLTQwcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcmFkaXVzLS1sYXJnZS00MHB4KTtcbn1cblxuLyogQm90dG9tIHJvdyBvZiBlYWNoIGNvbHVtbiBcdTIxOTIgYm90dG9tIGNvcm5lcnMgKi9cbltkYXRhLWNvbXBhcmlzb249XCJ0YWJsZVwiXSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzLS1sYXJnZS00MHB4KTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXJhZGl1cy0tbGFyZ2UtNDBweCk7XG59XG5cbltkYXRhLWNvbXBhcmlzb249XCJ0YWJsZVwiXSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIHRib2R5IHRyOmxhc3QtY2hpbGQgdGhbc2NvcGU9XCJyb3dcIl0ge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xufVxuXG4vKiBGZWF0dXJlZCAoUnlsbykgY29sdW1uICovXG5bZGF0YS1jb21wYXJpc29uLWNvbD1cImZlYXR1cmVkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dhdGNoLS1icmFuZC1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4vKiBTdGlja3kgbGFiZWwgY29sdW1uICovXG5bZGF0YS1jb21wYXJpc29uPVwidGFibGVcIl0gdGhlYWQgdHI+IDpmaXJzdC1jaGlsZCxcbltkYXRhLWNvbXBhcmlzb249XCJ0YWJsZVwiXSB0Ym9keSB0aFtzY29wZT1cInJvd1wiXSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIEZhZGVkIGJhY2tncm91bmQgb24gdGhlIGxhYmVsIGNvbHVtbiAoc2l0cyBiZWhpbmQgY2VsbCBjb250ZW50KSAqL1xuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIHRoZWFkIHRyPiA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSxcbltkYXRhLWNvbXBhcmlzb249XCJ0YWJsZVwiXSB0Ym9keSB0aFtzY29wZT1cInJvd1wiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IHZhcigtLV90aGVtZS0tLWJhY2tncm91bmQtMik7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwIDkwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwMCA5MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogTGFiZWwgY29sdW1uIGRpdmlkZXJzIFx1MjAxNCB2aWEgOjphZnRlciBzbyB0aGV5IHBhaW50IGFib3ZlIHRoZSBmYWRlZCA6OmJlZm9yZSAqL1xuW2RhdGEtY29tcGFyaXNvbj1cInRhYmxlXCJdIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGhbc2NvcGU9XCJyb3dcIl06OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tX3RoZW1lLS0tYm9yZGVyKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEljb24gKyB0ZXh0IGFsaWdubWVudCBpbnNpZGUgY2VsbHMgKi9cbltkYXRhLWNvbXBhcmlzb24tY2VsbD1cImNvbnRlbnRcIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENTUyBNQVJRVUVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuW2RhdGEtbWFycXVlZS10cmFja10ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGFuaW1hdGlvbjogbWFycXVlZS1zY3JvbGwgdmFyKC0tZHVyYXRpb24sIDQwcykgbGluZWFyIGluZmluaXRlO1xufVxuXG5bZGF0YS1tYXJxdWVlLWl0ZW1dIHtcbiAgZmxleDogMCAwIDEwMHZ3O1xufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUtc2Nyb2xsIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICBbZGF0YS1tYXJxdWVlLXRyYWNrXSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRSQU5TUEFSRU5UIFZJREVPIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuW2RhdGEtdHJhbnNwYXJlbnQtdmlkZW9dIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENMT1VEUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbltkYXRhLWNsb3VkLWNhbnZhc10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtY2xvdWQtY2FudmFzLWJnXSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNTA3MjhGIDAlLCAjNkM4RUE5IDEwMCUpO1xufVxuXG5bZGF0YS1jbG91ZC1jYW52YXNdIHN2ZyB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuW2RhdGEtY2xvdWQtY2FudmFzLWNvbnRhaW5lcl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBmaWx0ZXI6IHVybCgjY2xvdWQtY2FudmFzLWZpbHRlcik7XG59XG5cbltkYXRhLWNsb3VkLWNhbnZhcy1wdWZmXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbltkYXRhLWNsb3VkLWNhbnZhcy1jb250YWluZXJdIHtcbiAgZmlsdGVyOiB1cmwoI2Nsb3VkLWNhbnZhcy1maWx0ZXIpO1xufVxuXG4uaXMtc2FmYXJpIFtkYXRhLWNsb3VkLWNhbnZhcy1jb250YWluZXJdLFxuOnJvb3Q6bm90KC5ob3Zlci1ob3ZlcikgW2RhdGEtY2xvdWQtY2FudmFzLWNvbnRhaW5lcl0ge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBR0E7QUFFRSxtQkFBaUIsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUMxQyw2QkFBMkI7QUFFM0IsOEJBQTRCO0FBRTVCLHNCQUFvQjtBQUNwQiwyQkFBeUI7QUFFekIsOEJBQTRCLElBQUksMkJBQzlCLElBQUk7QUFDTiwrQkFBNkIsSUFBSSw0QkFDL0IsSUFBSTtBQUNOLDhCQUE0QjtBQUU1Qix1QkFBcUIsSUFBSSxvQkFBb0IsSUFBSTtBQUNqRCw0QkFBMEIsSUFBSSx5QkFBeUIsSUFBSTtBQUMzRCwrQkFBNkIsSUFBSSw0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 */
