/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-edit-property-mapping {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources {
  min-width: 25rem;
  max-width: 35rem;
  width: 100%;
  border-right: 1px solid rgba(0, 0, 0, 0.13);
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type {
  display: flex;
  padding: 0;
  margin: 0;
  height: 50px;
  min-height: 50px;
  max-height: 50px;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active {
  border-bottom: 1.5px solid transparent !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button {
  margin: 0;
  border-radius: 0;
  border: 0 !important;
  display: flex;
  cursor: pointer;
  justify-content: space-evenly;
  font-weight: 600;
  text-transform: uppercase;
  padding: 1rem;
  width: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.active {
  box-shadow: none  !important;
  border: 0;
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive {
  box-shadow: none !important;
  border: 0;
  border-bottom: 1.5px solid rgba(0, 0, 0, 0.13) !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__golden-record-properties {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: calc(100% - 25rem);
}
#shape-property-list {
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
#shape-property-list #local-collection__header {
  height: 50px;
  min-height: 50px;
  max-height: 50px;
  width: 100%;
  padding: 0.5rem 0.5rem 0 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #FFFFFF;
  top: 0;
  box-shadow: 0px 1px 1px 0px #d0d0d04d;
}
#shape-property-list #shape-property-list__properties {
  padding: 0rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}
#shape-property-list #shape-property-list__properties #local-collection {
  width: 100%;
  height: auto;
}
#shape-property-list #shape-property-list__properties #local-collection #shape-property-mapping-item {
  width: auto;
}
#shape-property-list #shape-property-list__properties #local-collection #local-collection__body {
  padding-bottom: 5rem;
}
#shape-property-list #shape-property-list__properties #local-collection #local-collection__header {
  position: -webkit-sticky;
  position: sticky;
  padding: 0px;
  z-index: 11;
  right: 1rem;
}
#shape-property-list #shape-property-list__properties #local-collection #local-collection__header #local-collection__header-middle {
  max-width: 20rem;
}
#shape-property-list #shape-property-list__properties #local-collection #collection {
  padding-top: 2rem;
  overflow-y: scroll;
  overflow-x: hidden;
}
#shape-property-list #shape-property-list__properties #local-collection #collection #collection__property-filters {
  display: none;
}
#shape-property-list #ellipsis-menu {
  padding: 0px;
  position: absolute;
  right: 5px;
  top: 5px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#shape-property-mapping-item {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  background-color: white;
  border-radius: 8px;
  padding: 10px;
  position: relative;
  box-shadow: 0px 1px 1px 0px #d0d0d0;
  max-width: 70rem;
  width: 100%;
  border: 1px solid transparent;
}
#shape-property-mapping-itemhover {
  border: 1px solid #0b9bdc;
}
#shape-property-mapping-item.active {
  background-color: #0b9bdc;
  color: #FFFFFF;
}
#shape-property-mapping-item.active-drop {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  -webkit-animation-name: shape-property-mapping-item__activedrop;
          animation-name: shape-property-mapping-item__activedrop;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
}
#shape-property-mapping-item.no-mappings {
  border: 1px dashed rgba(0, 0, 0, 0.13);
}
#shape-property-mapping-item #shape-property-mapping-item__mappings {
  width: 100%;
  display: flex;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__input {
  padding-top: 0.25rem;
  width: 50%;
  display: flex;
  flex-direction: column;
  margin-left: 0;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__input #shape-property-mapping-item__schema-properties {
  display: flex;
  flex-wrap: wrap;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__input #shape-property-mapping-item__schema-properties #schema-property-mention {
  margin: 0.25rem;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__output {
  padding-top: 0.25rem;
  width: 50%;
  display: flex;
  flex-direction: column;
  margin-left: auto;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__output #shape-property-mapping-item__schema-properties {
  display: flex;
  flex-wrap: wrap;
}
#shape-property-mapping-item #shape-property-mapping-item__mappings #shape-property-mapping-item__output #shape-property-mapping-item__schema-properties #schema-property-mention {
  margin: 0.25rem;
}
#shape-property-mapping-item #shape-property-mapping-item__source-type {
  font-size: 8px;
  text-transform: uppercase;
  font-weight: 600;
}
#shape-property-mapping-item .shape-property-name {
  font-size: 14px;
  font-weight: 600;
  display: block;
}
#shape-property-mapping-item.active:after {
  content: "";
  position: absolute;
  right: -20px;
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-left: 26px solid #0b9bdc;
  border-bottom: 18px solid transparent;
}
@-webkit-keyframes shape-property-mapping-item__activedrop {
  0% {
    border: 1px solid transparent;
  }
  60% {
    border: 1px solid #0b9bdc;
    background: rgba(11, 155, 220, 0.05);
  }
  100% {
    border: 1px solid transparent;
  }
}
@keyframes shape-property-mapping-item__activedrop {
  0% {
    border: 1px solid transparent;
  }
  60% {
    border: 1px solid #0b9bdc;
    background: rgba(11, 155, 220, 0.05);
  }
  100% {
    border: 1px solid transparent;
  }
}
#shape-property-mapping-item #shape-property-mapping-item.active-dragging:not(.active-drop) {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  -webkit-animation-name: shape-property-mapping-item__activedrop;
          animation-name: shape-property-mapping-item__activedrop;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
#shape-property-mapping-item-left {
  flex-grow: 1;
}
#shape-property-mapping-item-right {
  width: 60px;
  margin-left: 1rem;
}
#shape-property-mapping-item .header {
  margin: 0px !important;
}
#shape-property-mapping-item .menu .text {
  float: right;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#new-property-target #shape-property-mapping-item {
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  position: relative;
  height: 30px;
  border-width: 1px;
  display: flex;
  padding: 3px;
}
#new-property-target #shape-property-mapping-item .new-property-target__content {
  -webkit-transition: opacity 300ms ease-in;
  transition: opacity 300ms ease-in;
  align-items: center;
  flex-direction: column;
  font-size: 12px;
  color: #0F9BDC;
  position: absolute;
  top: 5px;
  left: 5px;
}
#new-property-target #shape-property-mapping-item.inactive-drag {
  height: 0px;
  border-width: 0px;
  padding: 0px;
}
#new-property-target #shape-property-mapping-item.inactive-drag .new-property-target__content {
  opacity: 0;
  -webkit-transition: opacity 100ms linear;
  transition: opacity 100ms linear;
}
#new-property-target #shape-property-mapping-item.active-drag .new-property-target__content {
  -webkit-transition: opacity 300ms ease-in;
  transition: opacity 300ms ease-in;
  opacity: 1;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#property-card {
  padding: 0.25rem;
  margin-left: 2px;
  margin-right: 2px;
  margin-top: 2px;
  margin-bottom: 2px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px;
  opacity: 0.999;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  font-weight: 600;
  font-size: 9pt;
  border-width: 1px;
  border-style: dashed;
}
#property-card.mapped {
  border-color: transparent;
}
#property-card.unmapped {
  background: transparent;
  border-width: 1px;
  border-style: dashed;
}
#property-card.unmapped:hover {
  cursor: -webkit-grab;
  cursor: grab;
  background: #FFFFFF;
  box-shadow: 0px 0px 5px 0px #d0d0d0;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-edit-property-mapping {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources {
  min-width: 25rem;
  max-width: 35rem;
  width: 100%;
  border-right: 1px solid rgba(0, 0, 0, 0.13);
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type {
  display: flex;
  padding: 0;
  margin: 0;
  height: 50px;
  min-height: 50px;
  max-height: 50px;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active {
  border-bottom: 1.5px solid transparent !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button {
  margin: 0;
  border-radius: 0;
  border: 0 !important;
  display: flex;
  cursor: pointer;
  justify-content: space-evenly;
  font-weight: 600;
  text-transform: uppercase;
  padding: 1rem;
  width: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.active {
  box-shadow: none  !important;
  border: 0;
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive {
  box-shadow: none !important;
  border: 0;
  border-bottom: 1.5px solid rgba(0, 0, 0, 0.13) !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__golden-record-properties {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: calc(100% - 25rem);
}
#mapping-source-list {
  width: 100%;
  height: calc(100% - 50px);
  overflow: auto;
  padding-bottom: 5rem;
}
#mapping-source-list #mapping-source-list__header {
  padding: 1rem;
  display: flex;
  justify-content: space-evenly;
  border-bottom: 1px solid rgba(0, 0, 0, 0.13);
}
#mapping-source-list #mapping-source-list__source {
  width: 100%;
  position: relative;
  padding-left: 2rem;
  display: flex;
  justify-content: space-between;
}
#mapping-source-list #mapping-source-list__source #mapping-source-list__source-color {
  width: 0.45rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
}
#mapping-source-list #mapping-source-list__source #mapping-source-list__warning-icon {
  margin: 20px;
}
#mapping-source-list #mapping-source-list__schemas {
  border-top: 1px solid rgba(0, 0, 0, 0.13);
  border-bottom: 1px solid rgba(0, 0, 0, 0.13);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  max-width: 100%;
  padding: 0.75rem;
}
#mapping-source-list #routed-accordion__menu i:hover {
  color: #0b9bdc;
}
#mapping-source-list .routed-accordion .title {
  padding: 0;
  position: relative;
}
#mapping-source-list .routed-accordion .title .caret {
  position: absolute;
  left: 1rem;
}


