/* ==========================================================================
   Header
   ========================================================================== */
.a-Header {
  position: relative; }

.a-Header-col {
  display: block; }

.a-Header-col--left {
  padding-right: 208px;
  font-size: 0; }
  .a-Header-col--left > div {
    display: inline-block;
    vertical-align: top; }

.a-Header-col--right {
  float: right;
  text-align: right;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #F8F8F8;
  box-shadow: 0 -1px 0 #E0E0E0 inset; }
  .a-Header-col--right > div {
    float: left;
    display: block; }

.a-Header--login,
.a-Page--simpleWizard .a-Header {
  z-index: 800; }

.a-Header--login .a-Header-col--right {
  background-color: transparent;
  box-shadow: none; }

.a-Header-logo {
  padding: 10px 12px;
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  line-height: 20px; }

.a-Header-apexLogo {
  background-image: url(../../img/apex-logo.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  display: inline-block;
  font-weight: bold;
  width: 212px;
  height: 20px;
  vertical-align: top;
  margin: 0 0; }
  .u-HCM .a-Header-apexLogo:before {
    content: url(../../img/apex-logo.svg); }

.a-Header-tabsContainer {
  display: inline-block;
  vertical-align: top; }

.a-Header-tabsContainer {
  background-color: transparent; }
  .a-Header-tabsContainer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    white-space: nowrap; }
  .a-Header-tabsContainer .a-MenuBar-item {
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    border: none; }
    .a-Header-tabsContainer .a-MenuBar-item.is-expanded {
      box-shadow: none;
      outline: none; }
  .a-Header-tabsContainer .a-MenuBar-item > .a-Menu-subMenuCol {
    vertical-align: top;
    padding: 9px 12px 9px 2px;
    border: none;
    margin: 0;
    cursor: pointer; }
    .a-Header-tabsContainer .a-MenuBar-item > .a-Menu-subMenuCol .a-Icon {
      padding: 2px;
      width: 22px;
      height: 22px;
      border: 1px solid;
      border-radius: 100%; }
  .a-Header-tabsContainer .a-MenuBar-label {
    display: inline-block;
    font-size: 12px;
    padding: 12px 12px 12px 12px;
    text-decoration: none; }
    .a-Header-tabItem--withIcon .a-Header-tabsContainer .a-MenuBar-label {
      padding-right: 12px;
      padding-left: 12px; }
    .a-Header-tabsContainer .a-MenuBar-label:hover {
      background-clip: padding-box; }
  .a-Header-tabsContainer .a-Header-tabLabel {
    margin-left: 4px; }

body .a-Menu button.a-Menu-label, body .a-MenuBar button.a-MenuBar-label {
  text-align: left; }

.a-Header-account {
  position: relative; }

.a-Header-userPhoto {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  vertical-align: top;
  overflow: hidden;
  position: relative; }

.a-Header-photoPlaceholder {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset; }

.a-Header-userPhoto--large,
.a-Header-userPhoto--large .a-Icon,
.a-Header-userPhoto--large img {
  width: 64px;
  height: 64px; }

.a-Header-userPhoto--large .a-Icon:before {
  font-size: 64px; }

.a-Header-userName {
  display: inline;
  margin: 0 2px;
  line-height: 24px;
  vertical-align: top;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 120px; }

.a-Header-userName + .a-Icon {
  margin: 4px 0; }

.a-Header-search .a-SearchBox {
  position: relative;
  z-index: 100; }
  .a-Header-search .a-SearchBox:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 1px;
    z-index: 1; }

