/*
* @section      Style for login wrapper
* @description  This section holds specific style redeclarations for
*               login content wrapper
*/
.dropdown-menu .jx-header-account-wrapper {
  width: 18.75rem;
  padding: 1.875rem; }

.jx-header-account-wrapper .radio-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .jx-header-account-wrapper .radio-buttons .custom-control {
    margin-right: 1.25rem; }

.jx-header-account-wrapper .nav {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.jx-header-account-wrapper.is-logged h3 {
  overflow: hidden;
  text-overflow: ellipsis; }

.jx-header-account-wrapper .header-login-content {
  display: none; }
  .jx-header-account-wrapper .header-login-content.active {
    display: block;
    max-height: none;
    overflow: visible; }

.jx-header-account-wrapper footer {
  text-align: center; }
  .jx-header-account-wrapper footer .register-link {
    margin-top: 0.625rem; }

.jx-header-account-wrapper .radio-inline {
  margin-right: 1.25rem; }
  .jx-header-account-wrapper .radio-inline:last-child {
    margin-right: 0; }
  .jx-header-account-wrapper .radio-inline .custom-radio {
    margin-right: 0; }

/*
* @section      Style for social login buttons
* @description  This section holds specific style for
*               social login buttons
*/
.social-login-buttons {
  margin: 0 -0.3125rem; }
  .social-login-buttons a {
    display: inline-block;
    margin: 0 0.3125rem 0.625rem; }
    .social-login-buttons a i {
      margin-right: 0.3125rem; }

/*
* @section      MODAL AS LEFT/RIGHT SIDEBAR
* @description  Add "left" or "right" in modal parent div, after class="modal".
*/
.jx-header-account {
  /*Left*/
  /*Right*/ }
  .jx-header-account .modal.left .modal-dialog,
  .jx-header-account .modal.right .modal-dialog {
    position: fixed;
    margin: auto;
    width: 20rem;
    height: 100%;
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0); }
  .jx-header-account .modal.left .modal-content,
  .jx-header-account .modal.right .modal-content {
    height: 100%;
    overflow-y: auto; }
  .jx-header-account .modal.left.fade .modal-dialog {
    left: -20rem;
    -webkit-transition: opacity 0.3s linear, left 0.3s ease-out;
    transition: opacity 0.3s linear, left 0.3s ease-out; }
  .jx-header-account .modal.left.fade.in .modal-dialog {
    left: 0; }
  .jx-header-account .modal.right.fade .modal-dialog {
    right: -20rem;
    -webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
    transition: opacity 0.3s linear, right 0.3s ease-out; }
  .jx-header-account .modal.right.fade.in .modal-dialog {
    right: 0; }