/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-edit-property-mapping {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources {
  min-width: 25rem;
  max-width: 35rem;
  width: 100%;
  border-right: 1px solid rgba(0, 0, 0, 0.13);
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type {
  display: flex;
  padding: 0;
  margin: 0;
  height: 50px;
  min-height: 50px;
  max-height: 50px;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active {
  border-bottom: 1.5px solid transparent !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type:hover button.active:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button {
  margin: 0;
  border-radius: 0;
  border: 0 !important;
  display: flex;
  cursor: pointer;
  justify-content: space-evenly;
  font-weight: 600;
  text-transform: uppercase;
  padding: 1rem;
  width: 100%;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.active {
  box-shadow: none  !important;
  border: 0;
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive {
  box-shadow: none !important;
  border: 0;
  border-bottom: 1.5px solid rgba(0, 0, 0, 0.13) !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__sources #assemble-edit-property-mapping__switch-source-type > button.inactive:hover {
  border-bottom: 1.5px solid #0b9bdc !important;
}
#assemble-edit-property-mapping #assemble-edit-property-mapping__golden-record-properties {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: calc(100% - 25rem);
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-merging {
  padding: 0;
  display: flex;
  flex-direction: row;
  flex: 1 1 100%;
}
#assemble-merging .assemble-merging__left {
  width: 40%;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  overflow: auto;
}
#assemble-merging .assemble-merging__right {
  width: 60%;
  border-left: 1px solid rgba(15, 45, 76, 0.13);
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  overflow: auto;
}
#assemble-merging #header-footer-panel {
  flex: 1 1;
}
#assemble-merging #header-footer-panel-header {
  background-color: #FFFFFF;
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
  box-sizing: border-box;
  flex: 0 0 50px;
}
#assemble-merging #header-footer-panel-header .menu {
  width: 100%;
}
#assemble-merging #header-footer-panel-header .header {
  font-size: 12px;
  padding: 0px;
  margin: 0;
  margin-left: 20px;
}
#assemble-merging #header-with-action__header {
  display: flex;
  flex-direction: row;
  align-items: center;
}
#assemble-merging #assemble-merging__rules-actions {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  align-items: center;
}
#assemble-merging #assemble-merging__rules-actions > * {
  margin: 0rem 1rem 0rem 1rem;
}
#assemble-merging #assemble-merging__rules-actions #assemble-merging__advanced-button {
  display: flex;
  flex-direction: row;
  align-content: center;
  align-self: center;
}
#assemble-merging #assemble-merging__rules-actions #assemble-merging__advanced-button #caret {
  margin-left: 8px;
  position: relative;
  top: 3px;
}
#assemble-merging #assemble-merging__rules-actions #assemble-merging__new-button {
  display: flex;
  flex-direction: row;
  align-content: center;
  align-self: center;
  margin-left: 20px;
  margin-right: 10px;
}
#assemble-merging #assemble-merging__right {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-items: flex-start;
}
#assemble-merging #assemble-merging__right #prerequisites {
  flex: 0 1;
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
}
#assemble-merging #assemble-merging__right #prerequisites .ui.table {
  margin: 0px;
  border: 0px;
}
#assemble-merging #assemble-merging__right #assemble-merging__merge-rules {
  flex: 1 0;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 75vh;
}
#assemble-merging #assemble-merging__right #assemble-merging__merge-rules > #merge-rules > #issue-wrapper:not(.has-issue) .children-wrapper {
  border: 1px solid rgba(15, 45, 76, 0.13);
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#merge-rules {
  background-color: #F4F8FC;
  display: flex;
  flex-direction: column;
  height: 100%;
}
#merge-rules > div {
  margin: 10px;
}
#merge-rules .sub.header {
  max-width: 600px;
  text-align: center;
  margin: 0px 20px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.merge-rule-container {
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(15, 45, 76, 0.13);
  display: flex;
  flex-direction: column;
}
.merge-rule-container:hover {
  z-index: 4;
}
.error.merge-rule-container #header-with-action {
  background-color: #FF4850;
}
.merge-rule-container.active #header-with-action {
  background-color: #2E5275;
  color: #FFFFFF;
}
.merge-rule-container #header-with-action {
  background-color: #2E5275;
  color: #FFFFFF;
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
  cursor: pointer;
}
.error.merge-rule-container #header-with-action {
  background-color: #FF4850;
}
.merge-rule-container #header-with-action .header {
  padding: 5px;
  color: #FFFFFF;
  display: flex;
  flex-direction: row;
  font-size: 12px;
  font-weight: bold;
  align-items: center;
  line-height: 2em;
}
.merge-rule-container #header-with-action .header .caret {
  margin: 5px 10px 5px 5px;
}
.merge-rule-container #header-with-action #header-with-action__action i.icon {
  margin-top: -4px;
  margin-right: 5px;
}
.merge-rule-container .merge-rule-container__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.merge-rule-container #merge-rule-container__strategies {
  background-color: #FFFFFF;
}
.merge-rule-container .merge-rule-container__add {
  border-top: 1px solid rgba(15, 45, 76, 0.13);
  padding: 10px;
}
.merge-rule-container .merge-rule-container__add .button {
  width: 100%;
  text-align: center;
}
.merge-rule-container .merge-rule-container__properties {
  border-top: 1px solid rgba(15, 45, 76, 0.13);
  background-color: #FFFFFF;
  padding: 0px 0px 0px 0px;
  border-top-left-radius: 0px !important;
  border-top-right-radius: 0px !important;
  border-bottom-left-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  display: flex;
  flex-direction: column;
}
.merge-rule-container .merge-rule-container__properties .merge-rule-container__properties-header {
  align-self: stretch;
  background-color: #CCE0F3;
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 5px;
  -webkit-transition: border-bottom-left-radius 300ms, border-bottom-right-radius 300ms;
  transition: border-bottom-left-radius 300ms, border-bottom-right-radius 300ms;
  font-size: 12px;
}
.merge-rule-container .merge-rule-container__properties .merge-rule-container__properties-header.active {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
.merge-rule-container .merge-rule-container__properties .merge-rule-container__properties-header .caret {
  margin: 5px 10px 5px 5px;
}
.merge-rule-container .merge-rule-container__properties .ui.selection.dropdown {
  padding: 2px 5px 4px 5px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-width: 0px !important;
}
.merge-rule-container .merge-rule-container__properties .ui.selection.dropdown:focus,
.merge-rule-container .merge-rule-container__properties .ui.selection.dropdown:focus-within .merge-rule-container .merge-rule-container__properties .ui.selection.dropdown:hover {
  box-shadow: none !important;
  border-width: 0px !important;
  border-bottom-left-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}
.merge-rule-container .merge-rule-container__properties .ui.labels {
  display: flex;
  flex-direction: row;
}
.merge-rule-container .merge-rule-container__properties .label {
  background-color: #CCE0F3;
  border-radius: 5px;
  font-weight: normal;
  color: #0F9BDC;
}
.merge-rule-container .merge-rule-container__properties .label svg {
  -webkit-transition: opacity 300ms linear;
  transition: opacity 300ms linear;
  margin: 0px 0px 0px 5px;
  opacity: 0.4;
  cursor: pointer;
}
.merge-rule-container .merge-rule-container__properties .label svg:hover {
  opacity: 1;
}
.merge-rule-container .merge-rule-container__properties.empty .merge-rule-container__applies-to-label {
  display: none;
}
.merge-rule-container .merge-rule-container__properties.empty .ui.dropdown {
  padding: 0px !important;
}
.merge-rule-container .merge-rule-container__properties .warning.sign.icon {
  margin: 0px !important;
}
.merge-rule-container .merge-rule-container__properties .detail {
  margin-left: 4px !important;
}
@-webkit-keyframes pulse-color {
  0% {
    color: #BFCEDC;
    background-color: rgba(210, 220, 229, 0.34);
  }
  100% {
    background-color: rgba(15, 155, 220, 0.34);
    color: #0F9BDC;
  }
}
@keyframes pulse-color {
  0% {
    color: #BFCEDC;
    background-color: rgba(210, 220, 229, 0.34);
  }
  100% {
    background-color: rgba(15, 155, 220, 0.34);
    color: #0F9BDC;
  }
}
.merge-rule-container .merge-rule-container__properties.property-over {
  -webkit-animation: pulse-color 1s alternate infinite;
          animation: pulse-color 1s alternate infinite;
}
#drafts .merge-rule-container__properties .ui.dropdown.selection {
  border-radius: 0px 0px 10px 10px !important;
}
#drafts .merge-rule-container__properties .ui.dropdown.selection:hover {
  box-shadow: none !important;
  border-width: 0px !important;
  border-radius: 0px 0px 10px 10px !important;
}
#drafts .merge-rule-container__properties .ui.dropdown.selection:focus,
#drafts .merge-rule-container__properties .ui.dropdown.selection:focus-within {
  box-shadow: none !important;
  border-width: 0px !important;
}
#drafts .merge-rule-container__properties .visible.menu.transition {
  max-height: 12em;
}
.dragging-strategy {
  border: 1px solid rgba(15, 45, 76, 0.13);
}
.dragging-strategy #merge-rule-strategy {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#prerequisites #detailed-header {
  padding-left: 1rem;
}
#prerequisites td {
  padding: 1px 10px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.default-merge-rule-container {
  height: 100%;
}
.default-merge-rule-container .routed-accordion > .title {
  padding-top: 15px;
  padding-bottom: 15px;
}
.default-merge-rule-container .default-merge-rule-container__property-handles {
  display: flex;
  flex-direction: column;
}
.default-merge-rule-container .default-merge-rule-container__property-handles .input {
  margin: 5px;
}
.default-merge-rule-container .default-merge-rule-container__property-handle {
  background-color: #CCE0F3;
  color: #0F9BDC;
  border-radius: 5px;
  padding: 7px 9px;
  margin: 3px 6px;
  cursor: move;
  -webkit-transition: border-radius 300ms linear;
  transition: border-radius 300ms linear;
}
.default-merge-rule-container .default-merge-rule-container__property-handle:hover {
  border-radius: 0px;
}
.default-merge-rule-container .default-merge-rule-container__property-handle .ui.label {
  float: right;
}
.default-merge-rule-container .merge-rule-strategies__add {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.relationships {
  padding: 20px;
}
.relationships .relationships__list > div {
  margin-top: 10px;
}
.relationships .button .ui.label.mention.unstyled {
  text-transform: uppercase;
}
.relationships .relationship-editor__rules > div {
  margin: 10px;
}
.relationships .relationship-editor__rules .ui.table.compact td,
.relationships .relationship-editor__rules .ui.table.compact th {
  padding: 3px;
}
.relationships .relationship-editor__rules .ui.table.compact .relationship-editor__equals {
  font-size: 4em;
  font-weight: bold;
  color: #1B1C1D;
  align-self: center;
  margin-top: 20px;
  text-align: center;
}
.relationships .ui.form {
  margin: 10px;
}
.relationships #small-add-button {
  float: right;
}
.relationships .relationship-editor .inline-multiline-editor__value {
  opacity: 0.4;
}
.relationships .relationship-editor__match-rule > .fields {
  flex: 1 0;
}
.relationships .relationship-editor__match-rule > .icon {
  flex: 0 0;
  align-self: center;
  margin-left: 10px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-overview #issue-wrapper.hasIssue {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
#assemble-overview {
  display: flex;
  flex-direction: row;
  flex: 1 0;
  overflow-y: auto;
  flex-wrap: nowrap;
}
#assemble-overview__tip {
  display: flex;
  flex-direction: column;
  margin: 13px;
  width: 30%;
  max-width: 30%;
}
#assemble-overview__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 10px;
  padding-top: 10px;
  width: 70%;
  max-width: 70%;
  position: relative;
}
#assemble-overview__content > div {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
#assemble-overview__item {
  background: white;
  margin: 1rem;
  padding: 1rem;
  border-radius: 5px;
  border: 1px solid rgba(0, 0, 0, 0.13);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  opacity: 0.8;
  z-index: 1;
  height: auto;
}
#assemble-overview__item:hover {
  opacity: 1;
}
#assemble-overview__item #title {
  font-weight: bolder;
  font-size: large;
}
#assemble-overview__item #description {
  color: grey;
  max-width: 70%;
  margin-bottom: 1rem;
}
#assemble-overview__item #content {
  padding: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  justify-items: center;
  height: auto;
}
#assemble-overview__item #content > div {
  padding: 1rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.property-merge-rule-container {
  justify-self: stretch;
  height: 100%;
  width: 100%;
  display: flex;
}
.property-merge-rule-container .dimmable {
  justify-self: stretch;
  align-self: stretch;
  width: 100%;
}
.property-merge-rule-container .dimmable .dimmer .property-merge-rule-container__message-buttons {
  padding: 20px 0px 10px 0px;
}
.property-merge-rule-container .dimmable .dimmer .list {
  margin: 10px 0px !important;
}
.property-merge-rule-container .dimmable .dimmer .list .item {
  display: flex;
}
.property-merge-rule-container .dimmable .dimmer .list .item a {
  cursor: pointer;
}
.property-merge-rule-container .merge-rule-strategies__add:not(:first-child) {
  border-top-width: 0px !important;
}
.property-merge-rule-container .property-merge-rule-container__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 20px 6px;
  font-size: 12px;
  border-bottom: 1px solid rgba(15, 45, 76, 0.13);
  margin-bottom: 15px;
}
.property-merge-rule-container .property-merge-rule-container__header box .button {
  border: 0px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#schemas.accordion {
  background: #2E5275;
  padding: 0.5rem;
  margin-left: 1rem;
  margin-right: 1rem;
  opacity: 0.9;
}
#schemas.accordion:hover {
  opacity: 1;
}
#schemas.accordion > *,
#schemas.accordion > * > * {
  font-size: medium;
  font-weight: 600;
}
#schemas.accordion * {
  color: white;
  font-weight: 600;
}
#schemas.accordion .ui.error.message {
  background-color: #FF4850 !important;
  background: #FF4850 !important;
  font-weight: bold;
  border: none;
  box-shadow: none;
}
#schemas.accordion label {
  font-weight: bold;
  opacity: 0.7;
}
#edit-property-sources:not(:first-child) {
  border-top: 1px solid rgba(15, 45, 76, 0.13);
}
#edit-property-sources > #edit-property-sources__source {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0px 5px 0px 0px;
}
#edit-property-sources > #edit-property-sources__source > #drafted-source {
  position: unset;
}
#edit-property-sources > #edit-property-sources__source > #drafted-source > #drafted-source__title {
  text-transform: uppercase;
}
#edit-property-sources > #edit-property-sources__editor {
  background-color: #F4F8FC;
  border-top: 1px solid rgba(15, 45, 76, 0.13);
  padding: 10px 0px 0px 0px;
}
#edit-property-sources #edit-property-sources__form {
  width: 100%;
  display: flex;
  justify-content: space-around;
  padding-left: 1rem;
  margin-left: auto;
  cursor: pointer;
}
#edit-property-sources #edit-property-sources__form .fields {
  width: 100%;
  justify-content: space-around;
}
#edit-property-sources #edit-property-sources__form .transform--component {
  display: flex;
  align-items: stretch;
}
#edit-property-sources #edit-property-sources__form .transform--component .control-label {
  color: #767676 !important;
}
#edit-property-sources #edit-property-sources__form-label {
  color: #767676 !important;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#assemble-edit-property-settings {
  padding: 1rem;
  width: 100%;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings {
  margin-bottom: 0.5rem;
  display: flex;
  flex-direction: column;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings > div {
  margin-top: 1em;
  margin-bottom: 1em;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .derive-result ::-webkit-input-placeholder {
  color: #0f2d4c;
  opacity: 1;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .derive-result ::-moz-placeholder {
  color: #0f2d4c;
  opacity: 1;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .derive-result ::-ms-input-placeholder {
  color: #0f2d4c;
  opacity: 1;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .derive-result ::placeholder {
  color: #0f2d4c;
  opacity: 1;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .cards {
  margin-top: auto;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings thead > tr > td {
  vertical-align: bottom;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row {
  padding: 5px;
  margin: 5px 0px;
  justify-content: stretch;
  border-radius: 5px;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row:hover {
  background-color: rgba(15, 45, 76, 0.08);
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row .assemble-edit-property-settings__pattern-cell {
  width: 325px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row .assemble-edit-property-settings__character-cell {
  width: 50px;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row .assemble-edit-property-settings__pattern {
  width: 300px;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row .assemble-edit-property-settings__derived {
  flex-basis: 100%;
  flex: 1 0;
  word-break: break-all;
}
#assemble-edit-property-settings #assemble-edit-property-settings__derive-settings .assemble-edit-property-settings__tactics-row .muted {
  color: rgba(15, 45, 76, 0.24);
}
#assemble-edit-property-settings code {
  background-color: rgba(15, 45, 76, 0.08);
  font-family: 'Courier New', Courier, monospace;
  padding: 2px 2px 1px 2px;
  margin: 1px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#property-list {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: auto;
}
#property-list > #property-list__header {
  display: flex;
  flex-direction: row;
  padding: 15px 15px 0px 15px;
}
#property-list > #property-list__header > #property-list__header-right {
  flex: 0 0;
  text-align: right;
  display: flex;
  align-content: flex-end;
  align-items: center;
  margin-left: 10px;
  margin-right: 10px;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
#property-list > #property-list__header > #search {
  flex: 2 0;
}
#property-list > #property-list__header > #search .routed-input.light {
  display: flex;
}
#property-list > #issues-wrapper > #issues-icon {
  -webkit-transform: translateY(-1rem);
          transform: translateY(-1rem);
}
#property-list > #issues-wrapper #property-id {
  color: #0F9BDC;
  font-weight: bold;
}

.property-role-container {
  width: 100%;
  height: 100%;
  overflow: auto;
  padding-top: 1rem;
}
.property-role-container .property-role-container__toggle-button {
  position: relative !important;
  left: 14rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.edit-property__list {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
}
.edit-property__list #property-list {
  flex: 1 1 100%;
}
#edit-property {
  padding: 1rem;
}
#edit-property > #edit-property__title > #detailed-header {
  justify-content: center;
  text-align: center;
  width: 100%;
}
#edit-property > #edit-property__title > #detailed-header #detailed-header__value {
  font-weight: bold;
}
#edit-property > #edit-property__schemas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2rem;
}
#edit-property > #edit-property__schemas > #drafted-source {
  background-color: #F4F8FC;
  margin: 0.5rem;
  padding: 1rem;
  flex: 0 1 40%;
  box-sizing: border-box;
}
#edit-property > #edit-property__startFromScratch {
  justify-content: center;
  text-align: center;
  margin: 2rem;
  height: 15%;
}
#edit-property > #edit-property__startFromScratch > #startFromScratchButton {
  background-color: #F4F8FC;
  margin: 0.5rem;
  padding: 1rem;
  color: #0F9BDC;
  border-width: 0;
  width: 40%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#edit-property > #panel-tabs {
  margin-top: 1rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#matching-area {
  display: flex;
  flex-direction: row;
  height: 100%;
}
#matching-area #matching-area__main {
  flex-basis: 100%;
  flex-grow: 1;
}
#matching-area #matching-area__header {
  padding: 1rem;
  display: flex;
  justify-content: space-between;
}