.a-Header-accountDialog {
  text-align: left;
  position: absolute;
  top: 40px;
  right: 0;
  z-index: 1000;
  display: none;
  width: 320px;
  border: 1px solid;
  border-top-width: 0;
  border-right-width: 0; }
  .a-Header-accountDialog .a-Menu-content {
    box-shadow: none;
    border-radius: 0;
    border-width: 0;
    background-color: transparent; }
  .a-Header-accountDialog.a-Menu .a-Menu-label {
    padding: 0; }
  .a-Header-accountDialog.a-Menu .a-Menu-item {
    display: inherit;
    color: inherit;
    line-height: inherit;
    float: none; }
    .a-Header-accountDialog.a-Menu .a-Menu-item.is-focused {
      background-color: inherit;
      color: inherit; }
  .a-Header-accountDialog.a-Menu .a-MediaBlock-content .a-Menu-item.a-Menu-label {
    cursor: default; }
  .a-Header-accountDialog.a-Menu .a-Menu-content .a-Menu-item.is-focused:not(:hover) {
    box-shadow: 0 0 0 1px rgba(57, 155, 234, 0.5) inset;
    border-radius: 2px; }
  .a-Header-accountDialog .a-MediaBlock {
    padding: 16px; }
  .a-Header-accountDialog .a-MediaBlock-graphic {
    margin-right: 16px; }
  .a-Header-accountDialog .a-MediaBlock-content {
    padding: 4px 0; }

.a-Header-dialogText {
  display: block;
  line-height: 16px; }

.a-Header-dialogName {
  font-weight: 300;
  font-size: 20px;
  line-height: 24px; }

.a-Header-dialogUsername {
  font-size: 11px;
  font-weight: normal; }

.a-Header-dialogLabel {
  margin-top: 16px;
  line-height: 10px;
  font-size: 9px;
  text-transform: uppercase;
  display: block; }

.a-Header-dialogValue {
  font-size: 12px;
  line-height: 16px; }

.a-Header-dialogName,
.a-Header-dialogValue {
  white-space: normal; }

.a-Header-accountDialog-buttons {
  border-top: 1px solid; }
  .a-Header-accountDialog-buttons .a-Toolbar-items {
    padding: 16px; }
  .a-Header-accountDialog-buttons .a-Button.a-Menu-item.a-Menu-label {
    padding: 8px 12px;
    line-height: 16px;
    transition: none;
    display: inline-block; }
    .a-Header-accountDialog-buttons .a-Button.a-Menu-item.a-Menu-label.is-focused:focus:hover {
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset, 0 1px 4px rgba(0, 0, 0, 0.1) !important; }