/*
* @section      Style for login wrapper
* @description  This section holds specific style redeclarations for
*               login content wrapper
*/
#wrapper .jx-header-account-wrapper,
#footer .jx-header-account-wrapper {
  padding: 1.25rem;
  max-width: 100%;
  margin-bottom: 1.875rem;
  background: #ffffff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0.125rem 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.2); }
  #wrapper .jx-header-account-wrapper [class^="col-"],
  #wrapper .jx-header-account-wrapper [class*=" col-"],
  #footer .jx-header-account-wrapper [class^="col-"],
  #footer .jx-header-account-wrapper [class*=" col-"] {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    text-align: left; }
  @media (min-width: 768px) and (min-width: 576px) {
  .dropdown-menu .jx-header-account-wrapper.is-logged.twocolumns {
    width: 31.25rem; } }
  @media (min-width: 768px) {
  .jx-header-account-wrapper.is-logged.twocolumns .user-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.25rem; }
    .jx-header-account-wrapper.is-logged.twocolumns .user-data img {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 30%;
              flex: 0 0 30%;
      max-width: 30%;
      margin-right: 1.25rem;
      border: 0.125rem solid #f6f6f6; }
    .jx-header-account-wrapper.is-logged.twocolumns .user-data h3 {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
  .jx-header-account-wrapper.is-logged.twocolumns ul {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 1.25rem;
            column-gap: 1.25rem;
    list-style-position: inside; }
      .jx-header-account .modal.left .modal-dialog,
      .jx-header-account .modal.right .modal-dialog {
        width: 31.25rem; }
      .jx-header-account .modal.left.fade .modal-dialog {
        left: -31.25rem; }
      .jx-header-account .modal.right.fade .modal-dialog {
        right: -31.25rem; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4aGVhZGVyYWNjb3VudC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9wcmVzdGFzaG9wX3RoZW1lMTUwNC90aGVtZXMvdGhlbWVfMTUwNC9fZGV2L21vZHVsZXMvanhoZWFkZXJhY2NvdW50L3ZpZXdzL2Nzcy9qeGhlYWRlcmFjY291bnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4aGVhZGVyYWNjb3VudC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9wcmVzdGFzaG9wX3RoZW1lMTUwNC90aGVtZXMvdGhlbWVfMTUwNC9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7Ozs7RUFJRTtBQUdBO0VBQ0UsZ0JBQVk7RUFDWixrQkFBYSxFQUNkOztBQUpIO0VBT0kscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFLZDtFQVpIO0lBVU0sc0JBQWtCLEVBQ25COztBQVhMO0VBY0kseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUIsRUFDeEI7O0FBZkg7RUFtQk0saUJBQWdCO0VBQ2hCLHdCQUF1QixFQUN4Qjs7QUFyQkw7RUFvREksY0FBYSxFQU1kO0VBMURIO0lBc0RNLGVBQWM7SUFDZCxpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ2xCOztBQXpETDtFQTRESSxtQkFBa0IsRUFJbkI7RUFoRUg7SUE4RE0scUJBQWdCLEVBQ2pCOztBQS9ETDtFQWtFSSxzQkFBa0IsRUFPbkI7RUF6RUg7SUFvRU0sZ0JBQWUsRUFDaEI7RUFyRUw7SUF1RU0sZ0JBQWUsRUFDaEI7O0FBSUw7Ozs7RUFJRTtBQUVGO0VBQ0UscUJBQWMsRUFRZjtFQVREO0lBR0ksc0JBQXFCO0lBQ3JCLDZCQUFrQixFQUluQjtJQVJIO01BTU0sd0JBQWlCLEVBQ2xCOztBQUlMOzs7RUFHRTtBQUNGO0VBbUJFLFFBQVE7RUFhUixTQUFTLEVBWVY7RUE1Q0Q7O0lBR0ksZ0JBQWU7SUFDZixhQUFZO0lBQ1osYUFBWTtJQUNaLGFBQVk7SUFDWix5Q0FBZ0M7WUFBaEMsaUNBQWdDLEVBSWpDO0VBWEg7O0lBZUksYUFBWTtJQUNaLGlCQUFnQixFQUNqQjtFQWpCSDtJQXFCSSxhQUFZO0lBQ1osNERBQW1EO0lBQW5ELG9EQUFtRCxFQUlwRDtFQTFCSDtJQTZCSSxRQUFPLEVBQ1I7RUE5Qkg7SUFrQ0ksY0FBYTtJQUNiLDZEQUFvRDtJQUFwRCxxREFBb0QsRUFJckQ7RUF2Q0g7SUEwQ0ksU0FBUSxFQUNUOztBQUdIOzs7O0VBSUU7QUFFRjs7RUFHSSxpQkFBYTtFQUNiLGdCQUFlO0VBQ2Ysd0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixrRUFBNEM7VUFBNUMsMERBQTRDLEVBTzdDO0VBZEg7Ozs7SUFVTSxZQUFXO0lBQ1gsb0JBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxpQkFBZ0IsRUFDakI7RUMvR0Q7RUQxQk07SUFDRSxnQkFBWSxFQUNiO0VBTFA7RUF0Qko7SUE4QlUscUJBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix1QkFBbUIsRUFVcEI7SUExQ1Q7TUFrQ1ksb0JBQWE7VUFBYixrQkFBYTtjQUFiLGNBQWE7TUFDYixlQUFjO01BQ2Qsc0JBQWtCO01BQ2xCLCtCQUF5QixFQUMxQjtJQXRDWDtNQXdDWSw2QkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUSxFQUNUO0VBekNYO0lBNENVLHdCQUFlO1lBQWYsZ0JBQWU7SUFDZiw0QkFBZ0I7WUFBaEIsb0JBQWdCO0lBQ2hCLDRCQUEyQixFQUM1QjtNQWtEVDs7UUFTTSxnQkFBWSxFQUVmO01BWEg7UUF3Qk0sZ0JBQVksRUFFZjtNQTFCSDtRQXFDTSxpQkFBYSxFQUVoQixFQXpGTSIsImZpbGUiOiIuLlxcbW9kdWxlc1xcanhoZWFkZXJhY2NvdW50XFx2aWV3c1xcY3NzXFxqeGhlYWRlcmFjY291bnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImNzcy9wYXJ0aWFscy9fdmFyaWFibGVzXCI7XHJcbi8qXHJcbiogQHNlY3Rpb24gICAgICBTdHlsZSBmb3IgbG9naW4gd3JhcHBlclxyXG4qIEBkZXNjcmlwdGlvbiAgVGhpcyBzZWN0aW9uIGhvbGRzIHNwZWNpZmljIHN0eWxlIHJlZGVjbGFyYXRpb25zIGZvclxyXG4qICAgICAgICAgICAgICAgbG9naW4gY29udGVudCB3cmFwcGVyXHJcbiovXHJcblxyXG4uangtaGVhZGVyLWFjY291bnQtd3JhcHBlciB7XHJcbiAgLmRyb3Bkb3duLW1lbnUgJiB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLnJhZGlvLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXYge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmLmlzLWxvZ2dlZCB7XHJcbiAgICBoMyB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICYudHdvY29sdW1ucyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUgJiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVzZXItZGF0YSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjZmNmY2O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogMjBweDtcclxuICAgICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmhlYWRlci1sb2dpbi1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICB9XHJcbiAgZm9vdGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5yZWdpc3Rlci1saW5rIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnJhZGlvLWlubGluZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLXJhZGlvIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxuKiBAc2VjdGlvbiAgICAgIFN0eWxlIGZvciBzb2NpYWwgbG9naW4gYnV0dG9uc1xyXG4qIEBkZXNjcmlwdGlvbiAgVGhpcyBzZWN0aW9uIGhvbGRzIHNwZWNpZmljIHN0eWxlIGZvclxyXG4qICAgICAgICAgICAgICAgc29jaWFsIGxvZ2luIGJ1dHRvbnNcclxuKi9cclxuXHJcbi5zb2NpYWwtbG9naW4tYnV0dG9ucyB7XHJcbiAgbWFyZ2luOiAwIC01cHg7XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHg7XHJcbiAgICBpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG4qIEBzZWN0aW9uICAgICAgTU9EQUwgQVMgTEVGVC9SSUdIVCBTSURFQkFSXHJcbiogQGRlc2NyaXB0aW9uICBBZGQgXCJsZWZ0XCIgb3IgXCJyaWdodFwiIGluIG1vZGFsIHBhcmVudCBkaXYsIGFmdGVyIGNsYXNzPVwibW9kYWxcIi5cclxuKi9cclxuLmp4LWhlYWRlci1hY2NvdW50IHtcclxuICAubW9kYWwubGVmdCAubW9kYWwtZGlhbG9nLFxyXG4gIC5tb2RhbC5yaWdodCAubW9kYWwtZGlhbG9nIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tb2RhbC5sZWZ0IC5tb2RhbC1jb250ZW50LFxyXG4gIC5tb2RhbC5yaWdodCAubW9kYWwtY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLypMZWZ0Ki9cclxuICAubW9kYWwubGVmdC5mYWRlIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgbGVmdDogLTMyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgbGVmdCAwLjNzIGVhc2Utb3V0O1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgIGxlZnQ6IC01MDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tb2RhbC5sZWZ0LmZhZGUuaW4gLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLypSaWdodCovXHJcbiAgLm1vZGFsLnJpZ2h0LmZhZGUgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICByaWdodDogLTMyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgcmlnaHQgMC4zcyBlYXNlLW91dDtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICByaWdodDogLTUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1vZGFsLnJpZ2h0LmZhZGUuaW4gLm1vZGFsLWRpYWxvZyB7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbiogQHNlY3Rpb24gICAgICBTdHlsZSBmb3IgbG9naW4gd3JhcHBlclxyXG4qIEBkZXNjcmlwdGlvbiAgVGhpcyBzZWN0aW9uIGhvbGRzIHNwZWNpZmljIHN0eWxlIHJlZGVjbGFyYXRpb25zIGZvclxyXG4qICAgICAgICAgICAgICAgbG9naW4gY29udGVudCB3cmFwcGVyXHJcbiovXHJcblxyXG4jd3JhcHBlcixcclxuI2Zvb3RlciB7XHJcbiAgLmp4LWhlYWRlci1hY2NvdW50LXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICBbY2xhc3NePVwiY29sLVwiXSxcclxuICAgIFtjbGFzcyo9XCIgY29sLVwiXSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeGhlYWRlcmFjY291bnQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvcHJlc3Rhc2hvcF90aGVtZTE1MDQvdGhlbWVzL3RoZW1lXzE1MDQvX2Rldi9tb2R1bGVzL2p4aGVhZGVyYWNjb3VudC92aWV3cy9jc3MvanhoZWFkZXJhY2NvdW50LnNjc3MiLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDFweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDFweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlcikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlcikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4aGVhZGVyYWNjb3VudC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9wcmVzdGFzaG9wX3RoZW1lMTUwNC90aGVtZXMvdGhlbWVfMTUwNC9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlUm9vdCI6IiJ9*/