#data-quality-iframe {
  display: flex;
  height: 100%;
  margin: -20px -20px 0 -20px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9TaGFwZS9hcmVhcy9NYXBwaW5nL2NvbXBvbmVudHMvc2hhcGUtcHJvcGVydHktbGlzdC9pbmRleC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01hcHBpbmcvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9TaGFwZS9hcmVhcy9NYXBwaW5nL2NvbXBvbmVudHMvc2hhcGUtcHJvcGVydHktbGlzdC9zaGFwZS1wcm9wZXJ0eS1pdGVtLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvYXJlYXMvQXNzZW1ibGUvYXJlYXMvU2hhcGUvYXJlYXMvTWFwcGluZy9jb21wb25lbnRzL3NoYXBlLXByb3BlcnR5LWxpc3QvbmV3LXByb3BlcnR5LXRhcmdldC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01hcHBpbmcvY29tcG9uZW50cy9zY2hlbWEtcHJvcGVydHktbGlzdC9zY2hlbWEtcHJvcGVydHktaXRlbS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01hcHBpbmcvY29tcG9uZW50cy9zY2hlbWEtcHJvcGVydHktbGlzdC9pbmRleC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01lcmdpbmcvbWVyZ2luZy5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01lcmdpbmcvY29tcG9uZW50cy9NZXJnZVJ1bGVzL21lcmdlLXJ1bGVzLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvYXJlYXMvQXNzZW1ibGUvYXJlYXMvU2hhcGUvYXJlYXMvTWVyZ2luZy9jb21wb25lbnRzL1NoYXJlZE1lcmdlUnVsZS9zaGFyZWQtbWVyZ2UtcnVsZS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9zZW1hbnRpYy11aS90cmFuc2l0aW9ucy5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01lcmdpbmcvY29tcG9uZW50cy9QcmVyZXF1aXNpdGVzL3ByZXJlcXVpc2l0ZXMubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9TaGFwZS9hcmVhcy9NZXJnaW5nL2NvbXBvbmVudHMvRGVmYXVsdE1lcmdlUnVsZS9kZWZhdWx0LW1lcmdlLXJ1bGUubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9TaGFwZS9hcmVhcy9SZWxhdGlvbnNoaXBzL3JlbGF0aW9uc2hpcHMubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9TaGFwZS9pbmRleC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL0VkaXRQcm9wZXJ0eS9hcmVhcy9NZXJnaW5nL2luZGV4Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRHJhZnQvYXJlYXMvQXNzZW1ibGUvYXJlYXMvRWRpdFByb3BlcnR5L2FyZWFzL1NvdXJjZXMvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9FZGl0UHJvcGVydHkvYXJlYXMvU2V0dGluZ3MvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9Qcm9wZXJ0eUxpc3QvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29udGFpbmVycy9EcmFmdC9hcmVhcy9Bc3NlbWJsZS9hcmVhcy9FZGl0UHJvcGVydHkvYXJlYXMvUm9sZS9pbmRleC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL0VkaXRQcm9wZXJ0eS9pbmRleC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb250YWluZXJzL0RyYWZ0L2FyZWFzL0Fzc2VtYmxlL2FyZWFzL1NoYXBlL2FyZWFzL01hdGNoaW5nQXJlYS9tYXRjaGluZy1hcmVhLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbnRhaW5lcnMvRGF0YVF1YWxpdHkvaW5kZXgubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQzNCekI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRDZCSjtBQ2pDQTtFQVFRO0VBQ0E7RUFDQTtFQUNBO0FENEJSO0FDdkNBO0VBZVk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEMkJaO0FDdkJvQjtFQUNJO0FEeUJ4QjtBQ3ZCd0I7RUFDSTtBRHlCNUI7QUNuQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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QkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWpDekI7RUFDSTtFQUNBO0VBRUE7QUFrQ0o7QUF0Q0E7RUFPUTtFQUNBO0FBa0NSO0FBMUNBO0VBWVE7RUFDQTtFQUNBO0FBaUNSOztBQ2pEQTtFQUNJO0VBQ0E7RUFDQTtBQUNKIiwiZmlsZSI6InN0YXRpYy9jc3MvbWFpbn42MWQyYzMyMS5hOWMyNzUwNy5jaHVuay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMge1xuICBtaW4td2lkdGg6IDI1cmVtO1xuICBtYXgtd2lkdGg6IDM1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogNTBweDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgbWF4LWhlaWdodDogNTBweDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGU6aG92ZXIgYnV0dG9uLmFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlOmhvdmVyIGJ1dHRvbi5hY3RpdmU6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCAjMGI5YmRjICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlID4gYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlID4gYnV0dG9uLmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgIzBiOWJkYyAhaW1wb3J0YW50O1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zb3VyY2VzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3N3aXRjaC1zb3VyY2UtdHlwZSA+IGJ1dHRvbi5pbmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTMpICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlID4gYnV0dG9uLmluYWN0aXZlOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgIzBiOWJkYyAhaW1wb3J0YW50O1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19nb2xkZW4tcmVjb3JkLXByb3BlcnRpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXJlbSk7XG59XG4jc2hhcGUtcHJvcGVydHktbGlzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1saXN0ICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXIge1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAgMC41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRvcDogMDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggMHB4ICNkMGQwZDA0ZDtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1saXN0ICNzaGFwZS1wcm9wZXJ0eS1saXN0X19wcm9wZXJ0aWVzIHtcbiAgcGFkZGluZzogMHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuI3NoYXBlLXByb3BlcnR5LWxpc3QgI3NoYXBlLXByb3BlcnR5LWxpc3RfX3Byb3BlcnRpZXMgI2xvY2FsLWNvbGxlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuI3NoYXBlLXByb3BlcnR5LWxpc3QgI3NoYXBlLXByb3BlcnR5LWxpc3RfX3Byb3BlcnRpZXMgI2xvY2FsLWNvbGxlY3Rpb24gI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuI3NoYXBlLXByb3BlcnR5LWxpc3QgI3NoYXBlLXByb3BlcnR5LWxpc3RfX3Byb3BlcnRpZXMgI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2JvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1saXN0ICNzaGFwZS1wcm9wZXJ0eS1saXN0X19wcm9wZXJ0aWVzICNsb2NhbC1jb2xsZWN0aW9uICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBwYWRkaW5nOiAwcHg7XG4gIHotaW5kZXg6IDExO1xuICByaWdodDogMXJlbTtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1saXN0ICNzaGFwZS1wcm9wZXJ0eS1saXN0X19wcm9wZXJ0aWVzICNsb2NhbC1jb2xsZWN0aW9uICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXIgI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlci1taWRkbGUge1xuICBtYXgtd2lkdGg6IDIwcmVtO1xufVxuI3NoYXBlLXByb3BlcnR5LWxpc3QgI3NoYXBlLXByb3BlcnR5LWxpc3RfX3Byb3BlcnRpZXMgI2xvY2FsLWNvbGxlY3Rpb24gI2NvbGxlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4jc2hhcGUtcHJvcGVydHktbGlzdCAjc2hhcGUtcHJvcGVydHktbGlzdF9fcHJvcGVydGllcyAjbG9jYWwtY29sbGVjdGlvbiAjY29sbGVjdGlvbiAjY29sbGVjdGlvbl9fcHJvcGVydHktZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jc2hhcGUtcHJvcGVydHktbGlzdCAjZWxsaXBzaXMtbWVudSB7XG4gIHBhZGRpbmc6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNXB4O1xuICB0b3A6IDVweDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyB7XG4gIG1pbi13aWR0aDogMjVyZW07XG4gIG1heC13aWR0aDogMzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zb3VyY2VzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3N3aXRjaC1zb3VyY2UtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXgtaGVpZ2h0OiA1MHB4O1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zb3VyY2VzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3N3aXRjaC1zb3VyY2UtdHlwZTpob3ZlciBidXR0b24uYWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGU6aG92ZXIgYnV0dG9uLmFjdGl2ZTpob3ZlciB7XG4gIGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkICMwYjliZGMgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24uYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCAjMGI5YmRjICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlID4gYnV0dG9uLmluYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMykgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24uaW5hY3RpdmU6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCAjMGI5YmRjICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX2dvbGRlbi1yZWNvcmQtcHJvcGVydGllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI1cmVtKTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggMHB4ICNkMGQwZDA7XG4gIG1heC13aWR0aDogNzByZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1ob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYjliZGM7XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjliZGM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbS5hY3RpdmUtZHJvcCB7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fYWN0aXZlZHJvcDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0ubm8tbWFwcGluZ3Mge1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0gI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fbWFwcGluZ3Mge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0gI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fbWFwcGluZ3MgI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9faW5wdXQge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX21hcHBpbmdzICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX2lucHV0ICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX3NjaGVtYS1wcm9wZXJ0aWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19tYXBwaW5ncyAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19pbnB1dCAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19zY2hlbWEtcHJvcGVydGllcyAjc2NoZW1hLXByb3BlcnR5LW1lbnRpb24ge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX21hcHBpbmdzICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX291dHB1dCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0gI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fbWFwcGluZ3MgI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fb3V0cHV0ICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX3NjaGVtYS1wcm9wZXJ0aWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19tYXBwaW5ncyAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19vdXRwdXQgI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fc2NoZW1hLXByb3BlcnRpZXMgI3NjaGVtYS1wcm9wZXJ0eS1tZW50aW9uIHtcbiAgbWFyZ2luOiAwLjI1cmVtO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtX19zb3VyY2UtdHlwZSB7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAuc2hhcGUtcHJvcGVydHktbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLmFjdGl2ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0yMHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMjZweCBzb2xpZCAjMGI5YmRjO1xuICBib3JkZXItYm90dG9tOiAxOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuQGtleWZyYW1lcyBzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW1fX2FjdGl2ZWRyb3Age1xuICAwJSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgNjAlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMGI5YmRjO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTEsIDE1NSwgMjIwLCAwLjA1KTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLmFjdGl2ZS1kcmFnZ2luZzpub3QoLmFjdGl2ZS1kcm9wKSB7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbV9fYWN0aXZlZHJvcDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLWxlZnQge1xuICBmbGV4LWdyb3c6IDE7XG59XG4jc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLXJpZ2h0IHtcbiAgd2lkdGg6IDYwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSAuaGVhZGVyIHtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cbiNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0gLm1lbnUgLnRleHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI25ldy1wcm9wZXJ0eS10YXJnZXQgI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbSB7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAzcHg7XG59XG4jbmV3LXByb3BlcnR5LXRhcmdldCAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtIC5uZXctcHJvcGVydHktdGFyZ2V0X19jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjMEY5QkRDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA1cHg7XG59XG4jbmV3LXByb3BlcnR5LXRhcmdldCAjc2hhcGUtcHJvcGVydHktbWFwcGluZy1pdGVtLmluYWN0aXZlLWRyYWcge1xuICBoZWlnaHQ6IDBweDtcbiAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbn1cbiNuZXctcHJvcGVydHktdGFyZ2V0ICNzaGFwZS1wcm9wZXJ0eS1tYXBwaW5nLWl0ZW0uaW5hY3RpdmUtZHJhZyAubmV3LXByb3BlcnR5LXRhcmdldF9fY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyO1xufVxuI25ldy1wcm9wZXJ0eS10YXJnZXQgI3NoYXBlLXByb3BlcnR5LW1hcHBpbmctaXRlbS5hY3RpdmUtZHJhZyAubmV3LXByb3BlcnR5LXRhcmdldF9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbjtcbiAgb3BhY2l0eTogMTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jcHJvcGVydHktY2FyZCB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG9wYWNpdHk6IDAuOTk5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbn1cbiNwcm9wZXJ0eS1jYXJkLm1hcHBlZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4jcHJvcGVydHktY2FyZC51bm1hcHBlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG4jcHJvcGVydHktY2FyZC51bm1hcHBlZDpob3ZlciB7XG4gIGN1cnNvcjogZ3JhYjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4ICNkMGQwZDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyB7XG4gIG1pbi13aWR0aDogMjVyZW07XG4gIG1heC13aWR0aDogMzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zb3VyY2VzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3N3aXRjaC1zb3VyY2UtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXgtaGVpZ2h0OiA1MHB4O1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zb3VyY2VzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3N3aXRjaC1zb3VyY2UtdHlwZTpob3ZlciBidXR0b24uYWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGU6aG92ZXIgYnV0dG9uLmFjdGl2ZTpob3ZlciB7XG4gIGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkICMwYjliZGMgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24uYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCAjMGI5YmRjICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX3NvdXJjZXMgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc3dpdGNoLXNvdXJjZS10eXBlID4gYnV0dG9uLmluYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMykgIWltcG9ydGFudDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmcgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktbWFwcGluZ19fc291cmNlcyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nX19zd2l0Y2gtc291cmNlLXR5cGUgPiBidXR0b24uaW5hY3RpdmU6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAxLjVweCBzb2xpZCAjMGI5YmRjICFpbXBvcnRhbnQ7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1tYXBwaW5nICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LW1hcHBpbmdfX2dvbGRlbi1yZWNvcmQtcHJvcGVydGllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI1cmVtKTtcbn1cbiNtYXBwaW5nLXNvdXJjZS1saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbn1cbiNtYXBwaW5nLXNvdXJjZS1saXN0ICNtYXBwaW5nLXNvdXJjZS1saXN0X19oZWFkZXIge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMyk7XG59XG4jbWFwcGluZy1zb3VyY2UtbGlzdCAjbWFwcGluZy1zb3VyY2UtbGlzdF9fc291cmNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jbWFwcGluZy1zb3VyY2UtbGlzdCAjbWFwcGluZy1zb3VyY2UtbGlzdF9fc291cmNlICNtYXBwaW5nLXNvdXJjZS1saXN0X19zb3VyY2UtY29sb3Ige1xuICB3aWR0aDogMC40NXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTFweDtcbiAgYm90dG9tOiAwO1xufVxuI21hcHBpbmctc291cmNlLWxpc3QgI21hcHBpbmctc291cmNlLWxpc3RfX3NvdXJjZSAjbWFwcGluZy1zb3VyY2UtbGlzdF9fd2FybmluZy1pY29uIHtcbiAgbWFyZ2luOiAyMHB4O1xufVxuI21hcHBpbmctc291cmNlLWxpc3QgI21hcHBpbmctc291cmNlLWxpc3RfX3NjaGVtYXMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cbiNtYXBwaW5nLXNvdXJjZS1saXN0ICNyb3V0ZWQtYWNjb3JkaW9uX19tZW51IGk6aG92ZXIge1xuICBjb2xvcjogIzBiOWJkYztcbn1cbiNtYXBwaW5nLXNvdXJjZS1saXN0IC5yb3V0ZWQtYWNjb3JkaW9uIC50aXRsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtYXBwaW5nLXNvdXJjZS1saXN0IC5yb3V0ZWQtYWNjb3JkaW9uIC50aXRsZSAuY2FyZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDFyZW07XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2Fzc2VtYmxlLW1lcmdpbmcge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4OiAxIDEgMTAwJTtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nIC5hc3NlbWJsZS1tZXJnaW5nX19sZWZ0IHtcbiAgd2lkdGg6IDQwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiNhc3NlbWJsZS1tZXJnaW5nIC5hc3NlbWJsZS1tZXJnaW5nX19yaWdodCB7XG4gIHdpZHRoOiA2MCU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNoZWFkZXItZm9vdGVyLXBhbmVsIHtcbiAgZmxleDogMSAxO1xufVxuI2Fzc2VtYmxlLW1lcmdpbmcgI2hlYWRlci1mb290ZXItcGFuZWwtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUsIDQ1LCA3NiwgMC4xMyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXg6IDAgMCA1MHB4O1xufVxuI2Fzc2VtYmxlLW1lcmdpbmcgI2hlYWRlci1mb290ZXItcGFuZWwtaGVhZGVyIC5tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jYXNzZW1ibGUtbWVyZ2luZyAjaGVhZGVyLWZvb3Rlci1wYW5lbC1oZWFkZXIgLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuI2Fzc2VtYmxlLW1lcmdpbmcgI2hlYWRlci13aXRoLWFjdGlvbl9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19ydWxlcy1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19ydWxlcy1hY3Rpb25zID4gKiB7XG4gIG1hcmdpbjogMHJlbSAxcmVtIDByZW0gMXJlbTtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19ydWxlcy1hY3Rpb25zICNhc3NlbWJsZS1tZXJnaW5nX19hZHZhbmNlZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19ydWxlcy1hY3Rpb25zICNhc3NlbWJsZS1tZXJnaW5nX19hZHZhbmNlZC1idXR0b24gI2NhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDNweDtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19ydWxlcy1hY3Rpb25zICNhc3NlbWJsZS1tZXJnaW5nX19uZXctYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4jYXNzZW1ibGUtbWVyZ2luZyAjYXNzZW1ibGUtbWVyZ2luZ19fcmlnaHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4jYXNzZW1ibGUtbWVyZ2luZyAjYXNzZW1ibGUtbWVyZ2luZ19fcmlnaHQgI3ByZXJlcXVpc2l0ZXMge1xuICBmbGV4OiAwIDE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xufVxuI2Fzc2VtYmxlLW1lcmdpbmcgI2Fzc2VtYmxlLW1lcmdpbmdfX3JpZ2h0ICNwcmVyZXF1aXNpdGVzIC51aS50YWJsZSB7XG4gIG1hcmdpbjogMHB4O1xuICBib3JkZXI6IDBweDtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19yaWdodCAjYXNzZW1ibGUtbWVyZ2luZ19fbWVyZ2UtcnVsZXMge1xuICBmbGV4OiAxIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogNzV2aDtcbn1cbiNhc3NlbWJsZS1tZXJnaW5nICNhc3NlbWJsZS1tZXJnaW5nX19yaWdodCAjYXNzZW1ibGUtbWVyZ2luZ19fbWVyZ2UtcnVsZXMgPiAjbWVyZ2UtcnVsZXMgPiAjaXNzdWUtd3JhcHBlcjpub3QoLmhhcy1pc3N1ZSkgLmNoaWxkcmVuLXdyYXBwZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNtZXJnZS1ydWxlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY4RkM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbn1cbiNtZXJnZS1ydWxlcyA+IGRpdiB7XG4gIG1hcmdpbjogMTBweDtcbn1cbiNtZXJnZS1ydWxlcyAuc3ViLmhlYWRlciB7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwcHggMjBweDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4ubWVyZ2UtcnVsZS1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTUsIDQ1LCA3NiwgMC4xMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXI6aG92ZXIge1xuICB6LWluZGV4OiA0O1xufVxuLmVycm9yLm1lcmdlLXJ1bGUtY29udGFpbmVyICNoZWFkZXItd2l0aC1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0ODUwO1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyLmFjdGl2ZSAjaGVhZGVyLXdpdGgtYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFNTI3NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgI2hlYWRlci13aXRoLWFjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRTUyNzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5lcnJvci5tZXJnZS1ydWxlLWNvbnRhaW5lciAjaGVhZGVyLXdpdGgtYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDg1MDtcbn1cbi5tZXJnZS1ydWxlLWNvbnRhaW5lciAjaGVhZGVyLXdpdGgtYWN0aW9uIC5oZWFkZXIge1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMmVtO1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyICNoZWFkZXItd2l0aC1hY3Rpb24gLmhlYWRlciAuY2FyZXQge1xuICBtYXJnaW46IDVweCAxMHB4IDVweCA1cHg7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgI2hlYWRlci13aXRoLWFjdGlvbiAjaGVhZGVyLXdpdGgtYWN0aW9uX19hY3Rpb24gaS5pY29uIHtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgI21lcmdlLXJ1bGUtY29udGFpbmVyX19zdHJhdGVnaWVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi5tZXJnZS1ydWxlLWNvbnRhaW5lciAubWVyZ2UtcnVsZS1jb250YWluZXJfX2FkZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fYWRkIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5tZXJnZS1ydWxlLWNvbnRhaW5lciAubWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnRpZXMgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzLWhlYWRlciB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0UwRjM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNXB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIDMwMG1zLCBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAzMDBtcztcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAubWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnRpZXMtaGVhZGVyLmFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cbi5tZXJnZS1ydWxlLWNvbnRhaW5lciAubWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnRpZXMgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzLWhlYWRlciAuY2FyZXQge1xuICBtYXJnaW46IDVweCAxMHB4IDVweCA1cHg7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzIC51aS5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICBwYWRkaW5nOiAycHggNXB4IDRweCA1cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICBib3JkZXItd2lkdGg6IDBweCAhaW1wb3J0YW50O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzLFxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzLXdpdGhpbiAubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzIC51aS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzIC51aS5sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NFMEYzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMEY5QkRDO1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAubGFiZWwgc3ZnIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBsaW5lYXI7XG4gIG1hcmdpbjogMHB4IDBweCAwcHggNXB4O1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZXJnZS1ydWxlLWNvbnRhaW5lciAubWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnRpZXMgLmxhYmVsIHN2Zzpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzLmVtcHR5IC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fYXBwbGllcy10by1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzLmVtcHR5IC51aS5kcm9wZG93biB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAud2FybmluZy5zaWduLmljb24ge1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAuZGV0YWlsIHtcbiAgbWFyZ2luLWxlZnQ6IDRweCAhaW1wb3J0YW50O1xufVxuQGtleWZyYW1lcyBwdWxzZS1jb2xvciB7XG4gIDAlIHtcbiAgICBjb2xvcjogI0JGQ0VEQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMCwgMjIwLCAyMjksIDAuMzQpO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDE1NSwgMjIwLCAwLjM0KTtcbiAgICBjb2xvcjogIzBGOUJEQztcbiAgfVxufVxuLm1lcmdlLXJ1bGUtY29udGFpbmVyIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcy5wcm9wZXJ0eS1vdmVyIHtcbiAgYW5pbWF0aW9uOiBwdWxzZS1jb2xvciAxcyBhbHRlcm5hdGUgaW5maW5pdGU7XG59XG4jZHJhZnRzIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAudWkuZHJvcGRvd24uc2VsZWN0aW9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxMHB4IDEwcHggIWltcG9ydGFudDtcbn1cbiNkcmFmdHMgLm1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0aWVzIC51aS5kcm9wZG93bi5zZWxlY3Rpb246aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMTBweCAxMHB4ICFpbXBvcnRhbnQ7XG59XG4jZHJhZnRzIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAudWkuZHJvcGRvd24uc2VsZWN0aW9uOmZvY3VzLFxuI2RyYWZ0cyAubWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnRpZXMgLnVpLmRyb3Bkb3duLnNlbGVjdGlvbjpmb2N1cy13aXRoaW4ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG59XG4jZHJhZnRzIC5tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydGllcyAudmlzaWJsZS5tZW51LnRyYW5zaXRpb24ge1xuICBtYXgtaGVpZ2h0OiAxMmVtO1xufVxuLmRyYWdnaW5nLXN0cmF0ZWd5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbn1cbi5kcmFnZ2luZy1zdHJhdGVneSAjbWVyZ2UtcnVsZS1zdHJhdGVneSB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG4iLCIud2l0aE9wYWNpdHlUcmFuc2l0aW9uKCkge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgbGluZWFyO1xufSIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jcHJlcmVxdWlzaXRlcyAjZGV0YWlsZWQtaGVhZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuI3ByZXJlcXVpc2l0ZXMgdGQge1xuICBwYWRkaW5nOiAxcHggMTBweDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4uZGVmYXVsdC1tZXJnZS1ydWxlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5kZWZhdWx0LW1lcmdlLXJ1bGUtY29udGFpbmVyIC5yb3V0ZWQtYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXIgLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnR5LWhhbmRsZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXIgLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnR5LWhhbmRsZXMgLmlucHV0IHtcbiAgbWFyZ2luOiA1cHg7XG59XG4uZGVmYXVsdC1tZXJnZS1ydWxlLWNvbnRhaW5lciAuZGVmYXVsdC1tZXJnZS1ydWxlLWNvbnRhaW5lcl9fcHJvcGVydHktaGFuZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDRTBGMztcbiAgY29sb3I6ICMwRjlCREM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogN3B4IDlweDtcbiAgbWFyZ2luOiAzcHggNnB4O1xuICBjdXJzb3I6IG1vdmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMzAwbXMgbGluZWFyO1xufVxuLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXIgLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXJfX3Byb3BlcnR5LWhhbmRsZTpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbi5kZWZhdWx0LW1lcmdlLXJ1bGUtY29udGFpbmVyIC5kZWZhdWx0LW1lcmdlLXJ1bGUtY29udGFpbmVyX19wcm9wZXJ0eS1oYW5kbGUgLnVpLmxhYmVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmRlZmF1bHQtbWVyZ2UtcnVsZS1jb250YWluZXIgLm1lcmdlLXJ1bGUtc3RyYXRlZ2llc19fYWRkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwcHg7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLnJlbGF0aW9uc2hpcHMge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLnJlbGF0aW9uc2hpcHMgLnJlbGF0aW9uc2hpcHNfX2xpc3QgPiBkaXYge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnJlbGF0aW9uc2hpcHMgLmJ1dHRvbiAudWkubGFiZWwubWVudGlvbi51bnN0eWxlZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fcnVsZXMgPiBkaXYge1xuICBtYXJnaW46IDEwcHg7XG59XG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fcnVsZXMgLnVpLnRhYmxlLmNvbXBhY3QgdGQsXG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fcnVsZXMgLnVpLnRhYmxlLmNvbXBhY3QgdGgge1xuICBwYWRkaW5nOiAzcHg7XG59XG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fcnVsZXMgLnVpLnRhYmxlLmNvbXBhY3QgLnJlbGF0aW9uc2hpcC1lZGl0b3JfX2VxdWFscyB7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxQjFDMUQ7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJlbGF0aW9uc2hpcHMgLnVpLmZvcm0ge1xuICBtYXJnaW46IDEwcHg7XG59XG4ucmVsYXRpb25zaGlwcyAjc21hbGwtYWRkLWJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5yZWxhdGlvbnNoaXBzIC5yZWxhdGlvbnNoaXAtZWRpdG9yIC5pbmxpbmUtbXVsdGlsaW5lLWVkaXRvcl9fdmFsdWUge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fbWF0Y2gtcnVsZSA+IC5maWVsZHMge1xuICBmbGV4OiAxIDA7XG59XG4ucmVsYXRpb25zaGlwcyAucmVsYXRpb25zaGlwLWVkaXRvcl9fbWF0Y2gtcnVsZSA+IC5pY29uIHtcbiAgZmxleDogMCAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNhc3NlbWJsZS1vdmVydmlldyAjaXNzdWUtd3JhcHBlci5oYXNJc3N1ZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4jYXNzZW1ibGUtb3ZlcnZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4OiAxIDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuI2Fzc2VtYmxlLW92ZXJ2aWV3X190aXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDEzcHg7XG4gIHdpZHRoOiAzMCU7XG4gIG1heC13aWR0aDogMzAlO1xufVxuI2Fzc2VtYmxlLW92ZXJ2aWV3X19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgd2lkdGg6IDcwJTtcbiAgbWF4LXdpZHRoOiA3MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNhc3NlbWJsZS1vdmVydmlld19fY29udGVudCA+IGRpdiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbiNhc3NlbWJsZS1vdmVydmlld19faXRlbSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBtYXJnaW46IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjg7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogYXV0bztcbn1cbiNhc3NlbWJsZS1vdmVydmlld19faXRlbTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4jYXNzZW1ibGUtb3ZlcnZpZXdfX2l0ZW0gI3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgZm9udC1zaXplOiBsYXJnZTtcbn1cbiNhc3NlbWJsZS1vdmVydmlld19faXRlbSAjZGVzY3JpcHRpb24ge1xuICBjb2xvcjogZ3JleTtcbiAgbWF4LXdpZHRoOiA3MCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jYXNzZW1ibGUtb3ZlcnZpZXdfX2l0ZW0gI2NvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogYXV0bztcbn1cbiNhc3NlbWJsZS1vdmVydmlld19faXRlbSAjY29udGVudCA+IGRpdiB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLnByb3BlcnR5LW1lcmdlLXJ1bGUtY29udGFpbmVyIHtcbiAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnByb3BlcnR5LW1lcmdlLXJ1bGUtY29udGFpbmVyIC5kaW1tYWJsZSB7XG4gIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucHJvcGVydHktbWVyZ2UtcnVsZS1jb250YWluZXIgLmRpbW1hYmxlIC5kaW1tZXIgLnByb3BlcnR5LW1lcmdlLXJ1bGUtY29udGFpbmVyX19tZXNzYWdlLWJ1dHRvbnMge1xuICBwYWRkaW5nOiAyMHB4IDBweCAxMHB4IDBweDtcbn1cbi5wcm9wZXJ0eS1tZXJnZS1ydWxlLWNvbnRhaW5lciAuZGltbWFibGUgLmRpbW1lciAubGlzdCB7XG4gIG1hcmdpbjogMTBweCAwcHggIWltcG9ydGFudDtcbn1cbi5wcm9wZXJ0eS1tZXJnZS1ydWxlLWNvbnRhaW5lciAuZGltbWFibGUgLmRpbW1lciAubGlzdCAuaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ucHJvcGVydHktbWVyZ2UtcnVsZS1jb250YWluZXIgLmRpbW1hYmxlIC5kaW1tZXIgLmxpc3QgLml0ZW0gYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5wcm9wZXJ0eS1tZXJnZS1ydWxlLWNvbnRhaW5lciAubWVyZ2UtcnVsZS1zdHJhdGVnaWVzX19hZGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbn1cbi5wcm9wZXJ0eS1tZXJnZS1ydWxlLWNvbnRhaW5lciAucHJvcGVydHktbWVyZ2UtcnVsZS1jb250YWluZXJfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUsIDQ1LCA3NiwgMC4xMyk7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4ucHJvcGVydHktbWVyZ2UtcnVsZS1jb250YWluZXIgLnByb3BlcnR5LW1lcmdlLXJ1bGUtY29udGFpbmVyX19oZWFkZXIgYm94IC5idXR0b24ge1xuICBib3JkZXI6IDBweDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jc2NoZW1hcy5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMkU1Mjc1O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG9wYWNpdHk6IDAuOTtcbn1cbiNzY2hlbWFzLmFjY29yZGlvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4jc2NoZW1hcy5hY2NvcmRpb24gPiAqLFxuI3NjaGVtYXMuYWNjb3JkaW9uID4gKiA+ICoge1xuICBmb250LXNpemU6IG1lZGl1bTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiNzY2hlbWFzLmFjY29yZGlvbiAqIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuI3NjaGVtYXMuYWNjb3JkaW9uIC51aS5lcnJvci5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDg1MCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkY0ODUwICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4jc2NoZW1hcy5hY2NvcmRpb24gbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgb3BhY2l0eTogMC43O1xufVxuI2VkaXQtcHJvcGVydHktc291cmNlczpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1LCA0NSwgNzYsIDAuMTMpO1xufVxuI2VkaXQtcHJvcGVydHktc291cmNlcyA+ICNlZGl0LXByb3BlcnR5LXNvdXJjZXNfX3NvdXJjZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMHB4IDVweCAwcHggMHB4O1xufVxuI2VkaXQtcHJvcGVydHktc291cmNlcyA+ICNlZGl0LXByb3BlcnR5LXNvdXJjZXNfX3NvdXJjZSA+ICNkcmFmdGVkLXNvdXJjZSB7XG4gIHBvc2l0aW9uOiB1bnNldDtcbn1cbiNlZGl0LXByb3BlcnR5LXNvdXJjZXMgPiAjZWRpdC1wcm9wZXJ0eS1zb3VyY2VzX19zb3VyY2UgPiAjZHJhZnRlZC1zb3VyY2UgPiAjZHJhZnRlZC1zb3VyY2VfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNlZGl0LXByb3BlcnR5LXNvdXJjZXMgPiAjZWRpdC1wcm9wZXJ0eS1zb3VyY2VzX19lZGl0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGOEZDO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNSwgNDUsIDc2LCAwLjEzKTtcbiAgcGFkZGluZzogMTBweCAwcHggMHB4IDBweDtcbn1cbiNlZGl0LXByb3BlcnR5LXNvdXJjZXMgI2VkaXQtcHJvcGVydHktc291cmNlc19fZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2VkaXQtcHJvcGVydHktc291cmNlcyAjZWRpdC1wcm9wZXJ0eS1zb3VyY2VzX19mb3JtIC5maWVsZHMge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG4jZWRpdC1wcm9wZXJ0eS1zb3VyY2VzICNlZGl0LXByb3BlcnR5LXNvdXJjZXNfX2Zvcm0gLnRyYW5zZm9ybS0tY29tcG9uZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4jZWRpdC1wcm9wZXJ0eS1zb3VyY2VzICNlZGl0LXByb3BlcnR5LXNvdXJjZXNfX2Zvcm0gLnRyYW5zZm9ybS0tY29tcG9uZW50IC5jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbn1cbiNlZGl0LXByb3BlcnR5LXNvdXJjZXMgI2VkaXQtcHJvcGVydHktc291cmNlc19fZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3Mge1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmUtc2V0dGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5ncyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fZGVyaXZlLXNldHRpbmdzID4gZGl2IHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5ncyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fZGVyaXZlLXNldHRpbmdzIC5kZXJpdmUtcmVzdWx0IDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzBmMmQ0YztcbiAgb3BhY2l0eTogMTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmUtc2V0dGluZ3MgLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmUtc2V0dGluZ3MgdGhlYWQgPiB0ciA+IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmUtc2V0dGluZ3MgLmFzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX3RhY3RpY3Mtcm93IHtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW46IDVweCAwcHg7XG4gIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3MgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX2Rlcml2ZS1zZXR0aW5ncyAuYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fdGFjdGljcy1yb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCA0NSwgNzYsIDAuMDgpO1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3MgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX2Rlcml2ZS1zZXR0aW5ncyAuYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fdGFjdGljcy1yb3cgLmFzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX3BhdHRlcm4tY2VsbCB7XG4gIHdpZHRoOiAzMjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3MgI2Fzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX2Rlcml2ZS1zZXR0aW5ncyAuYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fdGFjdGljcy1yb3cgLmFzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX2NoYXJhY3Rlci1jZWxsIHtcbiAgd2lkdGg6IDUwcHg7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5ncyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fZGVyaXZlLXNldHRpbmdzIC5hc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX190YWN0aWNzLXJvdyAuYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fcGF0dGVybiB7XG4gIHdpZHRoOiAzMDBweDtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzICNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmUtc2V0dGluZ3MgLmFzc2VtYmxlLWVkaXQtcHJvcGVydHktc2V0dGluZ3NfX3RhY3RpY3Mtcm93IC5hc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX19kZXJpdmVkIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleDogMSAwO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG4jYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5ncyAjYXNzZW1ibGUtZWRpdC1wcm9wZXJ0eS1zZXR0aW5nc19fZGVyaXZlLXNldHRpbmdzIC5hc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzX190YWN0aWNzLXJvdyAubXV0ZWQge1xuICBjb2xvcjogcmdiYSgxNSwgNDUsIDc2LCAwLjI0KTtcbn1cbiNhc3NlbWJsZS1lZGl0LXByb3BlcnR5LXNldHRpbmdzIGNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1LCA0NSwgNzYsIDAuMDgpO1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBwYWRkaW5nOiAycHggMnB4IDFweCAycHg7XG4gIG1hcmdpbjogMXB4O1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNwcm9wZXJ0eS1saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiNwcm9wZXJ0eS1saXN0ID4gI3Byb3BlcnR5LWxpc3RfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAwcHggMTVweDtcbn1cbiNwcm9wZXJ0eS1saXN0ID4gI3Byb3BlcnR5LWxpc3RfX2hlYWRlciA+ICNwcm9wZXJ0eS1saXN0X19oZWFkZXItcmlnaHQge1xuICBmbGV4OiAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWluLXdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICBtaW4td2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG4jcHJvcGVydHktbGlzdCA+ICNwcm9wZXJ0eS1saXN0X19oZWFkZXIgPiAjc2VhcmNoIHtcbiAgZmxleDogMiAwO1xufVxuI3Byb3BlcnR5LWxpc3QgPiAjcHJvcGVydHktbGlzdF9faGVhZGVyID4gI3NlYXJjaCAucm91dGVkLWlucHV0LmxpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNwcm9wZXJ0eS1saXN0ID4gI2lzc3Vlcy13cmFwcGVyID4gI2lzc3Vlcy1pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcmVtKTtcbn1cbiNwcm9wZXJ0eS1saXN0ID4gI2lzc3Vlcy13cmFwcGVyICNwcm9wZXJ0eS1pZCB7XG4gIGNvbG9yOiAjMEY5QkRDO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi5wcm9wZXJ0eS1yb2xlLWNvbnRhaW5lcntcbiAgICB3aWR0aCAgIDogMTAwJTtcbiAgICBoZWlnaHQgIDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAgICAgICAgLnByb3BlcnR5LXJvbGUtY29udGFpbmVyX190b2dnbGUtYnV0dG9ue1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAxNHJlbTtcbiAgICAgICAgfVxufSIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4uZWRpdC1wcm9wZXJ0eV9fbGlzdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5lZGl0LXByb3BlcnR5X19saXN0ICNwcm9wZXJ0eS1saXN0IHtcbiAgZmxleDogMSAxIDEwMCU7XG59XG4jZWRpdC1wcm9wZXJ0eSB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4jZWRpdC1wcm9wZXJ0eSA+ICNlZGl0LXByb3BlcnR5X190aXRsZSA+ICNkZXRhaWxlZC1oZWFkZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbiNlZGl0LXByb3BlcnR5ID4gI2VkaXQtcHJvcGVydHlfX3RpdGxlID4gI2RldGFpbGVkLWhlYWRlciAjZGV0YWlsZWQtaGVhZGVyX192YWx1ZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuI2VkaXQtcHJvcGVydHkgPiAjZWRpdC1wcm9wZXJ0eV9fc2NoZW1hcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4jZWRpdC1wcm9wZXJ0eSA+ICNlZGl0LXByb3BlcnR5X19zY2hlbWFzID4gI2RyYWZ0ZWQtc291cmNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjhGQztcbiAgbWFyZ2luOiAwLjVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZsZXg6IDAgNDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuI2VkaXQtcHJvcGVydHkgPiAjZWRpdC1wcm9wZXJ0eV9fc3RhcnRGcm9tU2NyYXRjaCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMnJlbTtcbiAgaGVpZ2h0OiAxNSU7XG59XG4jZWRpdC1wcm9wZXJ0eSA+ICNlZGl0LXByb3BlcnR5X19zdGFydEZyb21TY3JhdGNoID4gI3N0YXJ0RnJvbVNjcmF0Y2hCdXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGOEZDO1xuICBtYXJnaW46IDAuNXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICMwRjlCREM7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgd2lkdGg6IDQwJTtcbiAgaGVpZ2h0OiBtYXgtY29udGVudDtcbn1cbiNlZGl0LXByb3BlcnR5ID4gI3BhbmVsLXRhYnMge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNtYXRjaGluZy1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI21hdGNoaW5nLWFyZWEgI21hdGNoaW5nLWFyZWFfX21haW4ge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG59XG4jbWF0Y2hpbmctYXJlYSAjbWF0Y2hpbmctYXJlYV9faGVhZGVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuIiwiI2RhdGEtcXVhbGl0eS1pZnJhbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0IDogMTAwJTtcbiAgICBtYXJnaW4gOiAtMjBweCAtMjBweCAwIC0yMHB4O1xufSJdLCJzb3VyY2VSb290IjoiIn0=*/