.a-Header-accountDialog-editProfile.a-Menu-item.a-Menu-label,
.a-Menu-content .a-Header-dialogLink.a-Menu-item .a-Menu-label {
  display: block;
  margin-top: 4px;
  color: #146fb8; }
  .a-Header-accountDialog-editProfile.a-Menu-item.a-Menu-label:hover,
  .a-Menu-content .a-Header-dialogLink.a-Menu-item .a-Menu-label:hover {
    color: #146fb8;
    text-decoration: underline; }

.a-Header-accountDialog-editProfile.a-Menu-item.a-Menu-label {
  text-align: center; }

.a-Header-accountDialog-editProfile.a-Menu-item.a-Menu-label,
.a-Header-dialogLink.a-Menu-item .a-Menu-label {
  font-size: 11px;
  line-height: 16px;
  padding: 0;
  border-radius: 2px;
  transition: none; }

.apex-instance-admin .a-Header-tabsContainer .a-MenuBar-item.a-Menu--current {
  box-shadow: none; }

@media only screen and (max-width: 1024px) {
  .a-Header-apexLogo {
    width: 96px; } }

@media only screen and (max-width: 920px) {
  .a-Header-tabsContainer .a-Header-tabLabel {
    display: none; } }

@media only screen and (max-width: 1280px) {
  .a-Header-userName {
    display: none; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkhlYWRlci5zY3NzIiwiLi4vbW9kdWxlcy9fY29tbW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O2dGQUVnRjtBQUNoRjtFQUNFLG1CQUFtQixFQUNwQjs7QUFDRDtFQUNFLGVBQWUsRUFDaEI7O0FBQ0Q7RUFDRSxxQkFBcUI7RUFFckIsYUFBYSxFQUtkO0VBUkQ7SUFLSSxzQkFBc0I7SUFDdEIsb0JBQW9CLEVBQ3JCOztBQUVIO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsU0FBUztFQUNULE9BQU87RUFDUCwwQkFBMEI7RUFDMUIsbUNBQW1DLEVBS3BDO0VBWkQ7SUFTSSxZQUFZO0lBQ1osZUFBZSxFQUNoQjs7QUFFSDs7RUFFRSxhQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSw4QkFBOEI7RUFDOUIsaUJBQWlCLEVBQ2xCOztBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUVuQjs7QUFDRDtFQUNFLCtDQUE4QztFQUM5Qyx5QkFBeUI7RUFDekIsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsWUFBWSxFQU9iO0VBSEM7SUFDSSxzQ0FBcUMsRUFDeEM7O0FBS0g7RUFFRSxzQkFBc0I7RUFDdEIsb0JBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsOEJBQThCLEVBd0QvQjtFQXpERDtJQUdJLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixvQkFBb0IsRUFDckI7RUFSSDtJQVVJLGVBQWU7SUFDZixZQUFZO0lBQ1osVUFBVTtJQUNWLFdBQVc7SUFDWCxhQUFhLEVBS2Q7SUFuQkg7TUFnQk0saUJBQWlCO01BQ2pCLGNBQWMsRUFDZjtFQWxCTDtJQXFCSSxvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixVQUFVO0lB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RjtJQVdJLFlBQVksRUFLZixFQUFBOztBQWdFRztFQXJESjtJQXNETSxjQUFjLEVBRWpCLEVBQUE7O0FDWUM7RURrQ0o7SUFTSSxjQUFjLEVBRWpCLEVBQUEiLCJmaWxlIjoiSGVhZGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLVxuLy8gSW1wb3J0IENvbXBhc3Ncbi8vIC0tLVxuQGltcG9ydCBcIi4uL21vZHVsZXMvY29tbW9uXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1IZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYS1IZWFkZXItY29sIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYS1IZWFkZXItY29sLS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMjA4cHg7XG4gIC8vIE5lZWQgZm9udC1zaXplOiAwIGFzIGVsZW1lbnRzIGFyZSBpbmxpbmUtYmxvY2sgYW5kIGhhdmUgd2hpdGVzcGFjZSBhcm91bmQgdGhlbVxuICBmb250LXNpemU6IDA7XG4gICYgPiBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG4uYS1IZWFkZXItY29sLS1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgI0UwRTBFMCBpbnNldDtcbiAgJiA+IGRpdiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5hLUhlYWRlci0tbG9naW4sXG4uYS1QYWdlLS1zaW1wbGVXaXphcmQgLmEtSGVhZGVyIHtcbiAgei1pbmRleDogODAwIDtcbn1cbi5hLUhlYWRlci0tbG9naW4gLmEtSGVhZGVyLWNvbC0tcmlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5hLUhlYWRlci1sb2dvIHtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC8vIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYS1IZWFkZXItYXBleExvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2FwZXgtbG9nby5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyMTJweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgMDtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICB3aWR0aDogOTZweDtcbiAgfVxuICAudS1IQ00gJjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC4uLy4uL2ltZy9hcGV4LWxvZ28uc3ZnKTtcbiAgfVxufVxuXG5cblxuLmEtSGVhZGVyLXRhYnNDb250YWluZXIge1xuICAvLyBmbGV4OiAgMTs7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuXG4uYS1IZWFkZXItdGFic0NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmEtTWVudUJhci1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgJi5pcy1leHBhbmRlZCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmEtTWVudUJhci1pdGVtID4gLmEtTWVudS1zdWJNZW51Q29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDlweCAxMnB4IDlweCAycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBwYWRkaW5nOiAxcHg7XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgLmEtSWNvbiB7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmEtTWVudUJhci1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggMTJweCAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAuYS1IZWFkZXItdGFiSXRlbS0td2l0aEljb24gJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgfVxuICB9XG5cbiAgLmEtSGVhZGVyLXRhYkxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIwcHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vRm9yY2luZyB0ZXh0LWFsaWduOiBsZWZ0IGZvciBhLU1lbnUgbGFiZWxzLiBUT0RPOiBEZXRlcm1pbmUgaWYgd2UgZXZlciB3YW50IHRoZXNlIGxhYmVscyB0byBhbGlnbiByaWdodC4gQWxzbywgZGV0ZXJtaW5lIGlmIHRoaXMgQ1NTIHdvdWxkIGJlIGJldHRlciBwbGFjZWQgaW4gYXBwX3VpLlxuYm9keSB7XG4gIC5hLU1lbnUgYnV0dG9uLmEtTWVudS1sYWJlbCwgLmEtTWVudUJhciBidXR0b24uYS1NZW51QmFyLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5hLUhlYWRlci1hY2NvdW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBTdGF0ZXNcbi5hLUhlYWRlci10YWJJdGVtLmlzLWFjdGl2ZSAuYS1IZWFkZXItdGFiTGluayB7XG59XG5cbi8vIEhlYWRlciBQaG90b1xuLmEtSGVhZGVyLXVzZXJQaG90byB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmEtSGVhZGVyLXBob3RvUGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjE1KSBpbnNldDtcbn1cbi5hLUhlYWRlci11c2VyUGhvdG8tLWxhcmdlLFxuLmEtSGVhZGVyLXVzZXJQaG90by0tbGFyZ2UgLmEtSWNvbixcbi5hLUhlYWRlci11c2VyUGhvdG8tLWxhcmdlIGltZyB7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG59XG4uYS1IZWFkZXItdXNlclBob3RvLS1sYXJnZSAuYS1JY29uOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNjRweDtcbn1cbi5hLUhlYWRlci11c2VyTmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEyMHB4O1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsLXNjcmVlbnMtaW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYS1IZWFkZXItdXNlck5hbWUgKyAuYS1JY29uIHtcbiAgbWFyZ2luOiA0cHggMDtcbn1cbi8vIEhlYWRlciBTZWFyY2hcbi5hLUhlYWRlci1zZWFyY2gge1xuICAuYS1TZWFyY2hCb3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgei1pbmRleDogMTsgLy9OZWVkIHRvIGFkZCB6LWluZGV4IHNvIGJvcmRlciBzaG93cyBvbiBob3ZlciBzdGF0ZVxuICAgICAgfVxuICB9XG59XG5cbi8vICNoZWFkZXItYWNjb3VudE1lbnU6aG92ZXIsXG4vLyAjaGVhZGVyLWFjY291bnRNZW51OmZvY3VzLFxuLy8gI2hlYWRlci1hY2NvdW50TWVudTphY3RpdmUge1xuLy8gICAmICsgLmEtSGVhZGVyLWFjY291bnREaWFsb2cge1xuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICB9XG4vLyB9XG4vLyAuYS1IZWFkZXItYWNjb3VudDpob3ZlciAuYS1IZWFkZXItYWNjb3VudERpYWxvZyB7XG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gfVxuXG4vLyBBY2NvdW50IERpYWxvZ1xuLmEtSGVhZGVyLWFjY291bnREaWFsb2cge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDBweDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIFxuICB3aWR0aDogMzIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIC5hLU1lbnUtY29udGVudCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmLmEtTWVudSAuYS1NZW51LWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICYuYS1NZW51IC5hLU1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICAmLmlzLWZvY3VzZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICAmLmEtTWVudSAuYS1NZWRpYUJsb2NrLWNvbnRlbnQgLmEtTWVudS1pdGVtLmEtTWVudS1sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gICYuYS1NZW51IC5hLU1lbnUtY29udGVudCAuYS1NZW51LWl0ZW0ge1xuICAgICYuaXMtZm9jdXNlZDpub3QoOmhvdmVyKSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgjMzk5QkVBLC41KSBpbnNldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB9XG4gIH1cbiAgLmEtTWVkaWFCbG9jayB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAuYS1NZWRpYUJsb2NrLWdyYXBoaWMge1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgfVxuICAuYS1NZWRpYUJsb2NrLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICB9XG59XG5cbi5hLUhlYWRlci1kaWFsb2dUZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuLmEtSGVhZGVyLWRpYWxvZ05hbWUge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmEtSGVhZGVyLWRpYWxvZ1VzZXJuYW1lIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmEtSGVhZGVyLWRpYWxvZ0xhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hLUhlYWRlci1kaWFsb2dWYWx1ZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG5cbi5hLUhlYWRlci1kaWFsb2dOYW1lLFxuLmEtSGVhZGVyLWRpYWxvZ1ZhbHVlIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmEtSGVhZGVyLWFjY291bnREaWFsb2ctYnV0dG9ucyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgLmEtVG9vbGJhci1pdGVtcyB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAuYS1CdXR0b24uYS1NZW51LWl0ZW0uYS1NZW51LWxhYmVsIHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmLmlzLWZvY3VzZWQ6Zm9jdXM6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSBpbnNldCwgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyAmLmlzLWZvY3VzZWQ6Zm9jdXM6bm90KDpob3Zlcikge1xuICAgIC8vICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSBpbnNldCwgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAvLyB9XG4gIH1cbn1cbi5hLUhlYWRlci1hY2NvdW50RGlhbG9nLWVkaXRQcm9maWxlLmEtTWVudS1pdGVtLmEtTWVudS1sYWJlbCxcbi5hLU1lbnUtY29udGVudCAuYS1IZWFkZXItZGlhbG9nTGluay5hLU1lbnUtaXRlbSAuYS1NZW51LWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY29sb3I6ICMxNDZmYjg7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjMTQ2ZmI4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4uYS1IZWFkZXItYWNjb3VudERpYWxvZy1lZGl0UHJvZmlsZS5hLU1lbnUtaXRlbS5hLU1lbnUtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYS1IZWFkZXItYWNjb3VudERpYWxvZy1lZGl0UHJvZmlsZS5hLU1lbnUtaXRlbS5hLU1lbnUtbGFiZWwsXG4uYS1IZWFkZXItZGlhbG9nTGluay5hLU1lbnUtaXRlbSAuYS1NZW51LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uYXBleC1pbnN0YW5jZS1hZG1pbiAuYS1IZWFkZXItdGFic0NvbnRhaW5lciAuYS1NZW51QmFyLWl0ZW0uYS1NZW51LS1jdXJyZW50IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn0iLCJAbWl4aW4gdHJhbnNwYXJlbnREaXZpZGVycyB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkZGLC43NSk7XG4gICAgICB0b3A6IDA7XG4gICB9XG4gICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsLjE1KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgIH1cbiAgICY6YmVmb3JlLFxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgIH1cbn1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgICY6YmVmb3JlLFxuICAgJjphZnRlciB7XG4gICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgZGlzcGxheTogdGFibGU7XG4gICB9XG4gICAmOmFmdGVyIHtcbiAgICAgICBjbGVhcjogYm90aDtcbiAgIH1cbiAgICp6b29tOiAxO1xufVxuXG5AbWl4aW4gYXBleDVpY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuQG1peGluIHZpc3VhbGx5SGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiBub1dyYXBUZXh0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEBtaXhpbiBjbGVhcmZpeDIge1xuLy8gICAgIHpvb206MTtcbi8vICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4vLyAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7IFxuLy8gICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4vLyAgICAgICAgIGhlaWdodDogMDsgXG4vLyAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IFxuLy8gICAgIH1cbi8vICAgICAmOmFmdGVyIHtcbi8vICAgICAgICAgY2xlYXI6IGJvdGg7XG4vLyAgICAgfVxuLy8gfVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBTcHJpdGUgTWl4aW5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtaXhpbiBwZFNwcml0ZSgkc2l6ZSwgJHgsICR5LCAkd2lkdGg6IDAsICRoZWlnaHQ6IDAsICRpbXA6ICcnKSB7XG4gICRvZmZzZXQ6IDA7XG4gIEBpZiAkc2l6ZSA9PSAxNiB7XG4gICAgJG9mZnNldDogMjA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMjAge1xuICAgICRvZmZzZXQ6IDE1MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAyNCB7XG4gICAgJG9mZnNldDogMjcwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDMyIHtcbiAgICAkb2Zmc2V0OiAzNzA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMzYge1xuICAgICRvZmZzZXQ6IDU2MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSA2NCB7XG4gICAgJG9mZnNldDogLTE7IC8vNzQwXG4gIH0gQGVsc2Uge1xuICAgICRvZmZzZXQ6IDA7XG4gIH1cbiAgXG4gIEBpZiAkd2lkdGggIT0gMCB7XG4gICAgd2lkdGg6ICN7JHdpZHRofXB4O1xuICB9XG4gIEBpZiAkaGVpZ2h0ICE9IDAge1xuICAgIGhlaWdodDogI3skaGVpZ2h0fXB4O1xuICB9XG4gIEBpZiAkb2Zmc2V0ID4gMCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLSN7JHgqJHNpemV9cHggLSN7KCR5KiRzaXplKSskb2Zmc2V0fXB4ICN7JGltcH07XG4gIH0gQGVsc2UgaWYgJG9mZnNldCA9PSAtMSB7XG4gICAgLy8gV2l6YXJkIFgtUG9zaXRpb24gaXMgNTAlXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIC0jeygkeSokc2l6ZSkrNzQwfXB4ICN7JGltcH07XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0jeyR4fXB4IC0jeygkeSl9cHggI3skaW1wfTtcbiAgfVxufVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBFeHRlbmRpYmxlIFNwcml0ZSBDbGFzc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJXBkU3ByaXRlIHtcbiAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hcGV4XzVfdWkuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIE1lZGlhIFF1ZXJpZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiRkaXNwbGF5LXh4eHM6IDY0MHB4O1xuJGRpc3BsYXkteHhzOiA4MDBweDtcbiRkaXNwbGF5LXhzOiAxMDI0cHg7XG4kZGlzcGxheS1zbWFsbDogMTI4MHB4O1xuJGRpc3BsYXktbWVkaXVtOiAxNjgwcHg7XG4kZGlzcGxheS1sYXJnZTogMTkyMHB4O1xuXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB4eHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHhzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbGVzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbWVkaXVtICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZXN0LXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG5cbi8vIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEV4dGVuZGlibGUgSWNvbiBDbGFzc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJWEtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gc2hhZG93U2Nyb2xsKCRzaXplOiA0LCAkYmc6ICNGRkZGRkYpIHtcbiAgJHNoYWRvd1NtYWxsOiAkc2l6ZSArIFwicHhcIjtcbiAgJHNoYWRvd0JpZzogICAkc2l6ZSAqIDIgKyBcInB4XCI7XG4gICRib2R5Qkc6ICAgICAgJGJnO1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCgkYm9keUJHIDMwJSwgcmdiYSgkYm9keUJHLDApKSxcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgkYm9keUJHLDApLCAkYm9keUJHIDcwJSkgMCAxMDAlLFxuICAgIFxuICAgIGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC4wMjUpLCByZ2JhKDAsMCwwLDApKSxcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwKSwgcmdiYSgwLDAsMCwuMDI1KSkgMCAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUJHO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgJHNoYWRvd0JpZywgMTAwJSAkc2hhZG93QmlnLCAxMDAlICRzaGFkb3dTbWFsbCwgMTAwJSAkc2hhZG93U21hbGw7XG4gIFxuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
