/*!***********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/app.css ***!
  \***********************************************************************************************************/
:root {
    font-size: 0.6rem; /* for example */
}

body {
    background-color: lightgray;
}

/* pour le clignotement d'un bouton dans la page SCANNER > INVENTAIRE */
@keyframes flash-colors {
  0% { background-color: #dc3545; border-color: #dc3545; } /* btn-danger */
  50% { background-color: #ffc107; border-color: #ffc107; } /* btn-warning */
  100% { background-color: #dc3545; border-color: #dc3545; }
}

.btn-flash {
  animation: flash-colors 0.8s infinite;
  color: white !important; /* Pour garder le texte lisible */
}
/* Fin du clignotement */

.bg-login-image {
    background: url(/build/assets/login-waf.ee0722ef.jfif);
    background-position: center;
    background-size: cover;
}

/*
# Est utilisé pour les boutons "btn-secondary btn-icon-split"
*/
.rental-full-with {
  width: 100%;
  justify-content: left;
}

.btn-secondary {
    color: #fff;
    background-color: #858796;
    border-color: #858796;
}

.control-label {
    text-align: right;
    vertical-align: middle;
}

.TXTInfo {
    color: #424242;    
}


.select2-choices {
  min-height: 150px;
  max-height: 150px;
  overflow-y: auto;
}

/*Pour faire en sorte de repérer la version BETA*/
.bg-gradient-primary-to-secondary-beta {
    background-color: #e81500;
    background-image: linear-gradient(135deg, #eec7c7 0%, #e81500 100%);
}

/*Pour faire en sorte de repérer la version CR*/
.bg-gradient-primary-to-secondary-cr {
    background-color: #00ac69;
    background-image: linear-gradient(135deg,#00ac69,#0c5d0c);
}

/*
    
    A certain moment, on souhaite ne pas avoir une liste IMMENNNNNSE
    Il faut préciser à l'instanciation de SELECT2 : containerCssClass: "my-select2-container-class",
 
    $(".select2-my-special-select").select2({
        containerCssClass: "my-select2-container-class",
        dropdownCssClass: "test"
    });
*/

.select2-limitedHeight {
    height: 60px;
    overflow-y: scroll;
} 

/* pour la hauteur des zones de DOWNLOAD */
.ajax-upload-dragdrop {
/*    height: 100px;*/
}

/* pour que notre menu soit jolis !*/
.topnav .navbar-brand {
    width: 15rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0;
    font-size: 1rem;
    font-weight: normal !important;
}

/*
  X----------------------------------------------------------------------
  | Tuning des Datatables !
  X----------------------------------------------------------------------     
 */


/* 
    Est utilisé pour le scanner : on augmente la taille pour que ce soit visible sur GSM 
*/
.TextBigSize {
    font-size: 4em;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: 6px;
    margin-left: 0px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    *cursor: hand;
    color: #333333 !important;
    border: none;
    border-radius: 2px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    cursor: default;
    color: #666 !important;
    border: 0px;
    background: transparent;
    box-shadow: none;
}

.dtrg-start,
.dtrg-start {
    background-color: #0489B1 !important;
    color: #FFF;
}

.dtrg-end,
.dtrg-end:hover {
    background-color: #CEE3F6 !important;
    color: #6E6E6E;
}

#dtBtCHOIX  {     background-color: #22B06A; }
#dtBtOPT    {     background-color: #f6c23e; }
#dtBtSAVE   {     background-color: #1cc88a; }
#dtBtRefresh {  background-color: #FF8000; }
#dtBtDEL    {      background-color: red;  }

/*La couleur des choix d'ITEMS, AUTOCOMPLETE*/
.articleStockMoyen { background-color: #FFBC57 }
.articleStockVide  { background-color: #FFCDD2 }


/*Pour quand une ligne est sélectionnée dans les Datatables, elle soit en Blanc ! (sur fond bleu) */
table.dataTable > tbody > tr.selected > td,
table.dataTable > tbody > tr.selected > th
{
    color: white !important;
    background-color: #DBDBDB !important;
}

/*Pour quand une ligne est sélectionnée dans les Datatables, son INPUT BOX change aussi de couleur*/
table.dataTable > tbody > tr.selected > td > input
{
    color: white !important;
}

/*Pour quand une ligne est sélectionnée dans les Datatables, son TEXTAREA change aussi de couleur*/
table.dataTable > tbody > tr.selected > td > textarea
{
    color: white !important;
}

/* Pour bouger la SEARCH BOX qui est remontée depuis la version 2.x */
.dt-search {
    margin-top: 1em;
    text-align: right;
}

.form-control-dt {
    display: block;
    width: 100%;
    height: calc(1.5em);
/*    height: calc(1.5em + 1rem + 2px);*/
/*    padding: 0.5rem 1rem;*/
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #687281;
    background-color: rgba(255, 255, 255, 0);
    background-clip: padding-box;
    border: 0px;
    border-bottom: 1px solid #D8D8D8;
    /*border-radius: 0.35rem;*/
    -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control-dt-group {
/*    display: block;*/
    width: 50%;
    height: calc(1.5em);
/*    height: calc(1.5em + 1rem + 2px);*/
/*    padding: 0.5rem 1rem;*/
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #FFF;
    background-color: rgba(255, 255, 255, 0);
    background-clip: padding-box;
    border: 0px;
/*    border-bottom: 1px solid #D8D8D8;*/
    /*border-radius: 0.35rem;*/
    -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    font-weight: bold;
}

.form-control-dt.trackInputDesc {
    margin-top: 0px;
    margin-bottom: 0px;
    min-height: 29px;

/*    Depuis l'utilisation de AUTOSIZE, plus besoin de pousser une val max*/
/*    max-height: 150px;*/
}

/*Est utilisé pour le bloc des OPERATIONS a faires sur les PO, dans la page des commandes*/
.RENTAL-stickyHeader {
    position: fixed;
    width: 100%;
    top: 75px;    
}

/* est utilisé pour les BON PREPAS : défini un cadre autour de la zone d'ajout */
.RENTAL-Sticky-TOP {
    width: 100%;
    height: 60px;
    background-color: #FFF;
    border-top:  2px solid #A4A4A4;
    border-bottom:  2px solid #A4A4A4;
    border-left:  2px solid #A4A4A4;
    border-right:  2px solid #A4A4A4;

    border-radius: 5px;
    margin-bottom: 2rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
}

/* est utilisé pour les ARTICLES (ou tout ce qui est dans une page classique, et qui passe SOUS la bare du haut */
.RENTAL-Sticky-TOP-MENU {
    width: 100%;
    height: 60px;
    background-color: #FFF;
    border-top:  2px solid #A4A4A4;
    border-bottom:  2px solid #A4A4A4;
    border-left:  2px solid #A4A4A4;
    border-right:  2px solid #A4A4A4;

    border-radius: 5px;
    margin-bottom: 2rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    margin-right: 0.2rem;
    margin-left: 0.2rem;

    /* pour le placement du MENU */
    padding-top: 4rem;

}

/* est utilisé pour les ARTICLES (ou tout ce qui est dans une page classique, et qui passe SOUS la bare du haut */
.RENTAL-SCANNER-TOP-MENU {
    background-color: #FFF;
}

/* Est utilisé pour placer nos toast sur le dessus !*/
.alert-fixed {
    position:fixed; 
    z-index:9999; 
}

/*Est utilisé pour placer le bandeau des ITEMS, en bas de la page, en fixe*/
#fixedBottom {
    position: fixed;
    bottom: 0px;
    margin: 0px;
    width: 100%;
/*    height: 95px;*/
    background-color: #FFF;
    border-top:  2px solid #A4A4A4;
    border-left:  2px solid #A4A4A4;
    border-right:  2px solid #A4A4A4;
    border-top-left-radius: 5px;    
    border-top-right-radius: 5px;    
/*    z-index: 30;*/
}

/*Est utilisé pour placer le bandeau des PO, en bas de la page, en fixe*/
#fixedBottomPO {
    position: fixed;
    bottom: 0px;
    margin: 0px;
    width: 100%;
/*    height: 95px;*/
    background-color: #FFF;
    border-top:  2px solid #A4A4A4;
    border-left:  2px solid #A4A4A4;
    border-right:  2px solid #A4A4A4;
    border-top-left-radius: 5px;    
    border-top-right-radius: 5px;    
/*    z-index: 30;*/
}

/*#fixedBottom {
    position: fixed;
    bottom: 0px;
    margin: 0px;
    width: 100%;
    height: 60px;
    background-color: #FFF;
    border-top:  2px solid #A4A4A4;
    border-left:  2px solid #A4A4A4;
    border-right:  2px solid #A4A4A4;
    border-top-left-radius: 5px;    
    border-top-right-radius: 5px;    
}
*/

.fixedCenterPosition {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 98%;
}

.fixedCenterPositionL2 {
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 98%;
}


.fixedTopPositionLoaderLogin {
    position: fixed;
    top: 0px;
    z-index: 9999;
    width: 100%;    
}
/* 
  X----------------------------------------------------------------------
  | Tuning des FANCYTREE !
  X----------------------------------------------------------------------     
 */
/* Police à CHASSE FIXE */
@font-face{ 
    font-family: 'RentalFixe';
    src: url(/build/fonts/AurulentSansMono-Regular.2ec2eb27.otf);
}

table.fancytree-ext-table {
    font-size: 12pt;
    font-family: Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
table.fancytree-ext-table tbody tr.fancytree-folder span.fancytree-expander {
  background-image: url(/build/images/plus.e4ed7ce2.gif);
}
table.fancytree-ext-table tbody tr.fancytree-folder.fancytree-expanded span.fancytree-expander {
    background-image: url(/build/images/minus.5d85274e.gif);
}
table.fancytree-ext-table tbody tr td {
    border: none;   
}
table.fancytree-ext-table thead tr th {
    border-bottom: 1px solid #111;
    padding: 10px 18px;
}
span.fancytree-title.Padding40 {
    padding-left: 41px;
}

span.fancytree-title {
    color: #000;
    cursor: pointer;
    display: inline-block;
    vertical-align: top;
    min-height: 1em;
    /* padding: 0 3px 0 3px; */
    margin: 0 0 0 .5em;
    border: 1px solid transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}
/* 
  X----------------------------------------------------------------------
  | Tuning des UPLOADS !
  X----------------------------------------------------------------------     
 */

.ajax-upload-dragdrop {
    border: 1px solid;
    border-radius: 0.35rem;
}

/* 
  X----------------------------------------------------------------------
  | Tuning de sb-admin !
  X----------------------------------------------------------------------     
 */
.page-header .page-header-content {
  padding-top: 1rem;    /* moin d'espace au dessus */
  padding-bottom: 1rem; /* moin d'espace au dessou */
}

.nav-fixed #layoutSidenav #layoutSidenav_content {
    padding-left: 12rem;
/*    top: 3.625rem;*/
top: 2rem;

}

.nav-fixed #layoutSidenav #layoutSidenav_nav {
    width: 12rem; 
    height: 100vh;
    z-index: 1038;
}

/* Icone devant les boutons */

.btn-icon-split {
    padding: 0;
}

.btn-icon-split .icon {
    background: rgba(0,0,0,.15);
    display: inline-block;
    padding: .375rem .75rem;
}

.btn-icon-split .text {
    display: inline-block;
    padding: .375rem .75rem;
}

.text-white-50 {
    color: rgba(255,255,255,.5)!important;
}

.btn-primary {
    color: #fff;
    background-color: #4e73df;
    border-color: #4e73df;
}

input[type=radio], input[type=checkbox] {

    width: 18px;
    height: 18px;
}

/* 
  X----------------------------------------------------------------------
  |  Est utilisé pour les Autocomplete COMPLEXE !
  X----------------------------------------------------------------------     
 */


/* Obligatoire quand on est dans un MODAL */
.ui-autocomplete {
    z-index: 215000000 !important;

    /* On aime ajouter un SCROLL quand la liste est trop grande*/
    max-height: 600px;

    overflow-y: auto; 
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
    /* add padding to account for vertical scrollbar */
/*    padding-right: 20px;  */
}

.ui-menu-item .ui-menu-item-wrapper.ui-state-active {
    background: #bdbdbd !important;
    font-weight: bold !important;
    color: #ffffff !important;
    border: 0px !important;
    padding: 3px 0px 0px 0px !important;
} 

/*Fine tuning de la largeur et hauteur de la DROPDOWN du select2*/
.select2-container--default .s2-mh-10 {
    width: 912px !important;
}

.select2-container--default .s2-mh-10 .select2-results>.select2-results__options {
    max-height: 580px !important;
    width: 900px;
}

.select2-container--default .s2-mh-10 .select2-results>.select2-results__options>.select2-results__option {
    min-height: 58px !important;

}

/*Fine tuning de la largeur et hauteur de la DROPDOWN du select2*/
.select2-container--default .s2-mh-20 {
    width: 1102px !important;
}

.select2-container--default .s2-mh-20 .select2-results>.select2-results__options {
    max-height: 580px !important;
    width: 1100px;
}

.select2-container--default .s2-mh-20 .select2-results>.select2-results__options>.select2-results__option {
    min-height: 58px !important;

}

.select2-items-IMG {
    width: 60px; 
    float: left;
}

.select2-items-REF {
    color: #333;    
    float: left;
    text-align: left;
    width: 120px;  
    font-size: 12px;
    padding: 3px 0px 3px 0px;    
}

.select2-items-TYPE {
    color: #333;    
    float: left;
    text-align: left;
    width: 90px;  
    font-size: 12px;
    padding: 3px 0px 3px 0px;    
}

.select2-items-NAME {
    color: #333;    
    float: left;
    text-align: left;
    font-size: 12px;
    width: 610px;

    /*    padding: 3px 0px 3px 0px;    Fait foirer quand l'écriture est trop grande / longue */
    /* Si le texte est trop grand, et vu que nous somme en float, alors le texte de la lighe suivante est décallé
        Ici, placons une valeur MAX et un petit scroller **si besoin** */
    max-height: 55px;
    overflow-y: auto;
}

.select2-items-PA {
    color: #333;    
    float: left;
    text-align: left;
    width: 90px;  
    font-size: 12px;
    padding: 3px 0px 3px 0px;    
}

.select2-items-QT {
    color: #333;    
/*    float: left;*/
    text-align: left;
    width: 90px;  
    font-size: 12px;
    padding: 3px 0px 3px 0px;    
}

/* Est utilisé pour l'autocomplete des Catégorie */
.ui-menu-item-wrapper.ui-state-active .ART_MOD_REF {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_MOD_REF {
    color: #333;    
    float: left;
    text-align: left;
    width: 120px;  
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_MOD_VALUE {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_MOD_VALUE {
    color: #333;    
    float: left;
    text-align: left;
    width: 210px;   
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

/* Est utilisé pour l'autocomplete des ARTICLES */
.ui-menu-item-wrapper.ui-state-active .ART_DET_REF {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_DET_REF {
    color: #333;    
    float: left;
    text-align: left;
    width: 160px;    
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_DET_TYPE {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_DET_TYPE {
    color: #333;    
    float: left;
    text-align: left;
    width: 70px;    
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_DET_ITEM {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_DET_ITEM {
    color: #333;    
    float: left;
    text-align: left;
    width: 750px;    
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_DET_PA {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_DET_PA {
    color: #333;    
    float: left;
    text-align: left;
    width: 130px;    
    font-size: 12px;
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_DET_QT {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_DET_QT{
    color: #333;    
    float: left;
    text-align: left;
    width: 90px;   
    font-size: 12px; 
    padding: 3px 0px 3px 0px;
}

.ui-menu-item-wrapper.ui-state-active .ART_EMPTY {    background: #bdbdbd !important; }
.ui-menu-item-wrapper .ART_BASE{
    margin-bottom: 5px;   
    background: #FFF;
}

/* 
  X----------------------------------------------------------------------
  |  Est utilisé pour les AGENDAS !
  X----------------------------------------------------------------------     
 */

.dhtmlx_modal_box,
.dhtmlx-alert,
.dhx_cal_light_wide,
.dhx_cal_light   { 
    z-index: 99999; 
}


/*On veut que nos textes soient petit dans les blocs des agendas*/
.dhx_cal_event .dhx_body, 
.dhx_cal_event.dhx_cal_select_menu .dhx_body {
    line-height: normal !important;
    font-size: smaller;
}

/* 
  X----------------------------------------------------------------------
  |  Est utilisé pour les ARTICLE USE !
  X----------------------------------------------------------------------     
 */
.vis-item.green {
    background-color : greenyellow;
    border-color: green;
}

.vis-item.red {
    background-color : red;
    border-color: darkred;
}

.vis-item .vis-item-overflow {
    overflow: visible;
}

/* 
  X----------------------------------------------------------------------
  |  Est utilisé pour placer les label de checkbox à gauche au lieu de droite !
  X----------------------------------------------------------------------     
 */
.form-checkbox-left {
    float: left;
    padding-left: 2.5rem !important;
}

.form-checkbox-left .form-check-input {
    margin-left: -2.5rem !important;
}

.form-checkbox-left .form-check-label {
    padding-top: 0.5rem !important;
}

/*Une box qui reste fixe, et qui se déplace à la souris ?*/
.RENTAL-Mouse-DragAndMove {
    position: fixed;
/*    width: 900px;*/
/*    top: 60rem;*/
    left: 60rem;
/*    right: 10rem;*/
    height: 200px;
    bottom: 10rem;
    z-index: 200;    
}

.articlesTree_thumbnail {
    margin-left: 45px;
    margin-right: 15px;
    float: left;
}

@keyframes clignote {  
  50% { opacity: 0; }
}


/* -----------------------------------------------------
   Est utilisé pour les BS : identation en cas de GROUP 
-------------------------------------------------------- */
.BS_InPREPA tr.odd td:first-child,
.BS_InPREPA tr.even td:first-child {
    padding-left: 2.5em;
}

.BS_InPREPA_rowGroup {
    background-color: #ABABAB !important;
    /*background-color: #0489B1 !important;
    color: #FFF;*/
}

/* -----------------------------------------------------
   Est utilisé pour le login : taille de la box ! 
-------------------------------------------------------- */
@media (max-width: 1000px) {
    .RENTAL-LOGIN-TEXTBOX {
        height:90px; 
        font-size: 60px;
    }

    .RENTAL-LOGIN-LOGIN {
        height:90px; 
        font-size: 60px;
    }

    .RENTAL-SEARCHBOX {
        font-size: 60px;
        height: 200px;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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OztJQUVBO1FBQ0ksZUFBZTtRQUNmLGFBQWE7SUFDakI7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovL3JlbnRhbFYyLmNvdWxpc3Nlcy5iZS8uL2Fzc2V0cy9jc3MvYXBwLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IC8qIGZvciBleGFtcGxlICovXG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcbn1cblxuLyogcG91ciBsZSBjbGlnbm90ZW1lbnQgZCd1biBib3V0b24gZGFucyBsYSBwYWdlIFNDQU5ORVIgPiBJTlZFTlRBSVJFICovXG5Aa2V5ZnJhbWVzIGZsYXNoLWNvbG9ycyB7XG4gIDAlIHsgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9IC8qIGJ0bi1kYW5nZXIgKi9cbiAgNTAlIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsgYm9yZGVyLWNvbG9yOiAjZmZjMTA3OyB9IC8qIGJ0bi13YXJuaW5nICovXG4gIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1OyBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cbn1cblxuLmJ0bi1mbGFzaCB7XG4gIGFuaW1hdGlvbjogZmxhc2gtY29sb3JzIDAuOHMgaW5maW5pdGU7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAvKiBQb3VyIGdhcmRlciBsZSB0ZXh0ZSBsaXNpYmxlICovXG59XG4vKiBGaW4gZHUgY2xpZ25vdGVtZW50ICovXG5cbi5iZy1sb2dpbi1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3B1YmxpYy9hc3NldHMvaW1nL2xvZ2luLXdhZi5qZmlmXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vKlxuIyBFc3QgdXRpbGlzw6kgcG91ciBsZXMgYm91dG9ucyBcImJ0bi1zZWNvbmRhcnkgYnRuLWljb24tc3BsaXRcIlxuKi9cbi5yZW50YWwtZnVsbC13aXRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTg3OTY7XG4gICAgYm9yZGVyLWNvbG9yOiAjODU4Nzk2O1xufVxuXG4uY29udHJvbC1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLlRYVEluZm8ge1xuICAgIGNvbG9yOiAjNDI0MjQyOyAgICBcbn1cblxuXG4uc2VsZWN0Mi1jaG9pY2VzIHtcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKlBvdXIgZmFpcmUgZW4gc29ydGUgZGUgcmVww6lyZXIgbGEgdmVyc2lvbiBCRVRBKi9cbi5iZy1ncmFkaWVudC1wcmltYXJ5LXRvLXNlY29uZGFyeS1iZXRhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgxNTAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZWM3YzcgMCUsICNlODE1MDAgMTAwJSk7XG59XG5cbi8qUG91ciBmYWlyZSBlbiBzb3J0ZSBkZSByZXDDqXJlciBsYSB2ZXJzaW9uIENSKi9cbi5iZy1ncmFkaWVudC1wcmltYXJ5LXRvLXNlY29uZGFyeS1jciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWM2OTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwMGFjNjksIzBjNWQwYyk7XG59XG5cbi8qXG4gICAgXG4gICAgQSBjZXJ0YWluIG1vbWVudCwgb24gc291aGFpdGUgbmUgcGFzIGF2b2lyIHVuZSBsaXN0ZSBJTU1FTk5OTk5TRVxuICAgIElsIGZhdXQgcHLDqWNpc2VyIMOgIGwnaW5zdGFuY2lhdGlvbiBkZSBTRUxFQ1QyIDogY29udGFpbmVyQ3NzQ2xhc3M6IFwibXktc2VsZWN0Mi1jb250YWluZXItY2xhc3NcIixcbiBcbiAgICAkKFwiLnNlbGVjdDItbXktc3BlY2lhbC1zZWxlY3RcIikuc2VsZWN0Mih7XG4gICAgICAgIGNvbnRhaW5lckNzc0NsYXNzOiBcIm15LXNlbGVjdDItY29udGFpbmVyLWNsYXNzXCIsXG4gICAgICAgIGRyb3Bkb3duQ3NzQ2xhc3M6IFwidGVzdFwiXG4gICAgfSk7XG4qL1xuXG4uc2VsZWN0Mi1saW1pdGVkSGVpZ2h0IHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufSBcblxuLyogcG91ciBsYSBoYXV0ZXVyIGRlcyB6b25lcyBkZSBET1dOTE9BRCAqL1xuLmFqYXgtdXBsb2FkLWRyYWdkcm9wIHtcbi8qICAgIGhlaWdodDogMTAwcHg7Ki9cbn1cblxuLyogcG91ciBxdWUgbm90cmUgbWVudSBzb2l0IGpvbGlzICEqL1xuLnRvcG5hdiAubmF2YmFyLWJyYW5kIHtcbiAgICB3aWR0aDogMTVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gIFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHwgVHVuaW5nIGRlcyBEYXRhdGFibGVzICFcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgIFxuICovXG5cblxuLyogXG4gICAgRXN0IHV0aWxpc8OpIHBvdXIgbGUgc2Nhbm5lciA6IG9uIGF1Z21lbnRlIGxhIHRhaWxsZSBwb3VyIHF1ZSBjZSBzb2l0IHZpc2libGUgc3VyIEdTTSBcbiovXG4uVGV4dEJpZ1NpemUge1xuICAgIGZvbnQtc2l6ZTogNGVtO1xufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMS41ZW07XG4gICAgcGFkZGluZzogNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAqY3Vyc29yOiBoYW5kO1xuICAgIGNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkLCAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDphY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5kdHJnLXN0YXJ0LFxuLmR0cmctc3RhcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDg5QjEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRjtcbn1cblxuLmR0cmctZW5kLFxuLmR0cmctZW5kOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0VFM0Y2ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM2RTZFNkU7XG59XG5cbiNkdEJ0Q0hPSVggIHsgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMkIwNkE7IH1cbiNkdEJ0T1BUICAgIHsgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmMyM2U7IH1cbiNkdEJ0U0FWRSAgIHsgICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2M4OGE7IH1cbiNkdEJ0UmVmcmVzaCB7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4MDAwOyB9XG4jZHRCdERFTCAgICB7ICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyAgfVxuXG4vKkxhIGNvdWxldXIgZGVzIGNob2l4IGQnSVRFTVMsIEFVVE9DT01QTEVURSovXG4uYXJ0aWNsZVN0b2NrTW95ZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCQzU3IH1cbi5hcnRpY2xlU3RvY2tWaWRlICB7IGJhY2tncm91bmQtY29sb3I6ICNGRkNERDIgfVxuXG5cbi8qUG91ciBxdWFuZCB1bmUgbGlnbmUgZXN0IHPDqWxlY3Rpb25uw6llIGRhbnMgbGVzIERhdGF0YWJsZXMsIGVsbGUgc29pdCBlbiBCbGFuYyAhIChzdXIgZm9uZCBibGV1KSAqL1xudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5zZWxlY3RlZCA+IHRkLFxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5zZWxlY3RlZCA+IHRoXG57XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCREJEQiAhaW1wb3J0YW50O1xufVxuXG4vKlBvdXIgcXVhbmQgdW5lIGxpZ25lIGVzdCBzw6lsZWN0aW9ubsOpZSBkYW5zIGxlcyBEYXRhdGFibGVzLCBzb24gSU5QVVQgQk9YIGNoYW5nZSBhdXNzaSBkZSBjb3VsZXVyKi9cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuc2VsZWN0ZWQgPiB0ZCA+IGlucHV0XG57XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qUG91ciBxdWFuZCB1bmUgbGlnbmUgZXN0IHPDqWxlY3Rpb25uw6llIGRhbnMgbGVzIERhdGF0YWJsZXMsIHNvbiBURVhUQVJFQSBjaGFuZ2UgYXVzc2kgZGUgY291bGV1ciovXG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLnNlbGVjdGVkID4gdGQgPiB0ZXh0YXJlYVxue1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQb3VyIGJvdWdlciBsYSBTRUFSQ0ggQk9YIHF1aSBlc3QgcmVtb250w6llIGRlcHVpcyBsYSB2ZXJzaW9uIDIueCAqL1xuLmR0LXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9ybS1jb250cm9sLWR0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0pO1xuLyogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7Ki9cbi8qICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyovXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzY4NzI4MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEOEQ4RDg7XG4gICAgLypib3JkZXItcmFkaXVzOiAwLjM1cmVtOyovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZm9ybS1jb250cm9sLWR0LWdyb3VwIHtcbi8qICAgIGRpc3BsYXk6IGJsb2NrOyovXG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0pO1xuLyogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7Ki9cbi8qICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyovXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwcHg7XG4vKiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q4RDhEODsqL1xuICAgIC8qYm9yZGVyLXJhZGl1czogMC4zNXJlbTsqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvcm0tY29udHJvbC1kdC50cmFja0lucHV0RGVzYyB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBtaW4taGVpZ2h0OiAyOXB4O1xuXG4vKiAgICBEZXB1aXMgbCd1dGlsaXNhdGlvbiBkZSBBVVRPU0laRSwgcGx1cyBiZXNvaW4gZGUgcG91c3NlciB1bmUgdmFsIG1heCovXG4vKiAgICBtYXgtaGVpZ2h0OiAxNTBweDsqL1xufVxuXG4vKkVzdCB1dGlsaXPDqSBwb3VyIGxlIGJsb2MgZGVzIE9QRVJBVElPTlMgYSBmYWlyZXMgc3VyIGxlcyBQTywgZGFucyBsYSBwYWdlIGRlcyBjb21tYW5kZXMqL1xuLlJFTlRBTC1zdGlja3lIZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDc1cHg7ICAgIFxufVxuXG4vKiBlc3QgdXRpbGlzw6kgcG91ciBsZXMgQk9OIFBSRVBBUyA6IGTDqWZpbmkgdW4gY2FkcmUgYXV0b3VyIGRlIGxhIHpvbmUgZCdham91dCAqL1xuLlJFTlRBTC1TdGlja3ktVE9QIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXItdG9wOiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLWJvdHRvbTogIDJweCBzb2xpZCAjQTRBNEE0O1xuICAgIGJvcmRlci1sZWZ0OiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAgMnB4IHNvbGlkICNBNEE0QTQ7XG5cbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xufVxuXG4vKiBlc3QgdXRpbGlzw6kgcG91ciBsZXMgQVJUSUNMRVMgKG91IHRvdXQgY2UgcXVpIGVzdCBkYW5zIHVuZSBwYWdlIGNsYXNzaXF1ZSwgZXQgcXVpIHBhc3NlIFNPVVMgbGEgYmFyZSBkdSBoYXV0ICovXG4uUkVOVEFMLVN0aWNreS1UT1AtTUVOVSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgYm9yZGVyLXRvcDogIDJweCBzb2xpZCAjQTRBNEE0O1xuICAgIGJvcmRlci1ib3R0b206ICAycHggc29saWQgI0E0QTRBNDtcbiAgICBib3JkZXItbGVmdDogIDJweCBzb2xpZCAjQTRBNEE0O1xuICAgIGJvcmRlci1yaWdodDogIDJweCBzb2xpZCAjQTRBNEE0O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMnJlbTtcblxuICAgIC8qIHBvdXIgbGUgcGxhY2VtZW50IGR1IE1FTlUgKi9cbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcblxufVxuXG4vKiBlc3QgdXRpbGlzw6kgcG91ciBsZXMgQVJUSUNMRVMgKG91IHRvdXQgY2UgcXVpIGVzdCBkYW5zIHVuZSBwYWdlIGNsYXNzaXF1ZSwgZXQgcXVpIHBhc3NlIFNPVVMgbGEgYmFyZSBkdSBoYXV0ICovXG4uUkVOVEFMLVNDQU5ORVItVE9QLU1FTlUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5cbi8qIEVzdCB1dGlsaXPDqSBwb3VyIHBsYWNlciBub3MgdG9hc3Qgc3VyIGxlIGRlc3N1cyAhKi9cbi5hbGVydC1maXhlZCB7XG4gICAgcG9zaXRpb246Zml4ZWQ7IFxuICAgIHotaW5kZXg6OTk5OTsgXG59XG5cbi8qRXN0IHV0aWxpc8OpIHBvdXIgcGxhY2VyIGxlIGJhbmRlYXUgZGVzIElURU1TLCBlbiBiYXMgZGUgbGEgcGFnZSwgZW4gZml4ZSovXG4jZml4ZWRCb3R0b20ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbi8qICAgIGhlaWdodDogOTVweDsqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgYm9yZGVyLXRvcDogIDJweCBzb2xpZCAjQTRBNEE0O1xuICAgIGJvcmRlci1sZWZ0OiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyAgICBcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4OyAgICBcbi8qICAgIHotaW5kZXg6IDMwOyovXG59XG5cbi8qRXN0IHV0aWxpc8OpIHBvdXIgcGxhY2VyIGxlIGJhbmRlYXUgZGVzIFBPLCBlbiBiYXMgZGUgbGEgcGFnZSwgZW4gZml4ZSovXG4jZml4ZWRCb3R0b21QTyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuLyogICAgaGVpZ2h0OiA5NXB4OyovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXItdG9wOiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLWxlZnQ6ICAycHggc29saWQgI0E0QTRBNDtcbiAgICBib3JkZXItcmlnaHQ6ICAycHggc29saWQgI0E0QTRBNDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7ICAgIFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7ICAgIFxuLyogICAgei1pbmRleDogMzA7Ki9cbn1cblxuLyojZml4ZWRCb3R0b20ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXItdG9wOiAgMnB4IHNvbGlkICNBNEE0QTQ7XG4gICAgYm9yZGVyLWxlZnQ6ICAycHggc29saWQgI0E0QTRBNDtcbiAgICBib3JkZXItcmlnaHQ6ICAycHggc29saWQgI0E0QTRBNDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7ICAgIFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7ICAgIFxufVxuKi9cblxuLmZpeGVkQ2VudGVyUG9zaXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB3aWR0aDogOTglO1xufVxuXG4uZml4ZWRDZW50ZXJQb3NpdGlvbkwyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3NSU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgd2lkdGg6IDk4JTtcbn1cblxuXG4uZml4ZWRUb3BQb3NpdGlvbkxvYWRlckxvZ2luIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB3aWR0aDogMTAwJTsgICAgXG59XG4vKiBcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgfCBUdW5pbmcgZGVzIEZBTkNZVFJFRSAhXG4gIFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICBcbiAqL1xuLyogUG9saWNlIMOgIENIQVNTRSBGSVhFICovXG5AZm9udC1mYWNleyBcbiAgICBmb250LWZhbWlseTogJ1JlbnRhbEZpeGUnO1xuICAgIHNyYzogdXJsKCcvcHVibGljL2Fzc2V0cy9jc3MvZm9udC9BdXJ1bGVudFNhbnNNb25vLVJlZ3VsYXIub3RmJyk7XG59XG5cbnRhYmxlLmZhbmN5dHJlZS1leHQtdGFibGUge1xuICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFwiU2Vnb2UgVUlcIixSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiLFwiTm90byBDb2xvciBFbW9qaVwiO1xufVxudGFibGUuZmFuY3l0cmVlLWV4dC10YWJsZSB0Ym9keSB0ci5mYW5jeXRyZWUtZm9sZGVyIHNwYW4uZmFuY3l0cmVlLWV4cGFuZGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3B1YmxpYy9hc3NldHMvaW1nL3BsdXMuZ2lmXCIpO1xufVxudGFibGUuZmFuY3l0cmVlLWV4dC10YWJsZSB0Ym9keSB0ci5mYW5jeXRyZWUtZm9sZGVyLmZhbmN5dHJlZS1leHBhbmRlZCBzcGFuLmZhbmN5dHJlZS1leHBhbmRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3B1YmxpYy9hc3NldHMvaW1nL21pbnVzLmdpZlwiKTtcbn1cbnRhYmxlLmZhbmN5dHJlZS1leHQtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIGJvcmRlcjogbm9uZTsgICBcbn1cbnRhYmxlLmZhbmN5dHJlZS1leHQtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExO1xuICAgIHBhZGRpbmc6IDEwcHggMThweDtcbn1cbnNwYW4uZmFuY3l0cmVlLXRpdGxlLlBhZGRpbmc0MCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MXB4O1xufVxuXG5zcGFuLmZhbmN5dHJlZS10aXRsZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICAvKiBwYWRkaW5nOiAwIDNweCAwIDNweDsgKi9cbiAgICBtYXJnaW46IDAgMCAwIC41ZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtby1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiBcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgfCBUdW5pbmcgZGVzIFVQTE9BRFMgIVxuICBYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgXG4gKi9cblxuLmFqYXgtdXBsb2FkLWRyYWdkcm9wIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xufVxuXG4vKiBcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgfCBUdW5pbmcgZGUgc2ItYWRtaW4gIVxuICBYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgXG4gKi9cbi5wYWdlLWhlYWRlciAucGFnZS1oZWFkZXItY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyAgICAvKiBtb2luIGQnZXNwYWNlIGF1IGRlc3N1cyAqL1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgLyogbW9pbiBkJ2VzcGFjZSBhdSBkZXNzb3UgKi9cbn1cblxuLm5hdi1maXhlZCAjbGF5b3V0U2lkZW5hdiAjbGF5b3V0U2lkZW5hdl9jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycmVtO1xuLyogICAgdG9wOiAzLjYyNXJlbTsqL1xudG9wOiAycmVtO1xuXG59XG5cbi5uYXYtZml4ZWQgI2xheW91dFNpZGVuYXYgI2xheW91dFNpZGVuYXZfbmF2IHtcbiAgICB3aWR0aDogMTJyZW07IFxuICAgIGhlaWdodDogMTAwdmg7XG4gICAgei1pbmRleDogMTAzODtcbn1cblxuLyogSWNvbmUgZGV2YW50IGxlcyBib3V0b25zICovXG5cbi5idG4taWNvbi1zcGxpdCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmJ0bi1pY29uLXNwbGl0IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xNSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xufVxuXG4uYnRuLWljb24tc3BsaXQgLnRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTtcbn1cblxuLnRleHQtd2hpdGUtNTAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KSFpbXBvcnRhbnQ7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRlNzNkZjtcbiAgICBib3JkZXItY29sb3I6ICM0ZTczZGY7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dLCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qIFxuICBYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICB8ICBFc3QgdXRpbGlzw6kgcG91ciBsZXMgQXV0b2NvbXBsZXRlIENPTVBMRVhFICFcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgIFxuICovXG5cblxuLyogT2JsaWdhdG9pcmUgcXVhbmQgb24gZXN0IGRhbnMgdW4gTU9EQUwgKi9cbi51aS1hdXRvY29tcGxldGUge1xuICAgIHotaW5kZXg6IDIxNTAwMDAwMCAhaW1wb3J0YW50O1xuXG4gICAgLyogT24gYWltZSBham91dGVyIHVuIFNDUk9MTCBxdWFuZCBsYSBsaXN0ZSBlc3QgdHJvcCBncmFuZGUqL1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuXG4gICAgb3ZlcmZsb3cteTogYXV0bzsgXG4gICAgLyogcHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciAqL1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvKiBhZGQgcGFkZGluZyB0byBhY2NvdW50IGZvciB2ZXJ0aWNhbCBzY3JvbGxiYXIgKi9cbi8qICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7ICAqL1xufVxuXG4udWktbWVudS1pdGVtIC51aS1tZW51LWl0ZW0td3JhcHBlci51aS1zdGF0ZS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNiZGJkYmQgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAzcHggMHB4IDBweCAwcHggIWltcG9ydGFudDtcbn0gXG5cbi8qRmluZSB0dW5pbmcgZGUgbGEgbGFyZ2V1ciBldCBoYXV0ZXVyIGRlIGxhIERST1BET1dOIGR1IHNlbGVjdDIqL1xuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zMi1taC0xMCB7XG4gICAgd2lkdGg6IDkxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuczItbWgtMTAgLnNlbGVjdDItcmVzdWx0cz4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgICBtYXgtaGVpZ2h0OiA1ODBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA5MDBweDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zMi1taC0xMCAuc2VsZWN0Mi1yZXN1bHRzPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnM+LnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICBtaW4taGVpZ2h0OiA1OHB4ICFpbXBvcnRhbnQ7XG5cbn1cblxuLypGaW5lIHR1bmluZyBkZSBsYSBsYXJnZXVyIGV0IGhhdXRldXIgZGUgbGEgRFJPUERPV04gZHUgc2VsZWN0MiovXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnMyLW1oLTIwIHtcbiAgICB3aWR0aDogMTEwMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuczItbWgtMjAgLnNlbGVjdDItcmVzdWx0cz4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgICBtYXgtaGVpZ2h0OiA1ODBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMTAwcHg7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuczItbWgtMjAgLnNlbGVjdDItcmVzdWx0cz4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgbWluLWhlaWdodDogNThweCAhaW1wb3J0YW50O1xuXG59XG5cbi5zZWxlY3QyLWl0ZW1zLUlNRyB7XG4gICAgd2lkdGg6IDYwcHg7IFxuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uc2VsZWN0Mi1pdGVtcy1SRUYge1xuICAgIGNvbG9yOiAjMzMzOyAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMjBweDsgIFxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggMHB4IDNweCAwcHg7ICAgIFxufVxuXG4uc2VsZWN0Mi1pdGVtcy1UWVBFIHtcbiAgICBjb2xvcjogIzMzMzsgICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogOTBweDsgIFxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggMHB4IDNweCAwcHg7ICAgIFxufVxuXG4uc2VsZWN0Mi1pdGVtcy1OQU1FIHtcbiAgICBjb2xvcjogIzMzMzsgICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDYxMHB4O1xuXG4gICAgLyogICAgcGFkZGluZzogM3B4IDBweCAzcHggMHB4OyAgICBGYWl0IGZvaXJlciBxdWFuZCBsJ8OpY3JpdHVyZSBlc3QgdHJvcCBncmFuZGUgLyBsb25ndWUgKi9cbiAgICAvKiBTaSBsZSB0ZXh0ZSBlc3QgdHJvcCBncmFuZCwgZXQgdnUgcXVlIG5vdXMgc29tbWUgZW4gZmxvYXQsIGFsb3JzIGxlIHRleHRlIGRlIGxhIGxpZ2hlIHN1aXZhbnRlIGVzdCBkw6ljYWxsw6lcbiAgICAgICAgSWNpLCBwbGFjb25zIHVuZSB2YWxldXIgTUFYIGV0IHVuIHBldGl0IHNjcm9sbGVyICoqc2kgYmVzb2luKiogKi9cbiAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5zZWxlY3QyLWl0ZW1zLVBBIHtcbiAgICBjb2xvcjogIzMzMzsgICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogOTBweDsgIFxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggMHB4IDNweCAwcHg7ICAgIFxufVxuXG4uc2VsZWN0Mi1pdGVtcy1RVCB7XG4gICAgY29sb3I6ICMzMzM7ICAgIFxuLyogICAgZmxvYXQ6IGxlZnQ7Ki9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA5MHB4OyAgXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCAwcHggM3B4IDBweDsgICAgXG59XG5cbi8qIEVzdCB1dGlsaXPDqSBwb3VyIGwnYXV0b2NvbXBsZXRlIGRlcyBDYXTDqWdvcmllICovXG4udWktbWVudS1pdGVtLXdyYXBwZXIudWktc3RhdGUtYWN0aXZlIC5BUlRfTU9EX1JFRiB7ICAgIGJhY2tncm91bmQ6ICNiZGJkYmQgIWltcG9ydGFudDsgfVxuLnVpLW1lbnUtaXRlbS13cmFwcGVyIC5BUlRfTU9EX1JFRiB7XG4gICAgY29sb3I6ICMzMzM7ICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEyMHB4OyAgXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCAwcHggM3B4IDBweDtcbn1cblxuLnVpLW1lbnUtaXRlbS13cmFwcGVyLnVpLXN0YXRlLWFjdGl2ZSAuQVJUX01PRF9WQUxVRSB7ICAgIGJhY2tncm91bmQ6ICNiZGJkYmQgIWltcG9ydGFudDsgfVxuLnVpLW1lbnUtaXRlbS13cmFwcGVyIC5BUlRfTU9EX1ZBTFVFIHtcbiAgICBjb2xvcjogIzMzMzsgICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMjEwcHg7ICAgXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCAwcHggM3B4IDBweDtcbn1cblxuLyogRXN0IHV0aWxpc8OpIHBvdXIgbCdhdXRvY29tcGxldGUgZGVzIEFSVElDTEVTICovXG4udWktbWVudS1pdGVtLXdyYXBwZXIudWktc3RhdGUtYWN0aXZlIC5BUlRfREVUX1JFRiB7ICAgIGJhY2tncm91bmQ6ICNiZGJkYmQgIWltcG9ydGFudDsgfVxuLnVpLW1lbnUtaXRlbS13cmFwcGVyIC5BUlRfREVUX1JFRiB7XG4gICAgY29sb3I6ICMzMzM7ICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDE2MHB4OyAgICBcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDBweCAzcHggMHB4O1xufVxuXG4udWktbWVudS1pdGVtLXdyYXBwZXIudWktc3RhdGUtYWN0aXZlIC5BUlRfREVUX1RZUEUgeyAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkICFpbXBvcnRhbnQ7IH1cbi51aS1tZW51LWl0ZW0td3JhcHBlciAuQVJUX0RFVF9UWVBFIHtcbiAgICBjb2xvcjogIzMzMzsgICAgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNzBweDsgICAgXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCAwcHggM3B4IDBweDtcbn1cblxuLnVpLW1lbnUtaXRlbS13cmFwcGVyLnVpLXN0YXRlLWFjdGl2ZSAuQVJUX0RFVF9JVEVNIHsgICAgYmFja2dyb3VuZDogI2JkYmRiZCAhaW1wb3J0YW50OyB9XG4udWktbWVudS1pdGVtLXdyYXBwZXIgLkFSVF9ERVRfSVRFTSB7XG4gICAgY29sb3I6ICMzMzM7ICAgIFxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDc1MHB4OyAgICBcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDBweCAzcHggMHB4O1xufVxuXG4udWktbWVudS1pdGVtLXdyYXBwZXIudWktc3RhdGUtYWN0aXZlIC5BUlRfREVUX1BBIHsgICAgYmFja2dyb3VuZDogI2JkYmRiZCAhaW1wb3J0YW50OyB9XG4udWktbWVudS1pdGVtLXdyYXBwZXIgLkFSVF9ERVRfUEEge1xuICAgIGNvbG9yOiAjMzMzOyAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMzBweDsgICAgXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDNweCAwcHggM3B4IDBweDtcbn1cblxuLnVpLW1lbnUtaXRlbS13cmFwcGVyLnVpLXN0YXRlLWFjdGl2ZSAuQVJUX0RFVF9RVCB7ICAgIGJhY2tncm91bmQ6ICNiZGJkYmQgIWltcG9ydGFudDsgfVxuLnVpLW1lbnUtaXRlbS13cmFwcGVyIC5BUlRfREVUX1FUe1xuICAgIGNvbG9yOiAjMzMzOyAgICBcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA5MHB4OyAgIFxuICAgIGZvbnQtc2l6ZTogMTJweDsgXG4gICAgcGFkZGluZzogM3B4IDBweCAzcHggMHB4O1xufVxuXG4udWktbWVudS1pdGVtLXdyYXBwZXIudWktc3RhdGUtYWN0aXZlIC5BUlRfRU1QVFkgeyAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkICFpbXBvcnRhbnQ7IH1cbi51aS1tZW51LWl0ZW0td3JhcHBlciAuQVJUX0JBU0V7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyAgIFxuICAgIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi8qIFxuICBYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICB8ICBFc3QgdXRpbGlzw6kgcG91ciBsZXMgQUdFTkRBUyAhXG4gIFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICBcbiAqL1xuXG4uZGh0bWx4X21vZGFsX2JveCxcbi5kaHRtbHgtYWxlcnQsXG4uZGh4X2NhbF9saWdodF93aWRlLFxuLmRoeF9jYWxfbGlnaHQgICB7IFxuICAgIHotaW5kZXg6IDk5OTk5OyBcbn1cblxuXG4vKk9uIHZldXQgcXVlIG5vcyB0ZXh0ZXMgc29pZW50IHBldGl0IGRhbnMgbGVzIGJsb2NzIGRlcyBhZ2VuZGFzKi9cbi5kaHhfY2FsX2V2ZW50IC5kaHhfYm9keSwgXG4uZGh4X2NhbF9ldmVudC5kaHhfY2FsX3NlbGVjdF9tZW51IC5kaHhfYm9keSB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxuLyogXG4gIFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHwgIEVzdCB1dGlsaXPDqSBwb3VyIGxlcyBBUlRJQ0xFIFVTRSAhXG4gIFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICBcbiAqL1xuLnZpcy1pdGVtLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogZ3JlZW55ZWxsb3c7XG4gICAgYm9yZGVyLWNvbG9yOiBncmVlbjtcbn1cblxuLnZpcy1pdGVtLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6IHJlZDtcbiAgICBib3JkZXItY29sb3I6IGRhcmtyZWQ7XG59XG5cbi52aXMtaXRlbSAudmlzLWl0ZW0tb3ZlcmZsb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiBcbiAgWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgfCAgRXN0IHV0aWxpc8OpIHBvdXIgcGxhY2VyIGxlcyBsYWJlbCBkZSBjaGVja2JveCDDoCBnYXVjaGUgYXUgbGlldSBkZSBkcm9pdGUgIVxuICBYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgXG4gKi9cbi5mb3JtLWNoZWNrYm94LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWNoZWNrYm94LWxlZnQgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWNoZWNrYm94LWxlZnQgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLypVbmUgYm94IHF1aSByZXN0ZSBmaXhlLCBldCBxdWkgc2UgZMOpcGxhY2Ugw6AgbGEgc291cmlzID8qL1xuLlJFTlRBTC1Nb3VzZS1EcmFnQW5kTW92ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuLyogICAgd2lkdGg6IDkwMHB4OyovXG4vKiAgICB0b3A6IDYwcmVtOyovXG4gICAgbGVmdDogNjByZW07XG4vKiAgICByaWdodDogMTByZW07Ki9cbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGJvdHRvbTogMTByZW07XG4gICAgei1pbmRleDogMjAwOyAgICBcbn1cblxuLmFydGljbGVzVHJlZV90aHVtYm5haWwge1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuQGtleWZyYW1lcyBjbGlnbm90ZSB7ICBcbiAgNTAlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBFc3QgdXRpbGlzw6kgcG91ciBsZXMgQlMgOiBpZGVudGF0aW9uIGVuIGNhcyBkZSBHUk9VUCBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uQlNfSW5QUkVQQSB0ci5vZGQgdGQ6Zmlyc3QtY2hpbGQsXG4uQlNfSW5QUkVQQSB0ci5ldmVuIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xufVxuXG4uQlNfSW5QUkVQQV9yb3dHcm91cCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FCQUJBQiAhaW1wb3J0YW50O1xuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogIzA0ODlCMSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGOyovXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBFc3QgdXRpbGlzw6kgcG91ciBsZSBsb2dpbiA6IHRhaWxsZSBkZSBsYSBib3ggISBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLlJFTlRBTC1MT0dJTi1URVhUQk9YIHtcbiAgICAgICAgaGVpZ2h0OjkwcHg7IFxuICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuXG4gICAgLlJFTlRBTC1MT0dJTi1MT0dJTiB7XG4gICAgICAgIGhlaWdodDo5MHB4OyBcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIH1cblxuICAgIC5SRU5UQUwtU0VBUkNIQk9YIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/