html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  font-family: "Roboto", "open sans", Helvetica, Arial, sans-serif;
  color: #353D42;
  background: #121516;
  overflow: hidden; }

.clearFloat {
  width: 100%;
  height: 0;
  padding: 0;
  margin: 0;
  clear: both; }

::-webkit-scrollbar {
  width: 1em; }

::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey; }

:focus {
  outline: none; }

#infoModal .modal-content {
  background-color: #f5f5f5;
  border: none;
  border-radius: 0;
  outline: 0;
  font-family: "Roboto", "open sans", Helvetica, Arial, sans-serif; }
  #infoModal .modal-content .modal-header {
    background-color: #353D42;
    color: #ffffff;
    padding: 1rem 1rem;
    border-bottom: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
    #infoModal .modal-content .modal-header .close {
      float: right;
      font-size: 2rem;
      font-weight: 400;
      line-height: 1;
      color: #ffffff;
      text-shadow: none;
      opacity: 1; }

#legendPopup {
  visibility: hidden;
  width: 40px;
  height: 20px;
  padding: 2px 4px;
  background: #fff;
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  font-size: 12px;
  color: #353D42;
  text-align: center; }

#app {
  height: 100%;
  width: 100%;
  z-index: 1;
  background: #121516;
  overflow: hidden; }

#map {
  height: 100%;
  width: 100%;
  z-index: 10;
  background: #121516; }
  #map .marker-cluster span {
    color: #fff;
    font-family: "Roboto", "open sans", Helvetica, Arial, sans-serif; }
  #map .leaflet-popup .leaflet-popup-content-wrapper {
    border-radius: 0; }
    #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content {
      margin: -5px 22px -5px 17px;
      line-height: 1.4;
      font-family: "Roboto", "open sans", Helvetica, Arial, sans-serif;
      font-size: 13px; }
  #map .leaflet-popup a.leaflet-popup-close-button {
    padding: 10px 0 0 0;
    width: 36px;
    height: 36px;
    font: 24px/14px Tahoma, Verdana, sans-serif;
    color: #c3c3c3; }
  #map .leaflet-control-container .leaflet-control-zoom {
    margin: 20px !important;
    box-shadow: none; }
    #map .leaflet-control-container .leaflet-control-zoom.leaflet-bar {
      border: none; }
    #map .leaflet-control-container .leaflet-control-zoom.leaflet-bar a {
      font-family: "Roboto", "open sans", Helvetica, Arial, sans-serif;
      font-weight: 300;
      font-size: 32px;
      border-radius: 0;
      width: 40px;
      height: 40px;
      line-height: 40px; }
    #map .leaflet-control-container .leaflet-control-zoom.leaflet-bar a:first-child {
      border-radius: 0;
      background-color: #1b2021;
      border-bottom: 1px dotted #ffffff;
      color: #ffffff; }
    #map .leaflet-control-container .leaflet-control-zoom.leaflet-bar a:last-child {
      border-radius: 0;
      background-color: #1b2021;
      border: none;
      color: #ffffff; }

#additionalMapControls {
  pointer-events: all;
  position: fixed;
  z-index: 1000;
  bottom: 67%;
  left: 20px;
  width: 40px;
  margin-bottom: 20px; }
  #additionalMapControls a {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 0;
    border-top: 1px dotted #ffffff;
    background-color: #1b2021;
    color: #ffffff;
    padding: 7px 0 0 9px; }
  #additionalMapControls a:first-child {
    border-top: none; }

.madeByCIU {
  margin: 20px 0 0 0; }
  .madeByCIU .madeByLogoRow {
    width: 100%; }
    .madeByCIU .madeByLogoRow .madeByLogo {
      display: block;
      width: 167px;
      height: 15px;
      background: url(../images/logo_ciu.svg) no-repeat left top;
      background-size: contain; }
  .madeByCIU .madeByTextRow {
    display: block;
    width: 100%;
    padding: 0;
    margin: 5px 0 0 0;
    font-size: 12px;
    color: #868b8e; }

#mapPanelOuter {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 20; }
  #mapPanelOuter #mapPanel {
    pointer-events: all;
    position: fixed;
    display: block;
    width: 100%;
    top: 33%;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: auto;
    z-index: 20;
    background: #1b2021;
    padding: 0 0 60px 0;
    outline: 1px solid transparent;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.6s, visibility 0s 0.6s;
    transition: transform 0.6s, visibility 0s 0.6s;
    visibility: visible;
    color: #ffffff;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.3em; }
    #mapPanelOuter #mapPanel #panelToggle {
      position: absolute;
      height: 40px;
      width: 100%;
      margin-top: -40px;
      background: none;
      clear: both; }
      #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn {
        background: #1b2021;
        padding: 7px 10px;
        height: 40px;
        width: 40px;
        float: right; }
        #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .horizontal {
          display: none; }
        #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .vertical {
          display: block; }
        #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .icon-open {
          display: block; }
        #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .icon-close {
          display: none; }
    #mapPanelOuter #mapPanel a, #mapPanelOuter #mapPanel a:link, #mapPanelOuter #mapPanel a:visited, #mapPanelOuter #mapPanel a:hover, #mapPanelOuter #mapPanel a:active {
      color: #ffffff;
      text-decoration: none; }
    #mapPanelOuter #mapPanel p {
      font-size: 14px;
      font-weight: 300;
      line-height: 1.3em;
      margin: 0; }
    #mapPanelOuter #mapPanel h2 {
      font-size: 24px;
      font-weight: 700;
      margin: 0 0 0.2em 0; }
    #mapPanelOuter #mapPanel label {
      font-weight: 500; }
    #mapPanelOuter #mapPanel .buttonGroup-4 {
      width: 100%;
      clear: both;
      padding: 10px 0 10px 0; }
      #mapPanelOuter #mapPanel .buttonGroup-4 .buttonGroupItem {
        width: 25%;
        float: left;
        text-align: center; }
    #mapPanelOuter #mapPanel .buttonGroup-3 {
      width: 100%;
      clear: both;
      padding: 10px 0 10px 0; }
      #mapPanelOuter #mapPanel .buttonGroup-3 .buttonGroupItem {
        width: 33%;
        float: left;
        text-align: center; }
    #mapPanelOuter #mapPanel .mapPanel_head {
      margin: 0 30px 0px 30px;
      padding: 20px 0 20px 0;
      height: 60px;
      background: #1b2021;
      overflow: hidden; }
      #mapPanelOuter #mapPanel .mapPanel_head .info {
        display: none; }
      #mapPanelOuter #mapPanel .mapPanel_head #infoLinkHolder {
        position: absolute;
        z-index: 50;
        right: 20px; }
    #mapPanelOuter #mapPanel .mapPanel_nav {
      margin: 0 30px 10px 30px;
      padding: 0 0 20px 0;
      height: 60px;
      background: #1b2021;
      overflow: hidden; }
      #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav a, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav a:link, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav a:visited {
        color: #323b3f; }
      #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav a:hover, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav a:active {
        color: #fff; }
      #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav .selected a, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav .selected a:link, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav .selected a:visited, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav .selected a:hover, #mapPanelOuter #mapPanel .mapPanel_nav #groupsNav .selected a:active {
        color: #fff; }
    #mapPanelOuter #mapPanel .mapPanel_content {
      width: 100%;
      margin: 0;
      top: 145px;
      padding: 0 30px 0 30px;
      bottom: 30px;
      overflow-y: auto;
      position: absolute; }
      #mapPanelOuter #mapPanel .mapPanel_content .panelRow {
        padding: 0 0 20px 0; }
      #mapPanelOuter #mapPanel .mapPanel_content #filters {
        margin: 0 0 20px 0; }
      #mapPanelOuter #mapPanel .mapPanel_content .pretty {
        margin-right: 6px; }
      #mapPanelOuter #mapPanel .mapPanel_content .layer-control-group {
        margin: 0px 0px 10px 0px; }
        #mapPanelOuter #mapPanel .mapPanel_content .layer-control-group .layerGroupControl {
          margin: 0px 0px 7px 0px; }
        #mapPanelOuter #mapPanel .mapPanel_content .layer-control-group .grouped {
          margin-left: 21px; }
      #mapPanelOuter #mapPanel .mapPanel_content .layer-control {
        margin-bottom: 0.4em; }
        #mapPanelOuter #mapPanel .mapPanel_content .layer-control .layer-control-head {
          margin: 0px 0px 2px 0px; }
        #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content {
          margin-left: 22px; }
          #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .shortDescription {
            color: #ffffff;
            margin: 5px 0px 10px 0px; }
            #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .shortDescription .fa-icon {
              margin-top: -3px; }
          #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .pretty .state label span.labelText {
            color: #ffffff; }
          #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .cluster-container {
            margin: 5px 0px; }
          #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group {
            margin: 5px 0px; }
            #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group .range-slider-label {
              color: #ffffff;
              display: inline-block;
              width: 50%;
              float: left; }
            #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group .range-slider-container {
              display: inline-block;
              width: 50%; }
              #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group .range-slider-container .range-slider {
                width: 100%; }
                #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group .range-slider-container .range-slider .range-slider-knob {
                  height: 17px;
                  width: 17px; }
                #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .range-slider-group .range-slider-container .range-slider .range-slider-rail {
                  width: 100%;
                  background-color: #323b3f; }
          #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .tileLegendContainer {
            font-size: 12px;
            width: 100%;
            color: #ffffff; }
            #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .tileLegendContainer .legendItem {
              width: 6%;
              float: left; }
              #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .tileLegendContainer .legendItem .legendItemSymbol {
                width: 15px;
                height: 15px; }
              #mapPanelOuter #mapPanel .mapPanel_content .layer-control .control-content .tileLegendContainer .legendItem .legendItemLabel {
                text-align: left;
                font-size: 10px;
                line-height: 12px;
                padding-top: 3px; }
    #mapPanelOuter #mapPanel .panelControlsLeft {
      width: 50%;
      float: left;
      padding-right: 10px; }
    #mapPanelOuter #mapPanel .panelControlsRight {
      width: 50%;
      float: right;
      padding-left: 10px; }
    #mapPanelOuter #mapPanel button {
      background: #2a3135;
      border: none;
      width: 100%;
      height: 40px;
      font-size: 14px; }
    #mapPanelOuter #mapPanel button:focus {
      outline: 0; }
    #mapPanelOuter #mapPanel button:hover {
      background: #3d484c; }
    #mapPanelOuter #mapPanel #selectArtist, #mapPanelOuter #mapPanel #selectWoman, #mapPanelOuter #mapPanel #declusterButton, #mapPanelOuter #mapPanel #resetMapButton, #mapPanelOuter #mapPanel #fullWindowButtonRow {
      display: none; }
    #mapPanelOuter #mapPanel .mapPanel_footer {
      display: none; }
  #mapPanelOuter.panelOpen #mapPanel {
    visibility: visible;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: -webkit-transform 0.6s;
    transition: transform 0.6s; }
    #mapPanelOuter.panelOpen #mapPanel #panelToggle #panelToggleBtn .icon-open {
      display: none; }
    #mapPanelOuter.panelOpen #mapPanel #panelToggle #panelToggleBtn .icon-close {
      display: block; }

.basemaps,
.basemap-light {
  color: #ECECED; }

.basemap-dark {
  color: #121616; }

.boroughs,
.wards {
  color: #6e7477; }

.air-quality-monitoring-sites,
.air-quality-management-areas,
.air-quality-focus-areas {
  color: #4c9e4c; }

.breathe-ldn-air-quality-monitoring-sites {
  color: #E67100; }

.city-airport-air-quality-monitoring-sites {
  color: #B333D2; }

.rapid-charging {
  color: #C8C72D; }

.schools-audited {
  color: #FF579F; }

.nurseries-audited {
  color: #FF8DC9; }

.schools-exceeding {
  color: #C80810; }

.hospitals-exceeding {
  color: #FF5252; }

.hospitals-exceeding {
  color: #FF5252; }

.low-emissions-zones,
.low-emissions-zone,
.ultra-low-emissions-zone,
.hackney-city-fringe,
.ultra-low-emissions-zone-expansion,
.low-emissions-neighbourhoods,
.ultra-low-emissions-zone-london-wide,
.congestion-charging-zone {
  color: #1CA4EB; }

.google-car-areas {
  color: #E67100; }

.google-car-transects {
  color: #E67100; }

.low-emissions-bus-routes,
.installed-low-emissions-bus-routes,
.future-low-emissions-bus-routes {
  color: #B333D2; }

.current_air_quality,
.future_air_quality {
  color: #fcd308; }

.aqno2,
.future_aqno2 {
  color: #fcd308; }

.aqpm25,
.future_aqpm25 {
  color: #ea5c3e; }

.aqpm10,
.future_aqpm10 {
  color: #0f8ce8; }

.leaflet-basemap-dark-pane {
  -webkit-filter: grayscale(100%) contrast(0.8) brightness(0.9);
  filter: grayscale(100%) contrast(0.8) brightness(0.9); }

.leaflet-boroughs-pane svg path,
.leaflet-wards-pane svg path {
  stroke: #6e7477;
  stroke-width: 2px;
  -webkit-transition: fill-opacity .25s ease;
  transition: fill-opacity .25s ease;
  fill: #6e7477;
  fill-opacity: 0; }
  .leaflet-boroughs-pane svg path:hover,
  .leaflet-wards-pane svg path:hover {
    fill-opacity: 0.15; }

.leaflet-low-emissions-zone-pane svg path,
.leaflet-ultra-low-emissions-zone-pane svg path,
.leaflet-ultra-low-emissions-zone-expansion-pane svg path,
.leaflet-hackney-city-fringe-pane svg path,
.leaflet-ultra-low-emissions-zone-london-wide-pane svg path,
.leaflet-congestion-charging-zone svg path {
  stroke: #1CA4EB;
  stroke-width: 2px;
  -webkit-transition: fill-opacity .4s ease;
  transition: fill-opacity .4s ease;
  fill: #1CA4EB;
  fill-opacity: 0; }
  .leaflet-low-emissions-zone-pane svg path:hover,
  .leaflet-ultra-low-emissions-zone-pane svg path:hover,
  .leaflet-ultra-low-emissions-zone-expansion-pane svg path:hover,
  .leaflet-hackney-city-fringe-pane svg path:hover,
  .leaflet-ultra-low-emissions-zone-london-wide-pane svg path:hover,
  .leaflet-congestion-charging-zone svg path:hover {
    fill-opacity: 0.1; }

.leaflet-ultra-low-emissions-zone-expansion-pane svg path {
  stroke-dasharray: 2 5; }

.leaflet-low-emissions-neighbourhoods-pane svg path {
  stroke: #1CA4EB;
  stroke-width: 1px;
  -webkit-transition: fill-opacity .25s ease;
  transition: fill-opacity .25s ease;
  fill: #1CA4EB;
  fill-opacity: 0.3; }
  .leaflet-low-emissions-neighbourhoods-pane svg path:hover {
    fill-opacity: 0.4; }

.leaflet-google-car-transects-pane svg path {
  stroke: #E67100;
  stroke-width: 4px;
  stroke-dasharray: 10 10; }

.leaflet-google-car-areas-pane svg path {
  stroke: #E67100;
  stroke-width: 1px;
  -webkit-transition: fill-opacity .25s ease;
  transition: fill-opacity .25s ease;
  fill: #E67100;
  fill-opacity: 0.25; }
  .leaflet-google-car-areas-pane svg path:hover {
    fill-opacity: 0.45; }

.leaflet-air-quality-management-areas-pane svg path {
  stroke: #4c9e4c;
  stroke-width: 1.5px;
  -webkit-transition: fill-opacity .25s ease;
  transition: fill-opacity .25s ease;
  fill: #4c9e4c;
  fill-opacity: 0.1; }
  .leaflet-air-quality-management-areas-pane svg path:hover {
    fill-opacity: 0.25; }

.leaflet-air-quality-focus-areas-pane svg path {
  stroke: #4c9e4c;
  stroke-width: 1px;
  -webkit-transition: fill-opacity .25s ease;
  transition: fill-opacity .25s ease;
  fill: #4c9e4c;
  fill-opacity: 0.2; }
  .leaflet-air-quality-focus-areas-pane svg path:hover {
    fill-opacity: 0.4; }

.leaflet-installed-low-emissions-bus-routes-pane svg path {
  stroke: #B333D2;
  stroke-width: 4px; }

.leaflet-future-low-emissions-bus-routes-pane svg path {
  stroke: #B333D2;
  stroke-width: 4px;
  stroke-dasharray: 10 10; }

.pretty.p-default input:checked ~ .state label:after {
  background-color: currentColor !important; }

.pretty .state label:before {
  border-color: currentColor !important; }

.layer-control .control-content .pretty.p-default input:checked ~ .state label:after {
  background-color: currentColor; }

.layer-control .control-content .range-slider-fill {
  background-color: currentColor; }

#geocode {
  pointer-events: all;
  position: fixed;
  z-index: 30;
  top: 20px;
  right: 20px;
  width: 60%;
  color: #ffffff;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.3em; }
  #geocode label {
    display: none; }
  #geocode .input-group {
    width: 100%; }
    #geocode .input-group #address-search {
      width: 100%;
      height: 40px;
      border: 1px solid #475459;
      box-shadow: none;
      border-radius: 0;
      text-indent: unset !important;
      cursor: unset !important;
      color: #ffffff !important;
      font-size: 14px;
      font-weight: inherit;
      background-color: #1b2021;
      background-repeat: no-repeat;
      background-image: url(../images/icon_search.svg);
      background-size: 20px;
      background-position: right 10px center;
      padding: 10px !important; }
      #geocode .input-group #address-search:focus {
        outline: 1px solid #475459; }
    #geocode .input-group .dropdown-menu {
      padding: 0;
      margin: 0;
      font-size: 14px;
      color: #ffffff;
      text-align: left;
      list-style: none;
      background-color: #323b3f;
      background-clip: padding-box;
      border: none;
      border-radius: 0; }
      #geocode .input-group .dropdown-menu ul {
        list-style-type: none;
        margin: 0;
        padding: 0; }
        #geocode .input-group .dropdown-menu ul li {
          list-style-type: none;
          padding: 5px 15px;
          margin: 0; }
          #geocode .input-group .dropdown-menu ul li:hover {
            background: #475459;
            border: none; }

/* Extra Small Devices, Phones */
@media only screen and (min-width: 576px) {
  #additionalMapControls {
    bottom: 0; }
  #mapPanelOuter {
    visibility: visible;
    -webkit-transform: translateX(420px);
    transform: translateX(420px);
    -webkit-transition: -webkit-transform 0.6s;
    transition: transform 0.6s; }
    #mapPanelOuter #geocode {
      position: fixed;
      z-index: 30;
      top: 150px;
      right: 30px;
      width: 360px; }
      #mapPanelOuter #geocode label {
        display: inline-block; }
      #mapPanelOuter #geocode .input-group #address-search {
        border: none;
        background-color: #323b3f;
        width: 360px; }
    #mapPanelOuter.panelOpen {
      visibility: visible;
      -webkit-transform: translateX(0px);
      transform: translateX(0px);
      -webkit-transition: -webkit-transform 0.6s;
      transition: transform 0.6s; }
    #mapPanelOuter #mapPanel {
      width: 420px;
      top: 0px;
      left: auto;
      right: 0px;
      height: 100%;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
      -webkit-transition: -webkit-transform 0s, visibility 0s 0.6s;
      transition: transform 0s, visibility 0s 0.6s; }
      #mapPanelOuter #mapPanel h2 {
        font-size: 30px; }
      #mapPanelOuter #mapPanel #panelToggle {
        width: 35px;
        margin-top: 0;
        margin-left: -35px; }
        #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn {
          padding: 7px 12px; }
          #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .horizontal {
            display: block; }
          #mapPanelOuter #mapPanel #panelToggle #panelToggleBtn .vertical {
            display: none; }
      #mapPanelOuter #mapPanel .mapPanel_head {
        height: 160px; }
        #mapPanelOuter #mapPanel .mapPanel_head .info {
          display: inline-block; }
      #mapPanelOuter #mapPanel .mapPanel_nav {
        margin-top: 70px;
        height: 70px; }
      #mapPanelOuter #mapPanel .mapPanel_content {
        top: 305px;
        bottom: 80px; }
      #mapPanelOuter #mapPanel .mapPanel_footer {
        display: block;
        position: absolute;
        bottom: 0px;
        width: 100%;
        height: 80px;
        padding: 25px 30px 25px 30px;
        background: #1b2021; }
        #mapPanelOuter #mapPanel .mapPanel_footer #footerLeft {
          width: 50%;
          height: 32px;
          background: url(../images/logo_footer_mayoroflondon.svg) no-repeat left center;
          background-size: contain;
          float: left; }
        #mapPanelOuter #mapPanel .mapPanel_footer #footerRight {
          width: 50%;
          height: 32px;
          background: url(../images/logo_footer_tfl.svg) no-repeat right center;
          background-size: contain;
          float: right; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2xvbmRvbi1nb3Yuc2NzcyIsIl9hcHBUaGVtZUNvbG9ycy5zY3NzIiwiX2dlbmVyYWwuc2NzcyIsIl9sYXllci1zdHlsZXMuc2NzcyIsIl9ib290c3RyYXAtZ2VvY29kZXIuc2NzcyIsIl9yZXNwb25zaXZlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnbG9uZG9uLWdvdic7XG5AaW1wb3J0ICdhcHBUaGVtZUNvbG9ycyc7XG5cbkBpbXBvcnQgJ2dlbmVyYWwnOyBcbkBpbXBvcnQgJ2xheWVyLXN0eWxlcyc7XG5AaW1wb3J0ICdib290c3RyYXAtZ2VvY29kZXIuc2Nzcyc7XG5AaW1wb3J0ICdyZXNwb25zaXZlJztcbiIsIiRmb250LXN0YWNrOiBcIlJvYm90b1wiLCBcIm9wZW4gc2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBsb25kb24gZ292IHN0eWxlc1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbkBtaXhpbiBkcm9wLXNoYWRvdygpIHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCAwcHggMnB4IDFweCAjNTU1KTtcbiAgICAvLyAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coIDBweCAycHggMXB4ICM1NTUpO1xufVxuXG4kbWF5b3JhbENvbnRlbnREZWZhdWx0OiAjOUUwMDU5O1xuJG1heW9yYWxDb250ZW50SG92ZXI6ICMwMDAwMDA7XG4kbWF5b3JhbENvbnRlbnRBY3RpdmU6ICNFRTI2NkQ7XG4kYXNzZW1ibHljb250ZW50RGVmYXVsdDogIzAwNTc3RDtcbiRhc3NlbWJseWNvbnRlbnRIb3ZlcjogIzAwMDAwMDtcbiRhc3NlbWJseWNvbnRlbnRBY3RpdmU6ICMwMEFFRUY7XG4kZ2VuZXJpY2NvbnRlbnREZWZhdWx0OiAjMzUzRDQyO1xuJGdlbmVyaWNjb250ZW50SG92ZXI6ICMwMDAwMDA7XG4kZ2VuZXJpY2NvbnRlbnRBY3RpdmU6ICM4NjhCOEU7XG5cbiRuYXZpZ2F0aW9uVGl0bGVzSWNvbnNEZWZhdWx0OiAjMzUzRDQyO1xuJG5hdmlnYXRpb25UaXRsZXNJY29uc0hvdmVyOiAjMDAwMDAwO1xuJG5hdmlnYXRpb25UaXRsZXNJY29uc0FjdGl2ZTogI0FGQjJCMztcbiRuYXZpZ2F0aW9uQXJyb3dzRGVmYXVsdDogI0Q3RDhEOTtcbiRuYXZpZ2F0aW9uQXJyb3dzSG92ZXI6ICMwMDAwMDA7XG4kbmF2aWdhdGlvbkFycm93c0FjdGl2ZTogI0FGQjJCMztcbiRuYXZpZ2F0aW9uQmFja2dyb3VuZERlZmF1bHQ6ICNGNUY1RjY7XG4kbmF2aWdhdGlvbkJhY2tncm91bmRIb3ZlcjogI0Y1RjVGNjtcbiRuYXZpZ2F0aW9uQmFja2dyb3VuZEFjdGl2ZTogI0Y1RjVGNjtcblxuJGdlbmVyYWxCb2R5Y29weTogIzM1M0Q0MjtcbiRnZW5lcmFsS2V5bGluZXM6ICNFMUUyRTM7XG4kZ2VuZXJhbFdpZGdldHM6ICNGRkZGRkY7XG4kZ2VuZXJhbFNjYWxlZGJhY2tncm91bmQ6ICNGRkZGRkY7XG4kZ2VuZXJhbENvbnRlbnRBcmVhYmFja2dyb3VuZDogI0Y1RjVGNjtcbiRnZW5lcmFsSGVhZGVyRm9vdGVyYmFja2dyb3VuZDogIzM1M0Q0MjtcbiRnZW5lcmFsU3RhdHVzOiAjRUUyNjZEO1xuJGdlbmVyYWxXYXJuaW5nOiAjQkM5MTA5O1xuJGdlbmVyYWxFcnJvcjogI0UwMDAxQjtcblxuJHR3aXR0ZXJMaW5rc0RlZmF1bHQ6ICM1NUFDRUU7XG4kdHdpdHRlckxpbmtzSG92ZXI6ICM0MDgxQjI7XG4kdHdpdHRlckxpbmtzQWN0aXZlOiAjNUNCOEZGO1xuJHlvdXR1YmVMaW5rc0RlZmF1bHQ6ICNFNTJEMjc7XG4keW91dHViZUxpbmtzSG92ZXI6ICNCMzEyMTc7XG4keW91dHViZUxpbmtzQWN0aXZlOiAjQ0QyMDFGO1xuJGZhY2Vib29rTGlua3NEZWZhdWx0OiAjM0I1OTk4O1xuJGZhY2Vib29rTGlua3NIb3ZlcjogIzI4M0I2NjtcbiRmYWNlYm9va0xpbmtzQWN0aXZlOiAjNDY2OEIyO1xuJGdvb2dsZUxpbmtzRGVmYXVsdDogI0RCNDQzNztcbiRnb29nbGVMaW5rc0hvdmVyOiAjQjM0NDM5O1xuJGdvb2dsZUxpbmtzQWN0aXZlOiAjRTA2MDU1O1xuJGluc3RhZ3JhbUxpbmtzRGVmYXVsdDogI0JDMkE4RDtcbiRpbnN0YWdyYW1MaW5rc0hvdmVyOiAjOEIwNzRFO1xuJGluc3RhZ3JhbUxpbmtzQWN0aXZlOiAjQ0M0OUE2O1xuJHdoYXRzYXBwTGlua3NEZWZhdWx0OiAjMjVEMzY2O1xuJHdoYXRzYXBwTGlua3NIb3ZlcjogIzA3NUU1NDtcbiR3aGF0c2FwcExpbmtzQWN0aXZlOiAjMTI4QzdFO1xuIiwiJGNvbG9yLXJvb3QtYmc6ICMxMjE1MTY7XG4kY29sb3ItcG9wdXAtdGV4dDogI2ZmZmZmZjtcbiRjb2xvci1wYW5lbC1iZzogIzFiMjAyMTsgLy8jMjMyNTI2OyAodGhpcyBmb3IgbGVzcyBjb250cmFzdCB3aXRoIGxpZ2h0ZXIgYmFzZW1hcClcbiRjb2xvci1wYW5lbExpZ2h0LWJnOiAjZjVmNWY1O1xuJGNvbG9yLXBhbmVsLWZnOiAjZmZmZmZmO1xuJGNvbG9yLWdyb3Vwc05hdi1vZmY6ICMzMjNiM2Y7XG4kY29sb3ItZ3JvdXBzTmF2LW9uOiAjZmZmO1xuJGNvbG9yLWZvcm0tZmllbGQtYmc6ICMyYTMxMzU7XG4kY29sb3ItZm9ybS1maWVsZC1iZy1oaWdobGlnaHQ6ICMzMjNiM2Y7XG4kY29sb3ItZm9ybS1maWVsZC1iZy1oaWdobGlnaHQtYnJpZ2h0ZXI6ICMzZDQ4NGM7XG4kY29sb3ItZm9ybS1maWVsZC1iZy1oaWdobGlnaHQtYnJpZ2h0ZXN0OiAjNDc1NDU5O1xuJGNvbG9yLWZvcm0tZmllbGQtZmc6ICNmZmZmZmY7XG4kY29sb3ItZm9ybS1maWVsZC1wbGFjZWhvbGRlcjogIzU2NjQ2YjtcblxuJGNvbG9yLWxkbi1ncmV5OiAjMzUzRDQyO1xuJGNvbG9yLWxkbi1ncmV5LWRrOiAjMmEzMTM1O1xuJGNvbG9yLWxkbi1ncmV5LWx0OiAjODY4YjhlO1xuIiwiXG5odG1sLCBib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOjEwMCU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbiAgY29sb3I6ICRnZW5lcmFsQm9keWNvcHk7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1yb290LWJnO1xuICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5jbGVhckZsb2F0IHtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjA7XG4gIHBhZGRpbmc6MDtcbiAgbWFyZ2luOiAwO1xuICBjbGVhcjogYm90aDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAxZW07XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtncmV5O1xuICBvdXRsaW5lOiAxcHggc29saWQgc2xhdGVncmV5O1xufVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyBcbn1cblxuI2luZm9Nb2RhbCB7XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGFuZWxMaWdodC1iZztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbiAgICBcbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1sZG4tZ3JleTtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGFuZWwtZmc7XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgXG4gICAgICAuY2xvc2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcGFuZWwtZmc7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgXG4gICAgfVxuICB9XG59XG5cbiNsZWdlbmRQb3B1cCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OjEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gIGZvbnQtc2l6ZToxMnB4O1xuICBjb2xvcjogJGdlbmVyaWNjb250ZW50RGVmYXVsdDtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbiNhcHAgeyBcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXJvb3QtYmc7XG4gIG92ZXJmbG93OmhpZGRlbjtcbn1cblxuI21hcCB7IFxuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXJvb3QtYmc7XG4gIFxuICAubWFya2VyLWNsdXN0ZXIge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmY7IFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuICAgIH1cbiAgfVxuICBcbiAgLmxlYWZsZXQtcG9wdXAge1xuXG4gICAgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IC01cHggMjJweCAtNXB4IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuXG4gICAgfSBcblxuICAgIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgZm9udDogMjRweC8xNHB4IFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjYzNjM2MzO1xuICAgIH1cblxuICB9XG4gIFxuICAubGVhZmxldC1jb250cm9sLWNvbnRhaW5lciB7XG4gIFxuICAgIC5sZWFmbGV0LWNvbnRyb2wtem9vbSB7XG5cbiAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIFxuICAgICAgJi5sZWFmbGV0LWJhciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5sZWFmbGV0LWJhciBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAmLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGFuZWwtYmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wYW5lbC1iZztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgfVxuXG4gICAgfVxuICAgIFxuICB9XG4gIFxuICBcbn1cblxuI2FkZGl0aW9uYWxNYXBDb250cm9scyB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgYm90dG9tOiA2NyU7XG4gIGxlZnQ6IDIwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG5cbiAgYSB7IFxuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6NDBweDtcbiAgICBoZWlnaHQ6NDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgJGNvbG9yLXBhbmVsLWZnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wYW5lbC1iZztcbiAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgIHBhZGRpbmc6IDdweCAwIDAgOXB4O1xuICB9XG5cbiAgYTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxufVxuXG5cbi5tYWRlQnlDSVUge1xuICBtYXJnaW46IDIwcHggMCAwIDA7XG4gIC5tYWRlQnlMb2dvUm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAubWFkZUJ5TG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNjdweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9nb19jaXUuc3ZnKSBuby1yZXBlYXQgbGVmdCB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gIFxuICAubWFkZUJ5VGV4dFJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDVweCAwIDAgMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICRjb2xvci1sZG4tZ3JleS1sdDtcbiAgfVxufVxuXG4jbWFwUGFuZWxPdXRlciB7XG4gIFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDIwO1xuICBcbiAgXG4gICNtYXBQYW5lbCB7XG4gIFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgd2lkdGg6MTAwJTtcbiAgICB0b3A6IDMzJTtcbiAgICBib3R0b206MHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIGhlaWdodDogYXV0bztcblxuXG4gICAgei1pbmRleDogMjA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXBhbmVsLWJnO1xuICAgIHBhZGRpbmc6IDAgMCA2MHB4IDA7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNnMsIHZpc2liaWxpdHkgMHMgMC42cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgdmlzaWJpbGl0eSAwcyAwLjZzO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cblxuXG4gICAgY29sb3I6ICRjb2xvci1wYW5lbC1mZztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG5cblxuICAgICNwYW5lbFRvZ2dsZSB7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY2xlYXI6Ym90aDtcblxuICAgICAgI3BhbmVsVG9nZ2xlQnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXBhbmVsLWJnO1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIC5ob3Jpem9udGFsIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7IFxuICAgICAgICB9XG5cbiAgICAgICAgLnZlcnRpY2FsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1vcGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWNsb3NlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuXG5cbiAgICB9XG5cblxuICAgIGEsIGE6bGluaywgYTp2aXNpdGVkLCBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46MCAwIDAuMmVtIDA7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uR3JvdXAtNCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMDtcbiAgICAgIC5idXR0b25Hcm91cEl0ZW0geyBcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uR3JvdXAtMyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMDtcbiAgICAgIC5idXR0b25Hcm91cEl0ZW0geyBcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwUGFuZWxfaGVhZCB7XG4gICAgICBtYXJnaW46IDAgMzBweCAwcHggMzBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDA7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvci1wYW5lbC1mZztcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wYW5lbC1iZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBcbiAgICAgIC5pbmZvIHtcbiAgICAgICAgZGlzcGxheTpub25lOyBcbiAgICAgIH1cbiAgICAgIFxuICAgICAgI2luZm9MaW5rSG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuXG4gICAgLm1hcFBhbmVsX25hdiB7XG4gICAgICBtYXJnaW46IDAgMzBweCAxMHB4IDMwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY29sb3ItcGFuZWwtZmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGFuZWwtYmc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgXG4gICAgICAjZ3JvdXBzTmF2IHtcbiAgICAgICAgYSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JvdXBzTmF2LW9mZjtcbiAgICAgICAgfVxuICAgICAgICAgYTpob3ZlciwgYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JvdXBzTmF2LW9uO1xuICAgICAgICB9IFxuICAgICAgICBcbiAgICAgICAgLnNlbGVjdGVkIHtcbiAgICAgICAgIGEsIGE6bGluaywgYTp2aXNpdGVkLCBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1ncm91cHNOYXYtb247XG4gICAgICAgICB9IFxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIFxuICAgICAgXG4gICAgfVxuXG4gICAgLm1hcFBhbmVsX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0b3A6IDE0NXB4O1xuICAgICAgcGFkZGluZzogMCAzMHB4IDAgMzBweDtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIC5wYW5lbFJvdyB7XG4gICAgICAgIHBhZGRpbmc6MCAwIDIwcHggMDtcbiAgICAgIH1cblxuICAgICAgXG4gICAgICAjZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnByZXR0eSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgLmxheWVyLWNvbnRyb2wtZ3JvdXAge1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xuICAgICAgICBcbiAgICAgICAgLmxheWVyR3JvdXBDb250cm9sIHtcbiAgICAgICAgICBtYXJnaW46IDBweCAwcHggN3B4IDBweDsgXG4gICAgICAgIH1cbiAgICAgICAgLmdyb3VwZWQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OjIxcHg7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gLnJhbmdlLXNsaWRlci1ncm91cCB7XG4gICAgICAgICAgLy8gICAucmFuZ2Utc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAxNzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIC8vICAgfVxuICAgICAgICAgIC8vIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAubGF5ZXItY29udHJvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICAgICAgICBcbiAgICAgICAgLmxheWVyLWNvbnRyb2wtaGVhZCB7XG4gICAgICAgICAgbWFyZ2luOiAwcHggMHB4IDJweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb250cm9sLWNvbnRlbnQge1xuICAgICAgICAgIFxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgICAgIFxuICAgICAgICAgIC5zaG9ydERlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcGFuZWwtZmc7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwcHggMTBweCAwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5mYS1pY29uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcHJldHR5IGNoZWNrYm94IGxhYmxlIGNvbG9yXG4gICAgICAgICAgLnByZXR0eSAuc3RhdGUgbGFiZWwgc3Bhbi5sYWJlbFRleHR7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAuY2x1c3Rlci1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMHB4OyAgXG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC5yYW5nZS1zbGlkZXItZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAucmFuZ2Utc2xpZGVyLWxhYmVsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wYW5lbC1mZztcbiAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmFuZ2Utc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLnJhbmdlLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5yYW5nZS1zbGlkZXIta25vYiB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnJhbmdlLXNsaWRlci1yYWlsIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWZvcm0tZmllbGQtYmctaGlnaGxpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAudGlsZUxlZ2VuZENvbnRhaW5lciB7XG4gICAgICAgICAgICBmb250LXNpemU6MTJweDtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXBhbmVsLWZnO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAubGVnZW5kSXRlbSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA2JTsgXG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLmxlZ2VuZEl0ZW1TeW1ib2wge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLmxlZ2VuZEl0ZW1MYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjNweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBcbiAgXG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhbmVsQ29udHJvbHNMZWZ0IHtcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDoxMHB4XG4gICAgfVxuXG4gICAgLnBhbmVsQ29udHJvbHNSaWdodCB7XG4gICAgICB3aWR0aDo1MCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6MTBweFxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZm9ybS1maWVsZC1iZztcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGJ1dHRvbjpmb2N1cyB7b3V0bGluZTowO31cblxuICAgIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZm9ybS1maWVsZC1iZy1oaWdobGlnaHQtYnJpZ2h0ZXI7XG4gICAgfVxuXG5cbiAgICAjc2VsZWN0QXJ0aXN0LCAjc2VsZWN0V29tYW4sICNkZWNsdXN0ZXJCdXR0b24sICNyZXNldE1hcEJ1dHRvbiwgI2Z1bGxXaW5kb3dCdXR0b25Sb3cge1xuICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgfVxuXG4gICAgLm1hcFBhbmVsX2Zvb3RlciB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gIH1cblxuICBcbiAgJi5wYW5lbE9wZW4ge1xuICAgIFxuICAjbWFwUGFuZWwge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzO1xuXG4gICAgI3BhbmVsVG9nZ2xlIHsgXG5cbiAgICAgICNwYW5lbFRvZ2dsZUJ0biB7XG4gICAgICAgIC5pY29uLW9wZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1jbG9zZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuICBcbiAgXG59XG5cblxuICBcblxuIiwiLy8gZ2VuZXJhbCBjb2xvdXJzIHRvIGJlIHJlcGxhY2VkIGJ5IGhpZ2hlciBsZXZlbCBsYXRlclxuJGxheWVyQ29udHJvbFRleHRDb2xvdXI6ICNmZmY7XG5cbi8vIHNldHRpbmcgbGF5ZXIgY29sb3VycyB0aGF0IGNvcnJlc3BvbmQgdG8gbGF5ZXIgbmFtZXMgaW4gYXBwLmRhdGEgLS0tLS0tLS0tLS0tXG4kY29sb3ItYmFzZW1hcC1saWdodDogI0VDRUNFRDtcbiRjb2xvci1iYXNlbWFwLWRhcms6ICMxMjE2MTY7XG4kY29sb3ItYWlyLXF1YWxpdHktZ2VuZXJhbDogIzRjOWU0YztcbiRjb2xvci1nb29nbGUtYXFtczogI0U2NzEwMDtcbiRjb2xvci1yYXBpZC1jaGFyZ2luZzogI0M4QzcyRDtcbiRjb2xvci1zY2hvb2xzLWF1ZGl0ZWQ6ICNGRjU3OUY7XG4kY29sb3ItbnVyc2VyaWVzLWF1ZGl0ZWQ6ICNGRjhEQzk7XG4kY29sb3Itc2Nob29scy1leGNlZWRpbmc6ICNDODA4MTA7XG4kY29sb3ItaG9zcGl0YWxzLWV4Y2VlZGluZzogI0ZGNTI1MjtcbiRjb2xvci1sb3ctZW1pc3Npb25zLXpvbmVzLWdlbmVyYWw6ICMxQ0E0RUI7XG4kY29sb3ItZ29vZ2xlLWNhci1nZW5lcmFsOiAjRTY3MTAwO1xuJGNvbG9yLWxvdy1lbWlzc2lvbnMtYnVzOiAjQjMzM0QyO1xuJGNvbG9yLWxvbmRvbi1ib3VuZGFyaWVzOiAjNmU3NDc3O1xuJGNvbG9yLWFxZGF0YS1nZW5lcmFsOiAjZmNkMzA4O1xuJGNvbG9yLWFxZGF0YS1ubzI6ICNmY2QzMDg7XG4kY29sb3ItYXFkYXRhLXBtMjU6ICNlYTVjM2U7XG4kY29sb3ItYXFkYXRhLXBtMTA6ICMwZjhjZTg7XG5cblxuLy8gYXBwbHlpbmcgY29sb3VycyB0byBsYXllciBlbGVtZW50cyAtLS0tLS0tLS0tLS0tLS0tXG4uYmFzZW1hcHMsXG4uYmFzZW1hcC1saWdodCB7IFxuICBjb2xvcjogJGNvbG9yLWJhc2VtYXAtbGlnaHQ7XG59XG4uYmFzZW1hcC1kYXJrIHtcbiAgY29sb3I6ICRjb2xvci1iYXNlbWFwLWRhcms7XG59XG4uYm9yb3VnaHMsXG4ud2FyZHMge1xuICBjb2xvcjogJGNvbG9yLWxvbmRvbi1ib3VuZGFyaWVzO1xufVxuLmFpci1xdWFsaXR5LW1vbml0b3Jpbmctc2l0ZXMsXG4uYWlyLXF1YWxpdHktbWFuYWdlbWVudC1hcmVhcyxcbi5haXItcXVhbGl0eS1mb2N1cy1hcmVhcyB7XG4gIGNvbG9yOiAkY29sb3ItYWlyLXF1YWxpdHktZ2VuZXJhbDtcbn1cbi5icmVhdGhlLWxkbi1haXItcXVhbGl0eS1tb25pdG9yaW5nLXNpdGVzIHtcbiAgY29sb3I6ICRjb2xvci1nb29nbGUtYXFtcztcbn1cblxuLmNpdHktYWlycG9ydC1haXItcXVhbGl0eS1tb25pdG9yaW5nLXNpdGVze1xuICBjb2xvcjogJGNvbG9yLWxvdy1lbWlzc2lvbnMtYnVzO1xufVxuXG4ucmFwaWQtY2hhcmdpbmcge1xuICBjb2xvcjogJGNvbG9yLXJhcGlkLWNoYXJnaW5nO1xufVxuLnNjaG9vbHMtYXVkaXRlZCB7XG4gIGNvbG9yOiAkY29sb3Itc2Nob29scy1hdWRpdGVkO1xufVxuLm51cnNlcmllcy1hdWRpdGVkIHtcbiAgY29sb3I6ICRjb2xvci1udXJzZXJpZXMtYXVkaXRlZDtcbn1cbi5zY2hvb2xzLWV4Y2VlZGluZyB7XG4gIGNvbG9yOiAkY29sb3Itc2Nob29scy1leGNlZWRpbmc7XG59XG4uaG9zcGl0YWxzLWV4Y2VlZGluZyB7XG4gIGNvbG9yOiAkY29sb3ItaG9zcGl0YWxzLWV4Y2VlZGluZztcbn1cbi5ob3NwaXRhbHMtZXhjZWVkaW5nIHtcbiAgY29sb3I6ICRjb2xvci1ob3NwaXRhbHMtZXhjZWVkaW5nO1xufVxuXG4ubG93LWVtaXNzaW9ucy16b25lcyxcbi5sb3ctZW1pc3Npb25zLXpvbmUsXG4udWx0cmEtbG93LWVtaXNzaW9ucy16b25lLFxuLmhhY2tuZXktY2l0eS1mcmluZ2UsXG4udWx0cmEtbG93LWVtaXNzaW9ucy16b25lLWV4cGFuc2lvbixcbi5sb3ctZW1pc3Npb25zLW5laWdoYm91cmhvb2RzLFxuLnVsdHJhLWxvdy1lbWlzc2lvbnMtem9uZS1sb25kb24td2lkZSxcbi5jb25nZXN0aW9uLWNoYXJnaW5nLXpvbmUge1xuICBjb2xvcjogJGNvbG9yLWxvdy1lbWlzc2lvbnMtem9uZXMtZ2VuZXJhbDtcbn1cblxuLmdvb2dsZS1jYXItYXJlYXMge1xuICBjb2xvcjogJGNvbG9yLWdvb2dsZS1jYXItZ2VuZXJhbDtcbn1cbi5nb29nbGUtY2FyLXRyYW5zZWN0cyB7XG4gIGNvbG9yOiAkY29sb3ItZ29vZ2xlLWNhci1nZW5lcmFsO1xufVxuXG4ubG93LWVtaXNzaW9ucy1idXMtcm91dGVzLFxuLmluc3RhbGxlZC1sb3ctZW1pc3Npb25zLWJ1cy1yb3V0ZXMsXG4uZnV0dXJlLWxvdy1lbWlzc2lvbnMtYnVzLXJvdXRlcyB7XG4gIGNvbG9yOiAkY29sb3ItbG93LWVtaXNzaW9ucy1idXM7XG59XG5cblxuLmN1cnJlbnRfYWlyX3F1YWxpdHksXG4uZnV0dXJlX2Fpcl9xdWFsaXR5IHtcbiAgY29sb3I6ICRjb2xvci1hcWRhdGEtZ2VuZXJhbDtcbn1cblxuLmFxbm8yLFxuLmZ1dHVyZV9hcW5vMiB7XG4gIGNvbG9yOiAkY29sb3ItYXFkYXRhLW5vMjtcbn1cblxuLmFxcG0yNSxcbi5mdXR1cmVfYXFwbTI1IHtcbiAgY29sb3I6ICRjb2xvci1hcWRhdGEtcG0yNTtcbn1cblxuLmFxcG0xMCxcbi5mdXR1cmVfYXFwbTEwIHtcbiAgY29sb3I6ICRjb2xvci1hcWRhdGEtcG0xMDtcbn1cblxuXG4vLyBsZWFmbGV0IHBhbmUgc3ZnIHBhdGggc3R5bGluZ1xuLmxlYWZsZXQtYmFzZW1hcC1kYXJrLXBhbmUge1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGNvbnRyYXN0KDAuOCkgYnJpZ2h0bmVzcygwLjkpO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBjb250cmFzdCgwLjgpIGJyaWdodG5lc3MoMC45KTsgXG59XG4ubGVhZmxldC1ib3JvdWdocy1wYW5lIHN2ZyBwYXRoLFxuLmxlYWZsZXQtd2FyZHMtcGFuZSBzdmcgcGF0aCB7XG4gIHN0cm9rZTogJGNvbG9yLWxvbmRvbi1ib3VuZGFyaWVzO1xuICBzdHJva2Utd2lkdGg6IDJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICBmaWxsOiAkY29sb3ItbG9uZG9uLWJvdW5kYXJpZXM7XG4gIGZpbGwtb3BhY2l0eTogMDtcbiAgJjpob3ZlciB7XG4gICAgZmlsbC1vcGFjaXR5OiAwLjE1O1xuICB9XG59XG4ubGVhZmxldC1sb3ctZW1pc3Npb25zLXpvbmUtcGFuZSBzdmcgcGF0aCxcbi5sZWFmbGV0LXVsdHJhLWxvdy1lbWlzc2lvbnMtem9uZS1wYW5lIHN2ZyBwYXRoLFxuLmxlYWZsZXQtdWx0cmEtbG93LWVtaXNzaW9ucy16b25lLWV4cGFuc2lvbi1wYW5lIHN2ZyBwYXRoLFxuLmxlYWZsZXQtaGFja25leS1jaXR5LWZyaW5nZS1wYW5lIHN2ZyBwYXRoLFxuLmxlYWZsZXQtdWx0cmEtbG93LWVtaXNzaW9ucy16b25lLWxvbmRvbi13aWRlLXBhbmUgc3ZnIHBhdGgsXG4ubGVhZmxldC1jb25nZXN0aW9uLWNoYXJnaW5nLXpvbmUgc3ZnIHBhdGgge1xuICBzdHJva2U6ICRjb2xvci1sb3ctZW1pc3Npb25zLXpvbmVzLWdlbmVyYWw7XG4gIHN0cm9rZS13aWR0aDogMnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGZpbGwtb3BhY2l0eSAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogZmlsbC1vcGFjaXR5IC40cyBlYXNlO1xuICBmaWxsOiAkY29sb3ItbG93LWVtaXNzaW9ucy16b25lcy1nZW5lcmFsO1xuICBmaWxsLW9wYWNpdHk6IDA7XG4gICY6aG92ZXIge1xuICAgIGZpbGwtb3BhY2l0eTogMC4xO1xuICB9XG59XG4ubGVhZmxldC11bHRyYS1sb3ctZW1pc3Npb25zLXpvbmUtZXhwYW5zaW9uLXBhbmUgc3ZnIHBhdGgge1xuICBzdHJva2UtZGFzaGFycmF5OiAyIDU7XG59XG4ubGVhZmxldC1sb3ctZW1pc3Npb25zLW5laWdoYm91cmhvb2RzLXBhbmUgc3ZnIHBhdGgge1xuICBzdHJva2U6ICRjb2xvci1sb3ctZW1pc3Npb25zLXpvbmVzLWdlbmVyYWw7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGZpbGwtb3BhY2l0eSAuMjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IGZpbGwtb3BhY2l0eSAuMjVzIGVhc2U7XG4gIGZpbGw6ICAkY29sb3ItbG93LWVtaXNzaW9ucy16b25lcy1nZW5lcmFsO1xuICBmaWxsLW9wYWNpdHk6IDAuMztcbiAgJjpob3ZlciB7XG4gICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gIH1cbiAgXG59XG5cbi5sZWFmbGV0LWdvb2dsZS1jYXItdHJhbnNlY3RzLXBhbmUgc3ZnIHBhdGgge1xuICBzdHJva2U6ICRjb2xvci1nb29nbGUtY2FyLWdlbmVyYWw7XG4gIHN0cm9rZS13aWR0aDogNHB4O1xuICBzdHJva2UtZGFzaGFycmF5OiAxMCAxMDtcbn1cblxuLmxlYWZsZXQtZ29vZ2xlLWNhci1hcmVhcy1wYW5lIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlOiAkY29sb3ItZ29vZ2xlLWNhci1nZW5lcmFsO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICBmaWxsOiAkY29sb3ItZ29vZ2xlLWNhci1nZW5lcmFsO1xuICBmaWxsLW9wYWNpdHk6IDAuMjU7XG4gICY6aG92ZXIge1xuICAgIGZpbGwtb3BhY2l0eTogMC40NTtcbiAgfVxuICBcbn1cblxuLmxlYWZsZXQtYWlyLXF1YWxpdHktbWFuYWdlbWVudC1hcmVhcy1wYW5lIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlOiAkY29sb3ItYWlyLXF1YWxpdHktZ2VuZXJhbDtcbiAgc3Ryb2tlLXdpZHRoOiAxLjVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgLjI1cyBlYXNlO1xuICBmaWxsOiAkY29sb3ItYWlyLXF1YWxpdHktZ2VuZXJhbDtcbiAgZmlsbC1vcGFjaXR5OiAwLjE7XG4gICY6aG92ZXIge1xuICAgIGZpbGwtb3BhY2l0eTogMC4yNTtcbiAgfVxufVxuXG4ubGVhZmxldC1haXItcXVhbGl0eS1mb2N1cy1hcmVhcy1wYW5lIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlOiAkY29sb3ItYWlyLXF1YWxpdHktZ2VuZXJhbDtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbC1vcGFjaXR5IC4yNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogZmlsbC1vcGFjaXR5IC4yNXMgZWFzZTtcbiAgZmlsbDogICRjb2xvci1haXItcXVhbGl0eS1nZW5lcmFsO1xuICBmaWxsLW9wYWNpdHk6IDAuMjtcbiAgJjpob3ZlciB7XG4gICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuLmxlYWZsZXQtaW5zdGFsbGVkLWxvdy1lbWlzc2lvbnMtYnVzLXJvdXRlcy1wYW5lIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlOiAkY29sb3ItbG93LWVtaXNzaW9ucy1idXM7XG4gIHN0cm9rZS13aWR0aDogNHB4O1xufVxuXG4ubGVhZmxldC1mdXR1cmUtbG93LWVtaXNzaW9ucy1idXMtcm91dGVzLXBhbmUgc3ZnIHBhdGgge1xuICBzdHJva2U6ICRjb2xvci1sb3ctZW1pc3Npb25zLWJ1cztcbiAgc3Ryb2tlLXdpZHRoOiA0cHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDEwIDEwO1xufVxuXG5cblxuXG5cblxuXG5cbi8vIGJlZm9yZSBjaGVja2JveCBnZXRzIGFkZGVkIHRvIGxheWVyLWNvbnRyb2wsIG92ZXJ3cml0ZSBwLWRlZmF1bHQgc3R5bGluZyB0byBjdXJyZW50Q29sb3VyXG4vLyB0aGlzIHRoZW4gZ2V0cyBpbmhlcml0ZWQgYnkgY2hlY2tib3ggd2l0aGluIGxheWVyLWNvbnRyb2xcbi5wcmV0dHkucC1kZWZhdWx0IGlucHV0OmNoZWNrZWR+LnN0YXRlIGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5wcmV0dHkgLnN0YXRlIGxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG59XG5cblxuLmxheWVyLWNvbnRyb2wge1xuICBcbiAgXG4gIFxuICAuY29udHJvbC1jb250ZW50IHtcblxuICAgIC8vIHByZXR0eSBjaGVja2JveCBjaGVja2VkIGNvbG9yIFxuICAgIC8vIE5PVEUhIFVzaW5nIFwiY3VycmVudENvbG9yXCIgLSBCZSBhd2FyZSBvZiBub3QgY2huYWdpbmcgdGhlIHBhcmVudHMgY29sb3VyIGZyb20gdGhlIGxheWVyIHRoZW0gY29sb3VyXG4gICAgLnByZXR0eS5wLWRlZmF1bHQgaW5wdXQ6Y2hlY2tlZH4uc3RhdGUgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH0gIFxuXG4gICAgLnJhbmdlLXNsaWRlci1maWxsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgfVxuICBcbn0iLCIjZ2VvY29kZSB7XG4gIFxuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDMwO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogNjAlO1xuXG4gIGNvbG9yOiAkY29sb3ItcGFuZWwtZmc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIFxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgI2FkZHJlc3Mtc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1mb3JtLWZpZWxkLWJnLWhpZ2hsaWdodC1icmlnaHRlc3Q7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRleHQtaW5kZW50OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgY3Vyc29yOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvci1wYW5lbC1mZyAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGFuZWwtYmc7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3NlYXJjaC5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGNvbG9yLWZvcm0tZmllbGQtYmctaGlnaGxpZ2h0LWJyaWdodGVzdDsgXG4gICAgICB9XG5cbiAgICB9XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGFuZWwtZmc7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1mb3JtLWZpZWxkLWJnLWhpZ2hsaWdodDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIFxuICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZm9ybS1maWVsZC1iZy1oaWdobGlnaHQtYnJpZ2h0ZXN0O1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuXG4gICAgICBcbiAgICB9XG5cbiAgfVxuICBcbiAgLy8gLmdlb2NvZGVyLWNvbnRyb2wtc2VsZWN0ZWR7XG4gIC8vICAgYmFja2dyb3VuZDogIzdGREZGRjtcbiAgLy8gICBib3JkZXItY29sb3I6ICM3RkRGRkY7XG4gIC8vIH1cbiAgXG4gIFxuICBcbn0iLCJcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gZ2VuZXJhbCByZXNwb25zaXZlIHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0gb3ZlcnJpZGluZyBcIm1vYmlsZSBmaXJzdFwiIGxheW91dCB0byBcImRlc2t0b3BcIiBcblxuLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA1NzZweCkge1xuIFxuICBcbiAgI2FkZGl0aW9uYWxNYXBDb250cm9scyB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gICAgXG4gIFxuICAjbWFwUGFuZWxPdXRlciB7XG4gICAgXG4gICAgLy8gbWFwIHBhbmVsIG91dGVyIHBvc2l0b25pbmdcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDIwcHgpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcbiAgICBcbiAgICBcbiAgICBcbiAgICAjZ2VvY29kZSB7XG5cbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgdG9wOiAxNTBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDM2MHB4O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICBcbiAgICAgICAgI2FkZHJlc3Mtc2VhcmNoIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWZvcm0tZmllbGQtYmctaGlnaGxpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAzNjBweDsgLy8gcGFuZWwgKDQyMCkgLSByaWdodCBtYXJnaW4oMzApICsgbGVmdCBtYXJnaW4oMykgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYucGFuZWxPcGVuIHtcbiAgICAgIFxuICAgICAgLy8gbWFwIHBhbmVsIG91dGVyIHBvc2l0b25pbmdcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNnM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcbiAgXG4gICAgfVxuXG5cbiAgICAjbWFwUGFuZWwge1xuXG4gICAgICB3aWR0aDo0MjBweDtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDBzLCB2aXNpYmlsaXR5IDBzIDAuNnM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMsIHZpc2liaWxpdHkgMHMgMC42cztcbiAgICAgIFxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgICNwYW5lbFRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG5cbiAgICAgICAgI3BhbmVsVG9nZ2xlQnRuIHtcbiAgICAgICAgICBcbiAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcblxuICAgICAgICAgIC5ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7IFxuICAgICAgICAgIH1cblxuICAgICAgICAgIC52ZXJ0aWNhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBcbiAgICAgIC5tYXBQYW5lbF9oZWFkIHtcbiAgICAgICAgaGVpZ2h0OiAxNjBweDtcblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5tYXBQYW5lbF9uYXYge1xuICAgICAgICBtYXJnaW4tdG9wOjcwcHg7IC8vIGFsbG93IGZvciBzZWFyY2ggYm94XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIH1cblxuICAgICAgLm1hcFBhbmVsX2NvbnRlbnQge1xuICAgICAgICB0b3A6IDMwNXB4O1xuICAgICAgICBib3R0b206IDgwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5tYXBQYW5lbF9mb290ZXIge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDMwcHggMjVweCAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGFuZWwtYmc7XG5cbiAgICAgICAgI2Zvb3RlckxlZnQge1xuICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICBoZWlnaHQ6MzJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xvZ29fZm9vdGVyX21heW9yb2Zsb25kb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgI2Zvb3RlclJpZ2h0IHtcbiAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgaGVpZ2h0OjMycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2dvX2Zvb3Rlcl90Zmwuc3ZnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgfVxuXG4gICAgICB9ICAgICAgXG5cbiAgICB9XG4gIH1cblxufSAvLyBlbmQgbXFcblxuXG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUdDQSxBQUFBLElBQUksRUFBRSxJQUFJLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUMsSUFBSTtFQUNWLFdBQVcsRUZOQSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxL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 */
