@charset "UTF-8";
/* Functions sass */
/********************************************************************/
/*********** Fonction qui genere un svg background-image ************/
/********************************************************************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/* Variables des icones */
/******************************************************************************/
/******************************************************************************/
/*********************** SVG OPTIONS D'EXPORT *********************************/
/******************************************************************************/
/******************************************************************************/
/*
	Options d'export pour rendre les SVG background-image compatibles avec IE11

	Fichier AI > Exporter la selection > paramètres (format) > SVG
		Attributs de présentation
		SVG
		Incorporer
		Noms de calques
		2
		Minimifier
		Responsive

	+ ajout de l'attribut preserveAspectRatio="xMinYMid"

	Si probleme de svg avec poplyline ou line > ouvrir le svg dans ai > selection de l'icone > Objet > tracé > Vectoriser le contour
*/
/********************/
/******* IMPORT *****/
/********************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/********************/
/******* LAYOUT *****/
/********************/
/* The_chevron */
/* OK */
/* Formulaires */
/* OK */
/* OK */
/* Slick slider */
/* OK */
/* OK */
/* OK */
/* Boutons */
/* Bouton LIEN */
/* OK */
/* Bouton ALL */
/* Bouton TXT */
/* OK */
/* Btn close */
/* OK */
/* Arrow back */
/* OK */
/* Arrow reinit */
/* OK */
/* Header */
/* Menu principal N1 actif */
/* Menu principal N2 */
/* Loupe */
/* OK */
/* Micro */
/* OK */
/* Mon compte */
/* Accès au favoris */
/* Je voudrais */
/* Footer */
/* Go to top */
/* OK */
/* Newsletter */
/* Contact */
/* OK */
/* OK */
/* OK */
/* Footer reseaux sociaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Fil d'ariane */
/* OK */
/* Share / bloc note / maj */
/* OK */
/* OK */
/* Reseaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Alerte */
/* OK */
/********************/
/***** HOME PAGE ****/
/********************/
/* Vidéo play/pause */
/* Je voudrais */
/* Title */
/* Triangle gris en background */
/* OK */
/* OK */
/* Carte interactive */
/* OK */
/* OK */
/********************/
/***** PAGE TYPE ****/
/********************/
/* Liste a puces  */
/* OK */
/* Citation  */
/* OK */
/* Accordeons */
/* OK */
/* Colonne contextuelle */
/* Bloc geoloc */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Telechargements */
/* OK */
/* OK */
/* OK */
/********************/
/***** PAGE LISTE ***/
/********************/
/* Image par defaut */
/* OK */
/* Btn afficher la carte */
/* OK */
/* Btn afficher la liste */
/* OK */
/* Filtres */
/* OK */
/* OK */
/* OK */
/* Localisation */
/* OK */
/*****************************/
/***** PAGE DE RECHERCHE *****/
/*****************************/
/* Pagination */
/* OK */
/* OK */
/* OK */
/* OK */
/*****************************/
/***** PAGE DETAIL / POPIN ***/
/*****************************/
/*****************************/
/**** CARTE INTERACTIVE ******/
/*****************************/
/* Filtres */
/* OK */
/* OK */
/*****************************/
/********* DASHBOARD *********/
/*****************************/
/* Tuiles */
/* Old */
/* Button */
/* Fonts */
/* Custom mixins */
/* ************************************************** */
/* ********************* MIXINS ********************* */
/* ************************************************** */
/* Button */
/* Bouton slick */
/* Degrade */
/* Shadow */
/* Btn_all */
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* RESPONSIVE ******************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/************************** LARGE de 1920 a 1200 ********************************/
/********************************************************************************/
@media screen and (max-width: 89.99875em) {
  /***************************************************************************/
  /********************************* LAYOUT **********************************/
  /***************************************************************************/
  /*** STRUCTURE GENERALE ***/
  .wrap, .grid-container {
    max-width: calc(100% - 6rem);
  }
  .reveal .grid-container {
    max-width: 100%;
  }
  .grid-container .grid-container {
    max-width: 100%;
    padding: 0;
  }
  /*** HEADER ***/
  /* POPIN MENU PRINCIPAL */
  #menu_principal > ul > li {
    max-width: 33%;
    text-align: center;
  }
  #menu_principal > ul > li > a::after {
    height: 0.8rem;
  }
  /*** FOOTER ***/
  /* APPLIS FOOTER - NEWSLETTER - PWA */
  #footer .appli_footer, #footer .appli_footer.pwa {
    max-width: inherit;
  }
}
/********************************************************************************/
/************************** LARGE de 1444 a 1200 ********************************/
/********************************************************************************/
@media screen and (max-width: 90em) {
  /*** BANDEAU IMG ***/
  #page .bandeau_page img, #page .bandeau_page .default_img, #bandeau_page_popin img, #bandeau_page_popin .default_img {
    width: calc(91.6666666667vw - 2.5rem);
  }
}
/********************************************************************************/
/************************** LARGE de 1199 a 1024 ********************************/
/********************************************************************************/
@media screen and (max-width: 74.99875em) {
  /***************************************************************************/
  /********************************** RESET **********************************/
  /***************************************************************************/
  /*** NORMALISATION ***/
  /*** FORMULAIRES ***/
  /*** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***/
  /*** BOUTON LIEN ***/
  /*** BOUTON ALL ***/
  /*** BOUTON ADD ***/
  /*** BOUTON TXT ***/
  /*** BOUTON RETOUR ***/
  /*** BOUTON BUTTON ***/
  /*** BOUTON CLOSE ***/
  /***************************************************************************/
  /********************************* LAYOUT **********************************/
  /***************************************************************************/
  /*** STRUCTURE GENERALE ***/
  /*** HEADER ***/
  /*** POPINS ***/
  /*** POPIN MENU PRINCIPAL ***/
  /*** BANDEAU IMAGE ***/
  /*** FOOTER ***/
  /*** FIL D'ARIANE ***/
  /***************************************************************************/
  /*********************************** HOME **********************************/
  /***************************************************************************/
  /*** BLOCS HOME - TRAME GENERIQUE ***/
  .bloc_home { /*padding-bottom:3rem; padding-top:3rem; margin-top:0;*/ }
  /*** TITRE ***/
  .bloc_home .titre_bloc { /*margin-bottom:2.5rem;*/ }
  .bloc_home .titre_bloc .bloc_home_title, .content_page .bloc_home .titre_bloc .bloc_home_title { /*font-size:3em;*/ }
  /*** SOUS-TITRE ***/
  .bloc_home .bloc_home_subtitle, .content_page .bloc_home .bloc_home_subtitle { /*font-size:2.5em;*/ }
  /*** BTN ALL ***/
  /***************************************************************************/
  /******************************* PAGE TYPE *********************************/
  /***************************************************************************/
  /*** HEAD PAGE ***/
  /*** TITRE PAGE & ACCROCHE PAGE ***/
  *:is(#page, #popin_detail) .titre_page *:is(h1, p) { /*font-size:4em;*/ }
  *:is(#page, #popin_detail) .quote *:is(h2, p) { /*font-size:2em;*/ }
  /*** BTN DANS HEAD_PAGE ***/
  /*** SEPARATION COL_LEFT // COL_RIGHT ***/
  #col_left_inner { /*padding-right:6.2rem;*/ }
  /*** PARAM TXT ***/
  /*** TITRES ***/
  .content_page h2 { /*font-size:2.8em;*/ }
  /*** SKIN LIST ***/
  /*** SKIN TABLEAUX ***/
  /*** BLOCKQUOTE ***/
  .content_page blockquote { /*font-size:1.8em;*/ }
  /*** GRID ELEMENT ***/
  #col_left_inner > .grid-x { /*margin-top:3rem;*/ }
  /*** BLOC VIDEO ***/
  .bloc_video { /*margin-bottom:3rem;*/ }
  /*** COLONNE CONTEXTUELLE ***/
  /*** BLOCS COL - TRAME GENERIQUE ***/
  .bloc_col .titre_bloc { /*padding:1.5rem 2rem 0 2rem;*/ }
  .bloc_col .titre_bloc .titre { /*font-size:2.8em;*/ }
  .bloc_col .contenu_bloc .subtitle { /*font-size:1.8em;*/ }
  .bloc_col .contenu_bloc { /*padding:0 2rem;*/ }
  /*** BLOCS BAS DE PAGE ***/
  /***************************************************************************/
  /****************************** PAGE LISTE *********************************/
  /***************************************************************************/
  /*** RESULTATS ***/
  #first_display {
    max-width: calc(100% - 33rem);
  }
  /*** ITEM GENERIQUE ***/
  /*** IMAGE ***/
  /*** ZONE TEXTE ***/
  /*** TITRE ***/
  /*** DESCRIPTION ***/
  /*** DATES ***/
  /*** LIEU ***/
  /*** CATEGORIE ***/
  /*** EN SAVOIR PLUS ***/
  /***************************************************************************/
  /************************** PAGE DETAIL / POPIN ****************************/
  /***************************************************************************/
  /***************************************************************************/
  /*************************** MOTEUR DE RECHERCHE ***************************/
  /***************************************************************************/
  /***************************************************************************/
  /********************************* MODULES *********************************/
  /***************************************************************************/
}
/********************************************************************************/
/*************************** MEDIUM de 1023 a 640 *******************************/
/********************************************************************************/
@media screen and (max-width: 63.99875em) {
  /***************************************************************************/
  /********************************** RESET **********************************/
  /***************************************************************************/
  /*** NORMALISATION ***/
  p, ul, ol, main p, main ul, main ol { /*margin-bottom:2rem;*/ }
  /*** FORMULAIRES ***/
  .powermail_confirmation input[type=submit] {
    width: 100%;
    margin: 0.5rem auto;
    padding: 0.5rem 0;
  }
  /*** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***/
  /*** BOUTON LIEN ***/
  /*** BOUTON ALL ***/
  .btn_all, .content_page .btn_all {
    font-size: 1.6rem;
  }
  .btn_all > *, .content_page .btn_all > * {
    padding-right: 2rem;
    padding-left: 2rem;
  }
  /*** BOUTON ADD ***/
  /*** BOUTON TXT ***/
  /*** BOUTON RETOUR ***/
  /*** BOUTONS BUTTON ***/
  /*** BALISES <p> COMME UN BUTTON ***/
  /*** BOUTONS DOCUMENTS ***/
  .btn_kiosque, .content_page .btn_kiosque, .slick-track .btn_kiosque {
    font-size: 1.6rem;
  }
  .btn_kiosque a, .content_page .btn_kiosque a, .slick-track .btn_kiosque a {
    padding: 1rem 1.5rem;
  }
  /*** BOUTONS CLOSE ***/
  /*** BTN CLOSE (version petite croix "X" sans fond) ***/
  /*** CLOSE BUTTON FOUNDATION ***/
  /*** CLOSE BUTTON FOUNDATION (dans popin) ***/
  /*** CLOSE BUTTON FOUNDATION (dans popin fullscreen) ***/
  /*** CLOSE BUTTON ADVANCED ("FERMER + croix" ou "TEXTE + croix") ***/
  /* Dans popin */
  /***************************************************************************/
  /********************************* LAYOUT **********************************/
  /***************************************************************************/
  /*** STRUCTURE GENERALE ***/
  #main {
    padding-bottom: 0;
  }
  #main.zindex {
    z-index: 11 !important;
  }
  .wrap, .grid-container {
    max-width: calc(100% - 5rem) !important;
  }
  .reveal .wrap, .reveal .grid-container {
    max-width: 100% !important;
    padding: 0 !important;
  }
  /*** HEADER ***/
  #header {
    top: inherit;
    bottom: 0;
    height: 0.000001rem;
  }
  #home #data-sticky-header:not(.is-stuck), #data-sticky-header {
    height: 7.5rem;
    top: auto !important;
    bottom: 0 !important;
    position: fixed;
    background-color: #ffffff;
    border-top: 0.1rem solid #e2e2e2;
    border-bottom: 0.1rem solid #e2e2e2;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  #menu_right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-top: 0;
  }
  /*** SEARCH BUTTON ***/
  /*** LOGO ***/
  #logo svg {
    max-height: 7.5rem;
  }
  /*** TOOLS HEADER LINK ***/
  #tools_header_link .tools_header li > * {
    height: 3.2rem;
    width: 3.2rem;
  }
  #tools_header_link, #tools_header_link > .grid-x {
    height: 100%;
  }
  /*** HEADER TOOLS ***/
  #leftmenu_cont #reseaux_sociaux_sidebar {
    padding: 1rem 3rem;
    background-color: #e2e2e2;
  }
  #leftmenu_cont .je_suis_container {
    padding: 1rem 3rem 3rem 3em;
  }
  #leftmenu_cont #reseaux_sociaux_sidebar li a {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-size: auto 1.8rem;
  }
  #leftmenu_cont #reseaux_sociaux_sidebar li a:is(:hover, :focus) {
    background-size: auto 2.2rem;
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_facebook a {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='7.125' height='12' viewBox='0 0 7.125 12'%3E%3Cpath d='M8,12V6.75h2.25L10.63,4.5H8V3.375A1,1,0,0,1,9.13,2.25h1.125V0H8.38C6.5,0,5.755,1.125,5.755,3V4.5H3.5V6.75h2.25V12Z' transform='translate(-3.505)' fill='%23000000'/%3E%3C/svg%3E");
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_twitter a {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='300' height='270' viewBox='0 0 300 271'%3E%3Cpath d='m236 0h46l-101 115 118 156h-92.6l-72.5-94.8-83 94.8h-46l107-123-113-148h94.9l65.5 86.6zm-16.1 244h25.5l-165-218h-27.4z' fill='%23000000'/%3E%3C/svg%3E");
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_instagram a {
    -webkit-filter: brightness(100) invert(100%);
            filter: brightness(100) invert(100%);
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_youtube a {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='14' height='10.5' viewBox='0 0 14 10.5'%3E%3Cpath d='M13.856,2.266A3.364,3.364,0,0,0,13.3.783a1.916,1.916,0,0,0-1.4-.63C9.94,0,7,0,7,0H7S4.056,0,2.1.153A1.916,1.916,0,0,0,.7.783,3.364,3.364,0,0,0,.14,2.266,24.033,24.033,0,0,0,0,4.681V5.814A24.032,24.032,0,0,0,.14,8.229,3.364,3.364,0,0,0,.7,9.713a2.288,2.288,0,0,0,1.544.639C3.36,10.465,7,10.5,7,10.5s2.944,0,4.9-.153a1.943,1.943,0,0,0,1.4-.634,3.364,3.364,0,0,0,.556-1.483A24.032,24.032,0,0,0,14,5.814V4.681a24.033,24.033,0,0,0-.144-2.415ZM5.25,7.875V2.625L9.625,5.25Z' fill='%23000000'/%3E%3C/svg%3E");
    background-size: 2rem auto;
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_youtube a:is(:hover, :focus) {
    background-size: 2.5rem auto;
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_vimeo a {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='12' height='10.503' viewBox='0 0 12 10.503'%3E%3Cpath d='M11.949,3.947a1.772,1.772,0,0,0-.222-1.431A2.166,2.166,0,0,0,9.74,2.038,4.185,4.185,0,0,0,6.9,4.758c1.047-.081,1.6.077,1.5,1.247a4.355,4.355,0,0,1-.558,1.541c-.314.593-.9,1.757-1.676.918-.7-.755-.644-2.2-.8-3.161A13.361,13.361,0,0,0,5,3.534a1.8,1.8,0,0,0-.915-1.178,1.849,1.849,0,0,0-1.34.272A24.345,24.345,0,0,0,0,4.871V4.94c.18.174.227.459.492.5.622.093,1.215-.588,1.63.12a7.458,7.458,0,0,1,.491,1.376c.215.622.382,1.3.558,2.016.3,1.212.664,3.023,1.7,3.467A2.2,2.2,0,0,0,6.586,12.1,9.656,9.656,0,0,0,9.242,9.539,17.493,17.493,0,0,0,11.949,3.947Z' transform='translate(0 -1.993)' fill='%23000000' fill-rule='evenodd'/%3E%3C/svg%3E");
  }
  #leftmenu_cont #reseaux_sociaux_sidebar .reseau_linkedin a {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.112,0H.886A.877.877,0,0,0,0,.865v10.27A.877.877,0,0,0,.886,12H11.112A.878.878,0,0,0,12,11.134V.865A.878.878,0,0,0,11.112,0ZM3.558,10.225H1.778V4.5h1.78ZM2.667,3.716A1.033,1.033,0,1,1,3.7,2.684,1.033,1.033,0,0,1,2.667,3.716Zm7.558,6.508H8.446V7.441c0-.667-.013-1.52-.925-1.52s-1.066.725-1.066,1.471v2.833H4.675V4.5H6.383v.783h.023a1.875,1.875,0,0,1,1.685-.925c1.8,0,2.133,1.185,2.133,2.728Z' fill='%23000000'/%3E%3C/svg%3E");
  }
  /*** RESEAUX ***/
  /*** POPINS ***/
  /*** STYLE GENERIQUE ***/
  .reveal .close-button {
    top: 2rem;
    right: 2rem;
  }
  .reveal, .reveal.sidebar, .search_area_cont.is_search, .reveal.full {
    padding: 8rem 3rem 3rem 3rem;
  }
  /* titre */
  .reveal .titre_popin {
    margin-bottom: 3rem;
  }
  /* form */
  /*** POPIN SIDEBAR + sensation popin recherche ***/
  /*** OVERLAY ***/
  /*** POPIN FULL + popin recherche ***/
  /*** MENU PRINCIPAL ***/
  /*** STRUCTURE CANVAS ***/
  .off-canvas.position-left { /*transform:translateX(-40rem); width:40rem;*/
    height: calc(100% - 7.5rem);
    top: 0 !important;
  }
  /*** MENU OVERLAP TRANSITION ***/
  .off-canvas.position-left.is-transition-overlap.is-open,
  .off-canvas-content.is-open-left.has-transition-overlap,
  .off-canvas.position-left.is-transition-push.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
    z-index: 1004;
    overflow: visible;
  }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  .off-canvas-content {
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
  }
  /*** OVERLAY ***/
  .js-off-canvas-exit, .js-off-canvas-overlay { /*background:transparentize(darken(var(--cim_primary_color), 10%), 0.2);*/
    -webkit-backdrop-filter: blur(1rem);
            backdrop-filter: blur(1rem);
    top: 0 !important;
    z-index: 1003;
    height: calc(100% - 7.5rem);
    background: rgba(0, 0, 0, 0.25);
  }
  /*** MENU ***/
  #leftmenu_cont {
    height: 100%;
    background-color: #ffffff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    background-color: #000000;
  }
  #smart_menu {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
  }
  #offCanvasLeft .is-drilldown {
    max-width: 100% !important;
    height: 100%;
    min-height: 100% !important;
    z-index: 1;
  }
  /*** GENERIQUE (pour tous les niveaux du menu) ***/
  #offCanvasLeft .is-drilldown ul {
    height: 100%;
    padding: 1.5rem 3rem;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    background-color: #ffffff;
  }
  #offCanvasLeft .is-drilldown ul.overflow {
    overflow-y: hidden;
  }
  #offCanvasLeft .is-drilldown ul li + li {
    border-top: 0.2rem solid #e2e2e2;
  }
  #offCanvasLeft .is-drilldown li a {
    color: #000000;
    background: transparent;
    font-size: 1em;
    line-height: 1.2;
    padding: 1.5rem 3.5rem 1.5rem 0;
    font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  }
  /*** LEVEL 1 ***/
  #offCanvasLeft .is-drilldown > ul {
    display: block;
    top: 0; /*background:$default_color;*/
  }
  #offCanvasLeft .is-drilldown > ul > li {
    font-size: 2rem;
  }
  /*** LEVEL 2 ***/
  #offCanvasLeft .is-drilldown ul.sous_menu {
    z-index: 2;
    padding-top: 8rem; /*background:darken($default_color, 5%);*/
  }
  #offCanvasLeft .is-drilldown > ul li.level2 {
    font-size: 1.8rem;
  }
  /*** LEVEL 3 ***/
  #offCanvasLeft .is-drilldown ul.sm {
    z-index: 3;
    padding-top: 8rem; /*background:darken($default_color, 10%);*/
  }
  #offCanvasLeft .is-drilldown > ul li.level3 {
    font-size: 1.8rem;
  }
  /*** AFFICHAGE DU NOM DE LA RUBRIQUE PARENT ***/
  #offCanvasLeft .menu.vertical .is-drilldown-submenu-parent > a::after {
    content: "";
    display: block;
    width: 2rem;
    height: 1rem;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    border: 0;
    margin: 0;
    background: transparent no-repeat center center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='8' height='10' viewBox='0 0 8 10'%3E%3Cpath d='M5,0l5,8H0Z' transform='translate(8) rotate(90)' fill='%230061AE'/%3E%3C/svg%3E");
  }
  #offCanvasLeft .is-drilldown > ul li.is-submenu-parent-item {
    font-size: 2rem;
    line-height: 1;
    border: 0;
    padding-bottom: 1.5rem;
  }
  #offCanvasLeft .is-drilldown > ul li.is-submenu-parent-item a {
    text-transform: uppercase;
    color: #000000;
  }
  /*** BTN "RETOUR" ***/
  #offCanvasLeft .is-drilldown ul .js-drilldown-back {
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #e2e2e2;
  }
  #offCanvasLeft .is-drilldown ul .js-drilldown-back > a {
    line-height: 1;
    text-transform: uppercase;
    padding: 1.5rem 3rem;
    position: relative;
  }
  #offCanvasLeft .is-drilldown ul .js-drilldown-back > a::before {
    content: "";
    width: 3rem;
    height: 2rem;
    display: inline-block;
    vertical-align: text-top;
    margin-right: 1rem;
    border: 0;
    border-radius: 50%;
    background: transparent no-repeat center center/auto 1rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='8' height='10' viewBox='0 0 8 10'%3E%3Cpath d='M0,5,8,0V10Z' fill='%230061AE'/%3E%3C/svg%3E");
  }
  /*** HEADER ***/
  .off-canvas-content.is-open-left.has-transition-push #home #header #data-sticky-header:not(.is-stuck), #header #data-sticky-header,
  .off-canvas-content.is-open-left.has-transition-overlap #home #header #data-sticky-header:not(.is-stuck), #header #data-sticky-header {
    left: 0 !important;
  }
  /* Bandeau */
  /*.off-canvas-content.is-close.has-transition-push .bandeau_page,*/
  /*.off-canvas-content.is-close.has-transition-overlap .bandeau_page {transform:none;}*/
  .off-canvas-content.is-open-left.has-transition-push .bandeau_page,
  .off-canvas-content.is-open-left.has-transition-overlap .bandeau_page {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  /*** BANDEAU IMAGE ***/
  #home .bandeau_page {
    height: 25rem; /*min-height:inherit;*/
  }
  #home .bandeau_page .img img {
    max-height: 105%;
    max-width: 200%;
  }
  /*** GO TO NEXT ***/
  /*** FOOTER ***/
  #footer {
    position: relative;
    min-height: initial;
  }
  #info_footer {
    padding: 3.5rem 0 3rem 0;
  }
  #footer .appli_footer .btn_lien {
    white-space: initial;
  }
  #info_footer .xlarge-offset-1 {
    text-align: center;
    margin-bottom: 1rem;
  }
  #info_footer .xlarge-offset-1 .grid-x {
    text-align: left;
  }
  #back_to_top p a {
    max-width: 7.4rem;
    max-height: 7.4rem;
    width: 10vw;
    height: 10vw;
    min-width: 5rem;
    min-height: 5rem;
  }
  #menu_footer ul {
    padding: 1rem 0;
  }
  #menu_footer ul li {
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    font-size: 1.4em;
  }
  #menu_footer ul li a {
    padding: 0 0.5rem;
  }
  #menu_footer ul li::before {
    top: -0.1rem;
  }
  #menu_footer ul li:first-child::before {
    content: "";
  }
  /*** FIL D'ARIANE ***/
  /***************************************************************************/
  /*********************************** HOME **********************************/
  /***************************************************************************/
  #home #img_bdp {
    right: -30rem;
    width: auto;
  }
  #img_bdp img {
    max-width: none;
    width: auto;
  }
  .content_from_page .content_page::before, .content_from_page .content_page ~ .bloc_home::before {
    background-position: top right 11rem;
  }
  /*** TAGS ***/
  /*** BLOCS HOME - TRAME GENERIQUE ***/
  .bloc_home {
    padding-bottom: 4rem;
    padding-top: 3rem;
  }
  .bloc_home .btn_all {
    margin-top: 4rem;
  }
  /*** TITRE ***/
  .bloc_home .titre_bloc {
    margin-bottom: 1.5rem;
  }
  .bloc_home .titre_bloc .bloc_home_title, .content_page .bloc_home .titre_bloc .bloc_home_title {
    font-size: 4.5em;
  }
  /*** SOUS-TITRE ***/
  .bloc_home .bloc_home_subtitle, .content_page .bloc_home .bloc_home_subtitle {
    font-size: 4rem;
  }
  .bloc_home .bloc_home_subtitle span, .content_page .bloc_home .bloc_home_subtitle span {
    font-size: 3rem;
  }
  /*** BTN ALL ***/
  /***************************************************************************/
  /******************************* PAGE TYPE *********************************/
  /***************************************************************************/
  .content_from_page {
    margin-top: 0;
  }
  #page .bandeau_page .copyright, #bandeau_page_popin .copyright {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    right: -2.5rem;
  }
  /*** Largeur de l'image DANS le wrap ***/
  #page .bandeau_page {
    /*** Largeur de l'image HORS du wrap ***/
    /*** Largeur de l'img ***/
  }
  #page .bandeau_page img, #page .bandeau_page .default_img {
    width: calc(calc((100vw - 5rem) * 11 / 12) + 2.5rem);
    height: calc(100% - 7.5rem);
  }
  #bandeau_page_popin {
    /*** Largeur de l'img ***/
  }
  #bandeau_page_popin img, #bandeau_page_popin .default_img {
    width: calc(calc((100vw - 5rem) * 11 / 12) + 1.5rem);
    height: calc(100% - 7.5rem);
  }
  /*** HEAD PAGE ***/
  /*** TITRE PAGE & ACCROCHE PAGE ***/
  *:is(#page, #popin_detail) .titre_page *:is(h1, p) {
    font-size: 3.5em;
  }
  *:is(#page, #popin_detail) .quote *:is(h2, p) {
    font-size: 2em;
  }
  .content_quote {
    padding: 4rem 5rem;
  }
  /*** BTN DANS HEAD_PAGE ***/
  /*** PARAM TXT ***/
  /*** TITRES ***/
  /*** SKIN LIST ***/
  /*** SKIN TABLEAUX ***/
  .content_page table caption {
    font-size: 2.2em;
  }
  .content_page th {
    padding: 1rem;
    font-size: 1.8em;
  }
  /*** BLOCKQUOTE ***/
  .content_page blockquote {
    font-size: 2em;
  }
  /*** BLOC CITATION ***/
  /*** STYLE RTE ***/
  .ce-textpic .ce-gallery {
    float: none;
  }
  .content_page .csc-textpic-image, .content_page figure.image {
    margin: 0;
  }
  /*** GRID ELEMENT ***/
  #col_left_inner > .grid-x { /*margin-top:3rem;*/ }
  /*** BLOC VIDEO ***/
  .bloc_video { /*margin-bottom:3rem;*/ }
  /*** COLONNE CONTEXTUELLE ***/
  .col_right {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
    margin-bottom: 2rem;
  }
  /*** BLOCS COL - TRAME GENERIQUE ***/
  /*.bloc_col .titre_bloc {padding:1.5rem 2rem 0 2rem;}*/
  .bloc_col .titre_bloc .titre {
    font-size: 2.6em;
  }
  /*.bloc_col .contenu_bloc .subtitle {font-size:1.8em;}
  .bloc_col .contenu_bloc {padding:0 2rem;}*/
  /*** BLOCS BAS DE PAGE ***/
  /***************************************************************************/
  /****************************** PAGE LISTE *********************************/
  /***************************************************************************/
  #page.list .head_page, #page.dashboard .head_page {
    margin-top: 0;
  }
  #page.list .head_page .contain_infos::before, #page.dashboard .head_page .contain_infos::before {
    width: 81vw;
  }
  /*** RESULTATS ***/
  #zone_results { /*padding-bottom:4rem;*/ }
  #list_items { /*padding-top:calc( 6.1rem + 1.5rem);*/
    padding-top: 3rem;
    height: inherit;
  }
  /*** ITEM GENERIQUE ***/
  /* ///// ATTENTION \\\\\ on inverse les positions relative et absolue des items pour que le texte soit dans le flux (relative) et que l'image soit limitee (absolute)*/
  .list_item { /*margin-bottom:3rem;*/ }
  /*** IMAGE ***/
  /* ///// ATTENTION \\\\\ elles passent en absolue on limite leurs dimensions et on gere les proportions : le width sera a 100% (on met 105% par securite) mais la hauteur peut bcp evoluer on met 200%, 250% en portrait*/
  /*** ZONE TEXTE ***/
  /* pour item classique sans img > ex. ASSOCIATION */
  .list_item .txt { /*padding:1.5rem 1.5rem; min-height:initial; height:100%;*/ }
  /* pour bandeau item avec img > ex. AGENDA */
  .list_item.bandeau_item .txt { /*padding:1.5rem 1.5rem; height:100%; min-height:initial; max-height:initial; position:relative; bottom:initial; left:initial;*/ }
  /* pour bandeau item avec img format portrait > ex. ELUS */
  .list_item.bandeau_portrait .txt { /*min-height:initial;*/ }
  /*** DATES ***/
  /*** GENERIQUE ***/
  .date .contain {
    padding: 1rem;
  }
  .date .contain span.txt_day_nb {
    font-size: 3em;
  }
  .date .contain span.txt_month {
    font-size: 1.6em;
    line-height: 1;
  }
  /*** TITRE ***/
  .list_item .titre, .content_page .list_item .titre {
    font-size: 2em;
  }
  /*** DESCRIPTION ***/
  /* Gestion des elements affiches au survol des item */
  .list_item .showonhover {
    height: auto;
    -webkit-transform: scaleY(1);
        -ms-transform: scaleY(1);
            transform: scaleY(1);
    overflow: initial;
    max-height: none;
    opacity: 1;
  }
  /*** LIEU ***/
  /*** CATEGORIE ***/
  .cat, .list_item .cat {
    font-size: 1.2em;
    line-height: 1em;
  }
  /*** EN SAVOIR PLUS ***/
  /*.list_item .btn_txt {padding-top:2.3rem; right:inherit; left:-3rem; width:calc(100% + 6rem);}
  .list_item .btn_txt span {padding:0 3.5rem 0 0;}*/
  /*** ITEMS SUBPAGES // PAGE CARREFOUR ***/
  /*.list_item.subpage.bandeau_item > .link, .content_page .list_item.subpage.bandeau_item > .link {padding-bottom:0; padding-top:15rem; height:100%;}
  .list_item.bandeau_item.subpage .img, .content_page .content .list_item.subpage .img {height:22rem;}*/
  /*** ITEMS RECHERCHE GENERALE ***/
  .list_item.search .txt {
    min-height: initial;
  }
  .list_item.search .type { /*font-size:1.1em; line-height:1.1em; margin-bottom:1.5rem;*/ }
  .list_item.search .type::after { /*left:0; top:50%; width:100%; height:0.1rem;*/ }
  .type span { /*padding:0.3rem 0.5rem;*/ }
  /* skin + visible au survol avec border */
  .list_item.search .txt {
    -webkit-transition: none;
    transition: none;
  }
  .list_item.search:hover .txt,
  .list_item.search > .link:hover .txt {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: transparent;
  }
  /***************************************************************************/
  /************************** PAGE DETAIL / POPIN ****************************/
  /***************************************************************************/
  #popin_detail {
    width: 100vw;
    max-width: 100vw;
    top: 0 !important;
    left: 0;
    padding: 0 1.5rem 10rem 1.5rem;
    -webkit-backdrop-filter: initial;
            backdrop-filter: initial;
    background: #ffffff;
    min-height: 100%;
  }
  #popin_detail .head_page .top_container::before {
    height: 100%;
  }
  /*** NAVIGATION ***/
  .popin_detail.reveal {
    max-width: 100%;
    width: 100%;
    border-radius: 0;
    min-height: 0;
    height: auto;
  }
  .popin_detail::after {
    content: "";
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7.5rem;
    background-color: #ffffff;
    border-top: 0.1rem solid #b1b1b1;
    z-index: 3;
  }
  #popin_detail > .wrap_popin > .close-button {
    position: fixed;
    right: 50%;
    top: auto;
    bottom: 1.25rem;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 0.1rem solid #797676;
    background-size: 3rem auto;
    z-index: 6;
  }
  /*** ARROWS NAV POPIN ***/
  .wrap_arrow {
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    top: auto;
    bottom: 1.25rem;
    width: 5rem;
    height: 5rem;
  }
  .wrap_arrow.prev {
    left: calc(50vw - 9rem) !important;
  }
  .wrap_arrow.next {
    right: calc(50vw - 9rem) !important;
  }
  /***************************************************************************/
  /*************************** MOTEUR DE RECHERCHE ***************************/
  /***************************************************************************/
  /*** PAGINATION ***/
  .nb_pages_total_infos {
    text-align: center;
  }
  .content_page .pagination {
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
  }
  .content_page .pagination li {
    font-size: 1.4em;
    line-height: 1.4em;
  }
  /***************************************************************************/
  /********************************** MODULES ********************************/
  /***************************************************************************/
  /****************************** BANDEAU IE11 *******************************/
  #popin_navigateurs .wrap {
    margin: 0 auto;
    width: 90%;
    padding-top: 2rem;
  }
  #popin_navigateurs a, #popin_navigateurs button {
    padding: 0.2rem 0;
  }
  #popin_navigateurs button {
    font-size: 1.5em;
    padding: 1rem;
  }
}
/********************************************************************************/
/*************************** SMALL de 639 a 320 *********************************/
/********************************************************************************/
@media screen and (max-width: 39.99875em) {
  /***************************************************************************/
  /********************************** RESET **********************************/
  /***************************************************************************/
  /*** NORMALISATION ***/
  p, ul li, ol li, main p, main ul li, main ol li {
    font-size: 1.6em;
    line-height: 1.4;
  }
  p, ul, ol, main p, main ul, main ol { /*margin-bottom:2rem;*/ }
  /*** FORMULAIRES ***/
  legend, .like_legend {
    font-size: 2.2em;
  }
  .ligne_form.checkbox label, .ligne_form.radio label, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
    font-size: 1.4em;
  }
  /*** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***/
  /*** BOUTON LIEN ***/
  .btn_lien, .content_page .btn_lien {
    /*** +Picto right ***/
  }
  .btn_lien > *, .content_page .btn_lien > * {
    padding: 0.5rem 1.5rem;
  }
  .btn_lien.picto_right, .content_page .btn_lien.picto_right {
    font-size: 1.4rem;
  }
  .btn_lien.picto_right > *, .content_page .btn_lien.picto_right > * {
    padding-right: 3rem;
    background-position: right 1.2rem center;
  }
  /*** BOUTON ALL ***/
  .btn_all, .content_page .btn_all,
  .btn_back, .content_page .btn_back {
    font-size: 1.6rem;
  }
  .btn_all > *, .content_page .btn_all > *,
  .btn_back > *, .content_page .btn_back > * {
    padding: 1rem;
  }
  .btn_all > * span, .content_page .btn_all > * span,
  .btn_back > * span, .content_page .btn_back > * span {
    padding-right: 1.5rem;
  }
  /*** BOUTON ADD ***/
  /*** BOUTON TXT ***/
  /*** BOUTON RETOUR ***/
  /*** BOUTONS BUTTON ***/
  /*** BALISES <p> COMME UN BUTTON ***/
  /*** BOUTONS DOCUMENTS ***/
  .btn_kiosque, .content_page .btn_kiosque, .slick-track .btn_kiosque {
    font-size: 1.6rem;
  }
  /*** BOUTONS CLOSE ***/
  /*** BTN CLOSE (version petite croix "X" sans fond) ***/
  /*** CLOSE BUTTON FOUNDATION ***/
  /*** CLOSE BUTTON FOUNDATION (dans popin) ***/
  /*** CLOSE BUTTON FOUNDATION (dans popin fullscreen) ***/
  /*** CLOSE BUTTON ADVANCED ("FERMER + croix" ou "TEXTE + croix") ***/
  /* Dans popin */
  /***************************************************************************/
  /********************************* LAYOUT **********************************/
  /***************************************************************************/
  /*** STRUCTURE GENERALE ***/
  .wrap, .grid-container {
    max-width: calc(100% - 2rem) !important;
  }
  /*** HEADER ***/
  #home #data-sticky-header:not(.is-stuck), #data-sticky-header {
    height: 5.5rem;
  }
  /*** BURGER BUTTON ***/
  .hamburger {
    margin-left: 0;
  }
  .hamburger .hamburger-inner, .hamburger .hamburger-inner::after, .hamburger .hamburger-inner::before {
    width: 2.7rem;
    height: 0.2rem;
  }
  .hamburger--spring .hamburger-inner::before {
    top: -0.7rem;
  }
  .hamburger--spring .hamburger-inner::after {
    top: 0.7rem;
  }
  /* etat actif */
  .hamburger--spring .menu_title {
    color: #000000;
    font-family: "montserrat_regular", Arial, Verdana, sans-serif;
    font-size: 1.2em;
    bottom: 0.5rem;
  }
  /* Burger open menu smart */
  #btn_open_menu_smart.hamburger .hamburger-inner, #btn_open_menu_smart.hamburger .hamburger-inner::after, #btn_open_menu_smart.hamburger .hamburger-inner::before {
    width: 2.7rem;
  }
  /*** SEARCH BUTTON ***/
  /*** ACCESSIBILITE ***/
  #accessi {
    display: none;
  }
  /*** LOGO ***/
  #logo a {
    height: 100%;
  }
  #logo svg, #logo img {
    width: auto;
    max-width: 7rem;
    max-height: calc(100% - 0.8rem);
  }
  /*** TOOLS HEADER LINK ***/
  #tools_header_link .tools_header li {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  #tools_header_link .tools_header li > * {
    height: 2.8rem;
    width: 2.8rem;
  }
  /*** POPINS ***/
  /*** STYLE GENERIQUE ***/
  .reveal {
    width: 100%;
    top: 0 !important;
  }
  /* titre */
  .reveal .titre_bloc, .titre_popin .titre_bloc {
    font-size: 2.5em;
  }
  /*** POPIN FULL ***/
  /*** TITRE ***/
  /*** CONTENU ***/
  /*** MENU PRINCIPAL ***/
  /*** STRUCTURE CANVAS ***/
  /*** MENU OVERLAP TRANSITION ***/
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(100vw);
        -ms-transform: translateX(100vw);
            transform: translateX(100vw);
    width: 100vw;
  }
  /*** BTN CLOSE MENU SMART ***/
  #btn_close_menu_smart {
    left: -100vw;
  }
  .off-canvas.position-left.is-transition-overlap.is-open #btn_close_menu_smart,
  .off-canvas.position-left.is-transition-push.is-open #btn_close_menu_smart {
    left: 100vw;
    width: 5rem;
    height: 5rem;
    font-size: 5rem;
  }
  /*** MENU ***/
  /*** GENERIQUE (pour tous les niveaux du menu) ***/
  /*** BANDEAU IMAGE ***/
  /*** Largeur de l'image DANS le wrap ***/
  #page .bandeau_page {
    /*** Largeur de l'image HORS du wrap ***/
    /*** Largeur de l'img ***/
  }
  #page .bandeau_page img, #page .bandeau_page .default_img {
    width: calc(calc((100vw - 1.5rem) * 11 / 12) + 1.5rem);
    height: calc(100% - 5.5rem);
  }
  #page .bandeau_page .copyright {
    right: -1rem;
  }
  /*** FOOTER ***/
  #footer .appli_footer:not(:first-child) {
    margin-top: 1rem;
  }
  #footer .reseaux_sociaux {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
  /*** FIL D'ARIANE ***/
  /***************************************************************************/
  /*********************************** HOME **********************************/
  /***************************************************************************/
  #home #img_bdp {
    right: -50rem;
  }
  /*** TAGS ***/
  #tags li a {
    padding: 1rem;
  }
  /*** BLOCS HOME - TRAME GENERIQUE ***/
  .bloc_home {
    padding-bottom: 2rem;
  }
  /*** TITRE ***/
  .bloc_home .titre_bloc {
    padding-top: 4rem;
  }
  .bloc_home .titre_bloc .bloc_home_title, .content_page .bloc_home .titre_bloc .bloc_home_title {
    font-size: 2.3em;
  }
  .bloc_home .titre_bloc .bloc_home_title span, .content_page .bloc_home .titre_bloc .bloc_home_title span {
    font-size: 1em;
  }
  .bloc_home .titre_bloc .bloc_home_title::after {
    background-size: 2rem auto;
    background-position: calc(100% - 2rem) -0.4rem;
  }
  /*** SOUS-TITRE ***/
  .bloc_home .bloc_home_subtitle, .content_page .bloc_home .bloc_home_subtitle {
    font-size: 3rem;
  }
  .bloc_home .bloc_home_subtitle span, .content_page .bloc_home .bloc_home_subtitle span {
    font-size: 2rem;
  }
  /*** BTN ALL ***/
  .btn_all_bloc .btn_all {
    font-size: 1.6em;
    padding-top: 2.5rem;
    margin-bottom: 4.5rem;
  }
  /***************************************************************************/
  /******************************* PAGE TYPE *********************************/
  /***************************************************************************/
  /*** HEAD PAGE ***/
  .head_page .top_container .contain_infos {
    min-height: 0;
  }
  /*** TITRE PAGE & ACCROCHE PAGE ***/
  .titre_page { /*padding:0 1.5rem 1.5rem 1.5rem;*/ }
  *:is(#page, #popin_detail) .titre_page *:is(h1, p) {
    font-size: 2.8em; /*line-height:1.2em;*/
  }
  .content_quote {
    padding: 2rem;
  }
  *:is(#page, #popin_detail) .quote *:is(h2, p) {
    font-size: 1.8em;
    line-height: 1.2;
  }
  /*** BTN DANS HEAD_PAGE ***/
  /*** PARAM TXT ***/
  /*** TITRES ***/
  /*** SKIN LIST ***/
  /*** SKIN TABLEAUX ***/
  .content_page table {
    overflow-x: auto;
    display: block;
    max-width: 100%;
  }
  .content_page table caption {
    font-size: 1.8em;
    padding: 0.5rem 1rem;
  }
  .content_page th, .content_page td {
    font-size: 1.6em;
  }
  /*** BLOCKQUOTE ***/
  blockquote {
    padding-left: 2rem;
    padding-top: 4rem;
  }
  .content_page blockquote {
    background-position: 2rem top;
    background-size: 4rem auto;
  }
  .content_page blockquote::before {
    left: 0;
  }
  /*** BLOC CITATION ***/
  /*** SKIN LEGENDE LIEN IMG ***/
  .content_page .csc-textpic-image, .content_page figure.image { /*margin-bottom:2rem;*/ }
  /* GRID ELEMENT */
  #col_left_inner > .grid-x { /*margin-top:2rem;*/ }
  /*** BLOC VIDEO ***/
  .bloc_video { /*margin-bottom:2rem;*/ }
  /*** COLONNE CONTEXTUELLE ***/
  /*** BLOCS COL - TRAME GENERIQUE ***/
  .col_left .bloc_col { /*margin-bottom:2rem;*/ }
  .bloc_col .titre_bloc { /*padding:1.5rem 2rem 0 2rem;*/ }
  .bloc_col .titre_bloc .titre {
    font-size: 2.2em;
  }
  .bloc_col .contenu_bloc .subtitle { /*font-size:1.7em;*/ }
  .bloc_col .contenu_bloc { /*padding:0 2rem;*/ }
  /*** BLOCS BAS DE PAGE ***/
  /***************************************************************************/
  /****************************** PAGE LISTE *********************************/
  /***************************************************************************/
  #page.list .head_page .contain_infos::before, #page.dashboard .head_page .contain_infos::before {
    width: 100vw;
  }
  /*** MAP ***/
  #second_display {
    min-height: 45rem;
  }
  /*** RESULTATS ***/
  /*** ITEM GENERIQUE ***/
  #page.list .list_item, #page.carto_tpl .list_item {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 0.1rem solid rgba(177, 177, 177, 0.4);
    width: 100%;
  }
  #page.list .list_item > .link, #page.carto_tpl .list_item > .link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #page.list .list_item > .link > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 3rem);
  }
  #page.carto_tpl .list_item > .link > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  /*** IMAGE (elles passent en absolue on limite leurs dimensions) ***/
  .list_item .default_img { /*aspect-ratio:initial;*/
    max-width: 21rem;
    margin: 0 auto;
  }
  .list_item .img {
    background-color: #e2e2e2;
    text-align: center;
    aspect-ratio: initial;
  }
  .list .list_item .img {
    aspect-ratio: initial;
  }
  .list_item .img img {
    margin: 0 auto;
  }
  /*** ZONE TEXTE ***/
  #page.list .list_item .txt, #page.carto_tpl .list_item .txt {
    width: 100%;
    padding-bottom: 0;
    padding-top: 1.5rem;
  }
  /*** DATES ***/
  .date .contain {
    padding: 1rem;
  }
  .date .contain span.txt_day_nb {
    font-size: 3em;
  }
  .date .contain span.txt_month {
    font-size: 1.2em;
  }
  .cim_mapbox .list_item[class*=agenda].horizontal .date_container {
    left: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  /*** TITRE ***/
  .list_item .titre, .content_page .list_item .titre {
    font-size: 1.8em !important;
  }
  /*** DESCRIPTION ***/
  /*** LIEU ***/
  .lieu {
    background-position: left 0;
  }
  /*** CATEGORIE ***/
  .cat, .type, .date_inline, .lieu, [class*=fonction_] {
    font-size: 1.2em;
  }
  /*** EN SAVOIR PLUS ***/
  /*** ITEMS SUBPAGES // PAGE CARREFOUR ***/
  /*** ITEMS RECHERCHE GENERALE ***/
  /*** ITEMS AGENDA ***/
  /*.list .list_item.agenda > .link {padding-left:0;}
  .list_item[class*='agenda'].horizontal > .link {min-height:inherit;}
  .list_item[class*='agenda'].horizontal .date_container {order:-2; margin-bottom:2rem;}
  .list_item[class*='agenda'].horizontal .date {position:inherit; transform:none; top:auto;}*/
  .list_item[class*=agenda].horizontal .date_container {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 12rem;
  }
  /*** KIOSQUE ***/
  .kiosque.list_item .img {
    min-height: 18rem;
  }
  .kiosque.list_item .txt .grid-x {
    margin: 0;
  }
  /***************************************************************************/
  /************************** PAGE DETAIL / POPIN ****************************/
  /***************************************************************************/
  /*** POPIN DETAIL ***/
  #popin_detail #contain_ariane {
    width: calc(100% + 3rem);
  }
  /*** Largeur de l'image DANS le wrap ***/
  #bandeau_page_popin {
    /*** Largeur de l'img ***/
  }
  #bandeau_page_popin img, #bandeau_page_popin .default_img {
    width: calc(calc((100vw - 3rem) * 11 / 12) + 1.5rem);
    height: calc(100% - 5.5rem);
  }
  #popin_detail .titre_bloc {
    font-size: 1em;
  }
  /***************************************************************************/
  /*************************** MOTEUR DE RECHERCHE ***************************/
  /***************************************************************************/
  /*** PAGINATION ***/
  .nb_pages_total_infos {
    font-size: 1.2rem;
  }
  .content_page .tx-indexedsearch-browsebox {
    position: relative;
  }
  .content_page .pagination {
    margin-top: 4rem;
  }
  .content_page .pagination li {
    font-size: 1.3rem;
    margin: 0 0.3rem;
    padding: 0.2rem 0.3rem;
    display: inline-block;
  }
  .content_page .pagination li[class^=pagination-] {
    padding: 0;
    position: absolute;
    top: 0;
    margin: 0;
  }
  .content_page .pagination li[class^=pagination-] a {
    width: 3.5rem;
    height: 3.5rem;
  }
  .content_page .pagination a::before {
    background-size: auto 1.2rem;
  }
  .content_page .pagination .pagination-first a::before,
  .content_page .pagination .pagination-last a::before {
    background-size: 3.5rem auto !important;
  }
  .content_page .pagination .pagination-first {
    left: 0;
  }
  .content_page .pagination .pagination-previous {
    left: 4rem;
  }
  .content_page .pagination .pagination-last {
    right: 0;
  }
  .content_page .pagination .pagination-next {
    right: 4rem;
  }
  /***************************************************************************/
  /********************************** MODULES ********************************/
  /***************************************************************************/
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvYXBwX3Jlc3BvbnNpdmUuY3NzIiwic2Nzcy9nbG9iYWwvX3NldHRpbmdzLnNjc3MiLCJzY3NzL2N1c3RvbS9fZnVuY3Rpb25zLnNjc3MiLCJzY3NzL2N1c3RvbS9fY2ltX3NldHRpbmdzX2NvbG9ycy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9zZXR0aW5ncy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9pY29ucy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvRm91bmRhdGlvbi5zY3NzIiwic2Nzcy9hcHBfcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDZ0VoQixtQkFBQTtBQ2hFQSxxRUFBQTtBQUNBLHFFQUFBO0FBQ0EscUVBQUE7QURpRUEsMEJBQUE7QUVuRUEsdURBQUE7QUFDQSx1REFBQTtBQUNBLHVEQUFBO0FBS0Msb0JBQUE7QUFPQyxzQ0FBQTtBQ1pGLHVEQUFBO0FBQ0EsdURBQUE7QUFDQSx1REFBQTtBQUVDLDBEQUFBO0FBSUEsd0RBQUE7QUFLQSxjQUFBO0FBS0Esb0JBQUE7QUFjRCx1REFBQTtBQUNBLHVEQUFBO0FBQ0EsdURBQUE7QUFFQyxlQUFBO0FBQ0Msc0JBQUE7QUFPRCxhQUFBO0FBQ0MsdUJBQUE7QUFPQSxnREFBQTtBQU9ELGNBQUE7QUFDRSxpQ0FBQTtBQU9ELHVCQUFBO0FBT0Qsc0JBQUE7QUFDQyxzQkFBQTtBQU9BLGdDQUFBO0FBT0EsNEVBQUE7QUhyQkYseUJBQUE7QUl0RUEsK0VBQUE7QUFDQSwrRUFBQTtBQUNBLCtFQUFBO0FBQ0EsK0VBQUE7QUFDQSwrRUFBQTtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWlCQSxxQkFBQTtBQUNBLHFCQUFBO0FB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NVdHO0lBQW9ELFVBQUE7SUFBVyxrQkFBQTtJQUFtQixNQUFBO0lBQU8sU0FBQTtFUmtYNUY7RVFqWEc7SUFBc0QsYUFBQTtJQUFjLGNBQUE7RVJxWHZFO0VRcFhHO0lBQXFDLDRCQUFBO0VSdVh4QztFUXRYRzs7SUFDc0QsdUNBQUE7RVJ5WHpEO0VRdlhHO0lBQTZDLE9BQUE7RVIwWGhEO0VRelhHO0lBQWdELFVBQUE7RVI0WG5EO0VRM1hHO0lBQTRDLFFBQUE7RVI4WC9DO0VRN1hHO0lBQTRDLFdBQUE7RVJnWS9DO0VRN1hDLDRFQUFBO0VBQ0EsNEVBQUE7RUFDQSw0RUFBQTtBUitYSCIsImZpbGUiOiJzY3NzL2FwcF9yZXNwb25zaXZlLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBGdW5jdGlvbnMgc2FzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqIEZvbmN0aW9uIHF1aSBnZW5lcmUgdW4gc3ZnIGJhY2tncm91bmQtaW1hZ2UgKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBwcm9qZXQgKi9cbi8qIHV0aWxpc8OpcyBkYW5zIHNldHRpbmdzIEZvdW5kYXRpb24gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKiogQ09VTEVVUlMgSE9SUyBDSU1fKiAqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIERhc2hib2FyZCAqL1xuLyogUmVzZWF1eCBzb2NpYXV4ICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIENPTkZJRyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKioqIExBWU9VVCAqKiovXG4vKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xuLyoqKiBIT01FICoqKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXG4vKioqIEVESVRPICoqKi9cbi8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyoqKiBQQUdFIERFIExJU1RFICoqKi9cbi8qIEhhdXRldXIgZHUgbW90ZXVyICovXG4vKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cbi8qIFJlc3VsdGF0cyAtIGVzcGFjZSBlbnRyZSBtb3RldXI6Ym90dG9tIGV0IHZpZ25ldHRlOnRvcCBkZSBwYWdlIGRlIGxpc3RlICovXG4vKiBWYXJpYWJsZXMgZGVzIGljb25lcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKiogU1ZHIE9QVElPTlMgRCdFWFBPUlQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXHRPcHRpb25zIGQnZXhwb3J0IHBvdXIgcmVuZHJlIGxlcyBTVkcgYmFja2dyb3VuZC1pbWFnZSBjb21wYXRpYmxlcyBhdmVjIElFMTFcblxuXHRGaWNoaWVyIEFJID4gRXhwb3J0ZXIgbGEgc2VsZWN0aW9uID4gcGFyYW3DqHRyZXMgKGZvcm1hdCkgPiBTVkdcblx0XHRBdHRyaWJ1dHMgZGUgcHLDqXNlbnRhdGlvblxuXHRcdFNWR1xuXHRcdEluY29ycG9yZXJcblx0XHROb21zIGRlIGNhbHF1ZXNcblx0XHQyXG5cdFx0TWluaW1pZmllclxuXHRcdFJlc3BvbnNpdmVcblxuXHQrIGFqb3V0IGRlIGwnYXR0cmlidXQgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCJcblxuXHRTaSBwcm9ibGVtZSBkZSBzdmcgYXZlYyBwb3BseWxpbmUgb3UgbGluZSA+IG91dnJpciBsZSBzdmcgZGFucyBhaSA+IHNlbGVjdGlvbiBkZSBsJ2ljb25lID4gT2JqZXQgPiB0cmFjw6kgPiBWZWN0b3Jpc2VyIGxlIGNvbnRvdXJcbiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKiBJTVBPUlQgKioqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIHByb2pldCAqL1xuLyogdXRpbGlzw6lzIGRhbnMgc2V0dGluZ3MgRm91bmRhdGlvbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKiBDT1VMRVVSUyBIT1JTIENJTV8qICoqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIE51YW5jZXMgZGUgZ3JpcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogRGFzaGJvYXJkICovXG4vKiBSZXNlYXV4IHNvY2lhdXggKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiogQ09ORklHICoqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qKiogTEFZT1VUICoqKi9cbi8qIEhhdXRldXIgZHUgaGVhZGVyICovXG4vKioqIEhPTUUgKioqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKiBNYXJnaW4gbsOpZ2F0aXZlIGF1IGRlc3N1cyBkZXMgYWNjw6hzIHJhcGlkZXMgKi9cbi8qKiogRURJVE8gKioqL1xuLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKioqIFBBR0UgREUgTElTVEUgKioqL1xuLyogSGF1dGV1ciBkdSBtb3RldXIgKi9cbi8qIFBhZGRpbmcgYXUgZGVzc3VzIGR1IG1vdGV1ciAqL1xuLyogUmVzdWx0YXRzIC0gZXNwYWNlIGVudHJlIG1vdGV1cjpib3R0b20gZXQgdmlnbmV0dGU6dG9wIGRlIHBhZ2UgZGUgbGlzdGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqIExBWU9VVCAqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIFRoZV9jaGV2cm9uICovXG4vKiBPSyAqL1xuLyogRm9ybXVsYWlyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogU2xpY2sgc2xpZGVyICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBCb3V0b25zICovXG4vKiBCb3V0b24gTElFTiAqL1xuLyogT0sgKi9cbi8qIEJvdXRvbiBBTEwgKi9cbi8qIEJvdXRvbiBUWFQgKi9cbi8qIE9LICovXG4vKiBCdG4gY2xvc2UgKi9cbi8qIE9LICovXG4vKiBBcnJvdyBiYWNrICovXG4vKiBPSyAqL1xuLyogQXJyb3cgcmVpbml0ICovXG4vKiBPSyAqL1xuLyogSGVhZGVyICovXG4vKiBNZW51IHByaW5jaXBhbCBOMSBhY3RpZiAqL1xuLyogTWVudSBwcmluY2lwYWwgTjIgKi9cbi8qIExvdXBlICovXG4vKiBPSyAqL1xuLyogTWljcm8gKi9cbi8qIE9LICovXG4vKiBNb24gY29tcHRlICovXG4vKiBBY2PDqHMgYXUgZmF2b3JpcyAqL1xuLyogSmUgdm91ZHJhaXMgKi9cbi8qIEZvb3RlciAqL1xuLyogR28gdG8gdG9wICovXG4vKiBPSyAqL1xuLyogTmV3c2xldHRlciAqL1xuLyogQ29udGFjdCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogRm9vdGVyIHJlc2VhdXggc29jaWF1eCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBGaWwgZCdhcmlhbmUgKi9cbi8qIE9LICovXG4vKiBTaGFyZSAvIGJsb2Mgbm90ZSAvIG1haiAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBSZXNlYXV4ICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEFsZXJ0ZSAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBIT01FIFBBR0UgKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIFZpZMOpbyBwbGF5L3BhdXNlICovXG4vKiBKZSB2b3VkcmFpcyAqL1xuLyogVGl0bGUgKi9cbi8qIFRyaWFuZ2xlIGdyaXMgZW4gYmFja2dyb3VuZCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBDYXJ0ZSBpbnRlcmFjdGl2ZSAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBUWVBFICoqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBMaXN0ZSBhIHB1Y2VzICAqL1xuLyogT0sgKi9cbi8qIENpdGF0aW9uICAqL1xuLyogT0sgKi9cbi8qIEFjY29yZGVvbnMgKi9cbi8qIE9LICovXG4vKiBDb2xvbm5lIGNvbnRleHR1ZWxsZSAqL1xuLyogQmxvYyBnZW9sb2MgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogVGVsZWNoYXJnZW1lbnRzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBMSVNURSAqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbWFnZSBwYXIgZGVmYXV0ICovXG4vKiBPSyAqL1xuLyogQnRuIGFmZmljaGVyIGxhIGNhcnRlICovXG4vKiBPSyAqL1xuLyogQnRuIGFmZmljaGVyIGxhIGxpc3RlICovXG4vKiBPSyAqL1xuLyogRmlsdHJlcyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogTG9jYWxpc2F0aW9uICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgREUgUkVDSEVSQ0hFICoqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFnaW5hdGlvbiAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqIENBUlRFIElOVEVSQUNUSVZFICoqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZpbHRyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKiBEQVNIQk9BUkQgKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVHVpbGVzICovXG4vKiBPbGQgKi9cbi8qIEJ1dHRvbiAqL1xuLyogRm9udHMgKi9cbi8qIEN1c3RvbSBtaXhpbnMgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiogTUlYSU5TICoqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIEJ1dHRvbiAqL1xuLyogQm91dG9uIHNsaWNrICovXG4vKiBEZWdyYWRlICovXG4vKiBTaGFkb3cgKi9cbi8qIEJ0bl9hbGwgKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi45LjBcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU1BPTlNJVkUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqIExBUkdFIGRlIDE5MjAgYSAxMjAwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKiovXG4gIC53cmFwLCAuZ3JpZC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNnJlbSk7XG4gIH1cbiAgLnJldmVhbCAuZ3JpZC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuZ3JpZC1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAvKioqIEhFQURFUiAqKiovXG4gIC8qIFBPUElOIE1FTlUgUFJJTkNJUEFMICovXG4gICNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkge1xuICAgIG1heC13aWR0aDogMzMlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIGhlaWdodDogMC44cmVtO1xuICB9XG4gIC8qKiogRk9PVEVSICoqKi9cbiAgLyogQVBQTElTIEZPT1RFUiAtIE5FV1NMRVRURVIgLSBQV0EgKi9cbiAgI2Zvb3RlciAuYXBwbGlfZm9vdGVyLCAjZm9vdGVyIC5hcHBsaV9mb290ZXIucHdhIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVJHRSBkZSAxNDQ0IGEgMTIwMCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLyoqKiBCQU5ERUFVIElNRyAqKiovXG4gICNwYWdlIC5iYW5kZWF1X3BhZ2UgaW1nLCAjcGFnZSAuYmFuZGVhdV9wYWdlIC5kZWZhdWx0X2ltZywgI2JhbmRlYXVfcGFnZV9wb3BpbiBpbWcsICNiYW5kZWF1X3BhZ2VfcG9waW4gLmRlZmF1bHRfaW1nIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3dncgLSAyLjVyZW0pO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiogTEFSR0UgZGUgMTE5OSBhIDEwMjQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKiogTk9STUFMSVNBVElPTiAqKiovXG4gIC8qKiogRk9STVVMQUlSRVMgKioqL1xuICAvKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqL1xuICAvKioqIEJPVVRPTiBMSUVOICoqKi9cbiAgLyoqKiBCT1VUT04gQUxMICoqKi9cbiAgLyoqKiBCT1VUT04gQUREICoqKi9cbiAgLyoqKiBCT1VUT04gVFhUICoqKi9cbiAgLyoqKiBCT1VUT04gUkVUT1VSICoqKi9cbiAgLyoqKiBCT1VUT04gQlVUVE9OICoqKi9cbiAgLyoqKiBCT1VUT04gQ0xPU0UgKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKiovXG4gIC8qKiogSEVBREVSICoqKi9cbiAgLyoqKiBQT1BJTlMgKioqL1xuICAvKioqIFBPUElOIE1FTlUgUFJJTkNJUEFMICoqKi9cbiAgLyoqKiBCQU5ERUFVIElNQUdFICoqKi9cbiAgLyoqKiBGT09URVIgKioqL1xuICAvKioqIEZJTCBEJ0FSSUFORSAqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBIT01FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKiogQkxPQ1MgSE9NRSAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXG4gIC5ibG9jX2hvbWUgeyAvKnBhZGRpbmctYm90dG9tOjNyZW07IHBhZGRpbmctdG9wOjNyZW07IG1hcmdpbi10b3A6MDsqLyB9XG4gIC8qKiogVElUUkUgKioqL1xuICAuYmxvY19ob21lIC50aXRyZV9ibG9jIHsgLyptYXJnaW4tYm90dG9tOjIuNXJlbTsqLyB9XG4gIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUgeyAvKmZvbnQtc2l6ZTozZW07Ki8gfVxuICAvKioqIFNPVVMtVElUUkUgKioqL1xuICAuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUsIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHsgLypmb250LXNpemU6Mi41ZW07Ki8gfVxuICAvKioqIEJUTiBBTEwgKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIFRZUEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIEhFQUQgUEFHRSAqKiovXG4gIC8qKiogVElUUkUgUEFHRSAmIEFDQ1JPQ0hFIFBBR0UgKioqL1xuICAqOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAudGl0cmVfcGFnZSAqOmlzKGgxLCBwKSB7IC8qZm9udC1zaXplOjRlbTsqLyB9XG4gICo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7IC8qZm9udC1zaXplOjJlbTsqLyB9XG4gIC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cbiAgLyoqKiBTRVBBUkFUSU9OIENPTF9MRUZUIC8vIENPTF9SSUdIVCAqKiovXG4gICNjb2xfbGVmdF9pbm5lciB7IC8qcGFkZGluZy1yaWdodDo2LjJyZW07Ki8gfVxuICAvKioqIFBBUkFNIFRYVCAqKiovXG4gIC8qKiogVElUUkVTICoqKi9cbiAgLmNvbnRlbnRfcGFnZSBoMiB7IC8qZm9udC1zaXplOjIuOGVtOyovIH1cbiAgLyoqKiBTS0lOIExJU1QgKioqL1xuICAvKioqIFNLSU4gVEFCTEVBVVggKioqL1xuICAvKioqIEJMT0NLUVVPVEUgKioqL1xuICAuY29udGVudF9wYWdlIGJsb2NrcXVvdGUgeyAvKmZvbnQtc2l6ZToxLjhlbTsqLyB9XG4gIC8qKiogR1JJRCBFTEVNRU5UICoqKi9cbiAgI2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCB7IC8qbWFyZ2luLXRvcDozcmVtOyovIH1cbiAgLyoqKiBCTE9DIFZJREVPICoqKi9cbiAgLmJsb2NfdmlkZW8geyAvKm1hcmdpbi1ib3R0b206M3JlbTsqLyB9XG4gIC8qKiogQ09MT05ORSBDT05URVhUVUVMTEUgKioqL1xuICAvKioqIEJMT0NTIENPTCAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXG4gIC5ibG9jX2NvbCAudGl0cmVfYmxvYyB7IC8qcGFkZGluZzoxLjVyZW0gMnJlbSAwIDJyZW07Ki8gfVxuICAuYmxvY19jb2wgLnRpdHJlX2Jsb2MgLnRpdHJlIHsgLypmb250LXNpemU6Mi44ZW07Ki8gfVxuICAuYmxvY19jb2wgLmNvbnRlbnVfYmxvYyAuc3VidGl0bGUgeyAvKmZvbnQtc2l6ZToxLjhlbTsqLyB9XG4gIC5ibG9jX2NvbCAuY29udGVudV9ibG9jIHsgLypwYWRkaW5nOjAgMnJlbTsqLyB9XG4gIC8qKiogQkxPQ1MgQkFTIERFIFBBR0UgKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgTElTVEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFJFU1VMVEFUUyAqKiovXG4gICNmaXJzdF9kaXNwbGF5IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMzcmVtKTtcbiAgfVxuICAvKioqIElURU0gR0VORVJJUVVFICoqKi9cbiAgLyoqKiBJTUFHRSAqKiovXG4gIC8qKiogWk9ORSBURVhURSAqKiovXG4gIC8qKiogVElUUkUgKioqL1xuICAvKioqIERFU0NSSVBUSU9OICoqKi9cbiAgLyoqKiBEQVRFUyAqKiovXG4gIC8qKiogTElFVSAqKiovXG4gIC8qKiogQ0FURUdPUklFICoqKi9cbiAgLyoqKiBFTiBTQVZPSVIgUExVUyAqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9URVVSIERFIFJFQ0hFUkNIRSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9EVUxFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqIE1FRElVTSBkZSAxMDIzIGEgNjQwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKiogTk9STUFMSVNBVElPTiAqKiovXG4gIHAsIHVsLCBvbCwgbWFpbiBwLCBtYWluIHVsLCBtYWluIG9sIHsgLyptYXJnaW4tYm90dG9tOjJyZW07Ki8gfVxuICAvKioqIEZPUk1VTEFJUkVTICoqKi9cbiAgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICB9XG4gIC8qKiogQk9VVE9OUyBMSUVOUywgQk9VVE9OUywgQk9VVE9OUyBDTE9TRSAqKiovXG4gIC8qKiogQk9VVE9OIExJRU4gKioqL1xuICAvKioqIEJPVVRPTiBBTEwgKioqL1xuICAuYnRuX2FsbCwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLmJ0bl9hbGwgPiAqLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gKiB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbiAgLyoqKiBCT1VUT04gQUREICoqKi9cbiAgLyoqKiBCT1VUT04gVFhUICoqKi9cbiAgLyoqKiBCT1VUT04gUkVUT1VSICoqKi9cbiAgLyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXG4gIC8qKiogQkFMSVNFUyA8cD4gQ09NTUUgVU4gQlVUVE9OICoqKi9cbiAgLyoqKiBCT1VUT05TIERPQ1VNRU5UUyAqKiovXG4gIC5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG4gIC5idG5fa2lvc3F1ZSBhLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZSBhLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlIGEge1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICB9XG4gIC8qKiogQk9VVE9OUyBDTE9TRSAqKiovXG4gIC8qKiogQlROIENMT1NFICh2ZXJzaW9uIHBldGl0ZSBjcm9peCBcIlhcIiBzYW5zIGZvbmQpICoqKi9cbiAgLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAqKiovXG4gIC8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKGRhbnMgcG9waW4pICoqKi9cbiAgLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAoZGFucyBwb3BpbiBmdWxsc2NyZWVuKSAqKiovXG4gIC8qKiogQ0xPU0UgQlVUVE9OIEFEVkFOQ0VEIChcIkZFUk1FUiArIGNyb2l4XCIgb3UgXCJURVhURSArIGNyb2l4XCIpICoqKi9cbiAgLyogRGFucyBwb3BpbiAqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKiovXG4gICNtYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAjbWFpbi56aW5kZXgge1xuICAgIHotaW5kZXg6IDExICFpbXBvcnRhbnQ7XG4gIH1cbiAgLndyYXAsIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1cmVtKSAhaW1wb3J0YW50O1xuICB9XG4gIC5yZXZlYWwgLndyYXAsIC5yZXZlYWwgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyoqKiBIRUFERVIgKioqL1xuICAjaGVhZGVyIHtcbiAgICB0b3A6IGluaGVyaXQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMC4wMDAwMDFyZW07XG4gIH1cbiAgI2hvbWUgI2RhdGEtc3RpY2t5LWhlYWRlcjpub3QoLmlzLXN0dWNrKSwgI2RhdGEtc3RpY2t5LWhlYWRlciB7XG4gICAgaGVpZ2h0OiA3LjVyZW07XG4gICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNlMmUyZTI7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNlMmUyZTI7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gICNtZW51X3JpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC8qKiogU0VBUkNIIEJVVFRPTiAqKiovXG4gIC8qKiogTE9HTyAqKiovXG4gICNsb2dvIHN2ZyB7XG4gICAgbWF4LWhlaWdodDogNy41cmVtO1xuICB9XG4gIC8qKiogVE9PTFMgSEVBREVSIExJTksgKioqL1xuICAjdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaSA+ICoge1xuICAgIGhlaWdodDogMy4ycmVtO1xuICAgIHdpZHRoOiAzLjJyZW07XG4gIH1cbiAgI3Rvb2xzX2hlYWRlcl9saW5rLCAjdG9vbHNfaGVhZGVyX2xpbmsgPiAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLyoqKiBIRUFERVIgVE9PTFMgKioqL1xuICAjbGVmdG1lbnVfY29udCAjcmVzZWF1eF9zb2NpYXV4X3NpZGViYXIge1xuICAgIHBhZGRpbmc6IDFyZW0gM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICB9XG4gICNsZWZ0bWVudV9jb250IC5qZV9zdWlzX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMXJlbSAzcmVtIDNyZW0gM2VtO1xuICB9XG4gICNsZWZ0bWVudV9jb250ICNyZXNlYXV4X3NvY2lhdXhfc2lkZWJhciBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxLjhyZW07XG4gIH1cbiAgI2xlZnRtZW51X2NvbnQgI3Jlc2VhdXhfc29jaWF1eF9zaWRlYmFyIGxpIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMi4ycmVtO1xuICB9XG4gICNsZWZ0bWVudV9jb250ICNyZXNlYXV4X3NvY2lhdXhfc2lkZWJhciAucmVzZWF1X2ZhY2Vib29rIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3LjEyNScgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDcuMTI1IDEyJyUzRSUzQ3BhdGggZD0nTTgsMTJWNi43NWgyLjI1TDEwLjYzLDQuNUg4VjMuMzc1QTEsMSwwLDAsMSw5LjEzLDIuMjVoMS4xMjVWMEg4LjM4QzYuNSwwLDUuNzU1LDEuMTI1LDUuNzU1LDNWNC41SDMuNVY2Ljc1aDIuMjVWMTJaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMy41MDUpJyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgI2xlZnRtZW51X2NvbnQgI3Jlc2VhdXhfc29jaWF1eF9zaWRlYmFyIC5yZXNlYXVfdHdpdHRlciBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzI3MCcgdmlld0JveD0nMCAwIDMwMCAyNzEnJTNFJTNDcGF0aCBkPSdtMjM2IDBoNDZsLTEwMSAxMTUgMTE4IDE1NmgtOTIuNmwtNzIuNS05NC44LTgzIDk0LjhoLTQ2bDEwNy0xMjMtMTEzLTE0OGg5NC45bDY1LjUgODYuNnptLTE2LjEgMjQ0aDI1LjVsLTE2NS0yMThoLTI3LjR6JyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgI2xlZnRtZW51X2NvbnQgI3Jlc2VhdXhfc29jaWF1eF9zaWRlYmFyIC5yZXNlYXVfaW5zdGFncmFtIGEge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMDApIGludmVydCgxMDAlKTtcbiAgfVxuICAjbGVmdG1lbnVfY29udCAjcmVzZWF1eF9zb2NpYXV4X3NpZGViYXIgLnJlc2VhdV95b3V0dWJlIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNCcgaGVpZ2h0PScxMC41JyB2aWV3Qm94PScwIDAgMTQgMTAuNSclM0UlM0NwYXRoIGQ9J00xMy44NTYsMi4yNjZBMy4zNjQsMy4zNjQsMCwwLDAsMTMuMy43ODNhMS45MTYsMS45MTYsMCwwLDAtMS40LS42M0M5Ljk0LDAsNywwLDcsMEg3UzQuMDU2LDAsMi4xLjE1M0ExLjkxNiwxLjkxNiwwLDAsMCwuNy43ODMsMy4zNjQsMy4zNjQsMCwwLDAsLjE0LDIuMjY2LDI0LjAzMywyNC4wMzMsMCwwLDAsMCw0LjY4MVY1LjgxNEEyNC4wMzIsMjQuMDMyLDAsMCwwLC4xNCw4LjIyOSwzLjM2NCwzLjM2NCwwLDAsMCwuNyw5LjcxM2EyLjI4OCwyLjI4OCwwLDAsMCwxLjU0NC42MzlDMy4zNiwxMC40NjUsNywxMC41LDcsMTAuNXMyLjk0NCwwLDQuOS0uMTUzYTEuOTQzLDEuOTQzLDAsMCwwLDEuNC0uNjM0LDMuMzY0LDMuMzY0LDAsMCwwLC41NTYtMS40ODNBMjQuMDMyLDI0LjAzMiwwLDAsMCwxNCw1LjgxNFY0LjY4MWEyNC4wMzMsMjQuMDMzLDAsMCwwLS4xNDQtMi40MTVaTTUuMjUsNy44NzVWMi42MjVMOS42MjUsNS4yNVonIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gYXV0bztcbiAgfVxuICAjbGVmdG1lbnVfY29udCAjcmVzZWF1eF9zb2NpYXV4X3NpZGViYXIgLnJlc2VhdV95b3V0dWJlIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIuNXJlbSBhdXRvO1xuICB9XG4gICNsZWZ0bWVudV9jb250ICNyZXNlYXV4X3NvY2lhdXhfc2lkZWJhciAucmVzZWF1X3ZpbWVvIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMC41MDMnIHZpZXdCb3g9JzAgMCAxMiAxMC41MDMnJTNFJTNDcGF0aCBkPSdNMTEuOTQ5LDMuOTQ3YTEuNzcyLDEuNzcyLDAsMCwwLS4yMjItMS40MzFBMi4xNjYsMi4xNjYsMCwwLDAsOS43NCwyLjAzOCw0LjE4NSw0LjE4NSwwLDAsMCw2LjksNC43NThjMS4wNDctLjA4MSwxLjYuMDc3LDEuNSwxLjI0N2E0LjM1NSw0LjM1NSwwLDAsMS0uNTU4LDEuNTQxYy0uMzE0LjU5My0uOSwxLjc1Ny0xLjY3Ni45MTgtLjctLjc1NS0uNjQ0LTIuMi0uOC0zLjE2MUExMy4zNjEsMTMuMzYxLDAsMCwwLDUsMy41MzRhMS44LDEuOCwwLDAsMC0uOTE1LTEuMTc4LDEuODQ5LDEuODQ5LDAsMCwwLTEuMzQuMjcyQTI0LjM0NSwyNC4zNDUsMCwwLDAsMCw0Ljg3MVY0Ljk0Yy4xOC4xNzQuMjI3LjQ1OS40OTIuNS42MjIuMDkzLDEuMjE1LS41ODgsMS42My4xMmE3LjQ1OCw3LjQ1OCwwLDAsMSwuNDkxLDEuMzc2Yy4yMTUuNjIyLjM4MiwxLjMuNTU4LDIuMDE2LjMsMS4yMTIuNjY0LDMuMDIzLDEuNywzLjQ2N0EyLjIsMi4yLDAsMCwwLDYuNTg2LDEyLjEsOS42NTYsOS42NTYsMCwwLDAsOS4yNDIsOS41MzksMTcuNDkzLDE3LjQ5MywwLDAsMCwxMS45NDksMy45NDdaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC0xLjk5MyknIGZpbGw9JyUyMzAwMDAwMCcgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG4gICNsZWZ0bWVudV9jb250ICNyZXNlYXV4X3NvY2lhdXhfc2lkZWJhciAucmVzZWF1X2xpbmtlZGluIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BhdGggZD0nTTExLjExMiwwSC44ODZBLjg3Ny44NzcsMCwwLDAsMCwuODY1djEwLjI3QS44NzcuODc3LDAsMCwwLC44ODYsMTJIMTEuMTEyQS44NzguODc4LDAsMCwwLDEyLDExLjEzNFYuODY1QS44NzguODc4LDAsMCwwLDExLjExMiwwWk0zLjU1OCwxMC4yMjVIMS43NzhWNC41aDEuNzhaTTIuNjY3LDMuNzE2QTEuMDMzLDEuMDMzLDAsMSwxLDMuNywyLjY4NCwxLjAzMywxLjAzMywwLDAsMSwyLjY2NywzLjcxNlptNy41NTgsNi41MDhIOC40NDZWNy40NDFjMC0uNjY3LS4wMTMtMS41Mi0uOTI1LTEuNTJzLTEuMDY2LjcyNS0xLjA2NiwxLjQ3MXYyLjgzM0g0LjY3NVY0LjVINi4zODN2Ljc4M2guMDIzYTEuODc1LDEuODc1LDAsMCwxLDEuNjg1LS45MjVjMS44LDAsMi4xMzMsMS4xODUsMi4xMzMsMi43MjhaJyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgLyoqKiBSRVNFQVVYICoqKi9cbiAgLyoqKiBQT1BJTlMgKioqL1xuICAvKioqIFNUWUxFIEdFTkVSSVFVRSAqKiovXG4gIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgdG9wOiAycmVtO1xuICAgIHJpZ2h0OiAycmVtO1xuICB9XG4gIC5yZXZlYWwsIC5yZXZlYWwuc2lkZWJhciwgLnNlYXJjaF9hcmVhX2NvbnQuaXNfc2VhcmNoLCAucmV2ZWFsLmZ1bGwge1xuICAgIHBhZGRpbmc6IDhyZW0gM3JlbSAzcmVtIDNyZW07XG4gIH1cbiAgLyogdGl0cmUgKi9cbiAgLnJldmVhbCAudGl0cmVfcG9waW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbiAgLyogZm9ybSAqL1xuICAvKioqIFBPUElOIFNJREVCQVIgKyBzZW5zYXRpb24gcG9waW4gcmVjaGVyY2hlICoqKi9cbiAgLyoqKiBPVkVSTEFZICoqKi9cbiAgLyoqKiBQT1BJTiBGVUxMICsgcG9waW4gcmVjaGVyY2hlICoqKi9cbiAgLyoqKiBNRU5VIFBSSU5DSVBBTCAqKiovXG4gIC8qKiogU1RSVUNUVVJFIENBTlZBUyAqKiovXG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgeyAvKnRyYW5zZm9ybTp0cmFuc2xhdGVYKC00MHJlbSk7IHdpZHRoOjQwcmVtOyovXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA3LjVyZW0pO1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC8qKiogTUVOVSBPVkVSTEFQIFRSQU5TSVRJT04gKioqL1xuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuLFxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaC5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB6LWluZGV4OiAxMDA0O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAvKioqIE9WRVJMQVkgKioqL1xuICAuanMtb2ZmLWNhbnZhcy1leGl0LCAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHsgLypiYWNrZ3JvdW5kOnRyYW5zcGFyZW50aXplKGRhcmtlbih2YXIoLS1jaW1fcHJpbWFyeV9jb2xvciksIDEwJSksIDAuMik7Ki9cbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXJlbSk7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAwMztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDcuNXJlbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgfVxuICAvKioqIE1FTlUgKioqL1xuICAjbGVmdG1lbnVfY29udCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB9XG4gICNzbWFydF9tZW51IHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLyoqKiBHRU5FUklRVUUgKHBvdXIgdG91cyBsZXMgbml2ZWF1eCBkdSBtZW51KSAqKiovXG4gICNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIHVsLm92ZXJmbG93IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIH1cbiAgI29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bCBsaSArIGxpIHtcbiAgICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgI2UyZTJlMjtcbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIGxpIGEge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZzogMS41cmVtIDMuNXJlbSAxLjVyZW0gMDtcbiAgICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIH1cbiAgLyoqKiBMRVZFTCAxICoqKi9cbiAgI29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7IC8qYmFja2dyb3VuZDokZGVmYXVsdF9jb2xvcjsqL1xuICB9XG4gICNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gPiB1bCA+IGxpIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgLyoqKiBMRVZFTCAyICoqKi9cbiAgI29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bC5zb3VzX21lbnUge1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZy10b3A6IDhyZW07IC8qYmFja2dyb3VuZDpkYXJrZW4oJGRlZmF1bHRfY29sb3IsIDUlKTsqL1xuICB9XG4gICNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gPiB1bCBsaS5sZXZlbDIge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG4gIC8qKiogTEVWRUwgMyAqKiovXG4gICNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwuc20ge1xuICAgIHotaW5kZXg6IDM7XG4gICAgcGFkZGluZy10b3A6IDhyZW07IC8qYmFja2dyb3VuZDpkYXJrZW4oJGRlZmF1bHRfY29sb3IsIDEwJSk7Ki9cbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duID4gdWwgbGkubGV2ZWwzIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxuICAvKioqIEFGRklDSEFHRSBEVSBOT00gREUgTEEgUlVCUklRVUUgUEFSRU5UICoqKi9cbiAgI29mZkNhbnZhc0xlZnQgLm1lbnUudmVydGljYWwgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzEwJyB2aWV3Qm94PScwIDAgOCAxMCclM0UlM0NwYXRoIGQ9J001LDBsNSw4SDBaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSg4KSByb3RhdGUoOTApJyBmaWxsPSclMjMwMDYxQUUnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgI29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biA+IHVsIGxpLmlzLXN1Ym1lbnUtcGFyZW50LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duID4gdWwgbGkuaXMtc3VibWVudS1wYXJlbnQtaXRlbSBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC8qKiogQlROIFwiUkVUT1VSXCIgKioqL1xuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIHVsIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gIH1cbiAgI29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bCAuanMtZHJpbGxkb3duLWJhY2sgPiBhIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIHVsIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9hdXRvIDFyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nMTAnIHZpZXdCb3g9JzAgMCA4IDEwJyUzRSUzQ3BhdGggZD0nTTAsNSw4LDBWMTBaJyBmaWxsPSclMjMwMDYxQUUnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgLyoqKiBIRUFERVIgKioqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoICNob21lICNoZWFkZXIgI2RhdGEtc3RpY2t5LWhlYWRlcjpub3QoLmlzLXN0dWNrKSwgI2hlYWRlciAjZGF0YS1zdGlja3ktaGVhZGVyLFxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwICNob21lICNoZWFkZXIgI2RhdGEtc3RpY2t5LWhlYWRlcjpub3QoLmlzLXN0dWNrKSwgI2hlYWRlciAjZGF0YS1zdGlja3ktaGVhZGVyIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyogQmFuZGVhdSAqL1xuICAvKi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtY2xvc2UuaGFzLXRyYW5zaXRpb24tcHVzaCAuYmFuZGVhdV9wYWdlLCovXG4gIC8qLm9mZi1jYW52YXMtY29udGVudC5pcy1jbG9zZS5oYXMtdHJhbnNpdGlvbi1vdmVybGFwIC5iYW5kZWF1X3BhZ2Uge3RyYW5zZm9ybTpub25lO30qL1xuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIC5iYW5kZWF1X3BhZ2UsXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAgLmJhbmRlYXVfcGFnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC8qKiogQkFOREVBVSBJTUFHRSAqKiovXG4gICNob21lIC5iYW5kZWF1X3BhZ2Uge1xuICAgIGhlaWdodDogMjVyZW07IC8qbWluLWhlaWdodDppbmhlcml0OyovXG4gIH1cbiAgI2hvbWUgLmJhbmRlYXVfcGFnZSAuaW1nIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTA1JTtcbiAgICBtYXgtd2lkdGg6IDIwMCU7XG4gIH1cbiAgLyoqKiBHTyBUTyBORVhUICoqKi9cbiAgLyoqKiBGT09URVIgKioqL1xuICAjZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgfVxuICAjaW5mb19mb290ZXIge1xuICAgIHBhZGRpbmc6IDMuNXJlbSAwIDNyZW0gMDtcbiAgfVxuICAjZm9vdGVyIC5hcHBsaV9mb290ZXIgLmJ0bl9saWVuIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcbiAgfVxuICAjaW5mb19mb290ZXIgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgI2luZm9fZm9vdGVyIC54bGFyZ2Utb2Zmc2V0LTEgLmdyaWQteCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjYmFja190b190b3AgcCBhIHtcbiAgICBtYXgtd2lkdGg6IDcuNHJlbTtcbiAgICBtYXgtaGVpZ2h0OiA3LjRyZW07XG4gICAgd2lkdGg6IDEwdnc7XG4gICAgaGVpZ2h0OiAxMHZ3O1xuICAgIG1pbi13aWR0aDogNXJlbTtcbiAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICB9XG4gICNtZW51X2Zvb3RlciB1bCB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICB9XG4gICNtZW51X2Zvb3RlciB1bCBsaSB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNXJlbSAwLjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICB9XG4gICNtZW51X2Zvb3RlciB1bCBsaSBhIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgfVxuICAjbWVudV9mb290ZXIgdWwgbGk6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC4xcmVtO1xuICB9XG4gICNtZW51X2Zvb3RlciB1bCBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8qKiogRklMIEQnQVJJQU5FICoqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhPTUUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI2hvbWUgI2ltZ19iZHAge1xuICAgIHJpZ2h0OiAtMzByZW07XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgI2ltZ19iZHAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmNvbnRlbnRfZnJvbV9wYWdlIC5jb250ZW50X3BhZ2U6OmJlZm9yZSwgLmNvbnRlbnRfZnJvbV9wYWdlIC5jb250ZW50X3BhZ2UgfiAuYmxvY19ob21lOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodCAxMXJlbTtcbiAgfVxuICAvKioqIFRBR1MgKioqL1xuICAvKioqIEJMT0NTIEhPTUUgLSBUUkFNRSBHRU5FUklRVUUgKioqL1xuICAuYmxvY19ob21lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgfVxuICAuYmxvY19ob21lIC5idG5fYWxsIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG4gIC8qKiogVElUUkUgKioqL1xuICAuYmxvY19ob21lIC50aXRyZV9ibG9jIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiA0LjVlbTtcbiAgfVxuICAvKioqIFNPVVMtVElUUkUgKioqL1xuICAuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUsIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbiAgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxuICAvKioqIEJUTiBBTEwgKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIFRZUEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAuY29udGVudF9mcm9tX3BhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgI3BhZ2UgLmJhbmRlYXVfcGFnZSAuY29weXJpZ2h0LCAjYmFuZGVhdV9wYWdlX3BvcGluIC5jb3B5cmlnaHQge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICByaWdodDogLTIuNXJlbTtcbiAgfVxuICAvKioqIExhcmdldXIgZGUgbCdpbWFnZSBEQU5TIGxlIHdyYXAgKioqL1xuICAjcGFnZSAuYmFuZGVhdV9wYWdlIHtcbiAgICAvKioqIExhcmdldXIgZGUgbCdpbWFnZSBIT1JTIGR1IHdyYXAgKioqL1xuICAgIC8qKiogTGFyZ2V1ciBkZSBsJ2ltZyAqKiovXG4gIH1cbiAgI3BhZ2UgLmJhbmRlYXVfcGFnZSBpbWcsICNwYWdlIC5iYW5kZWF1X3BhZ2UgLmRlZmF1bHRfaW1nIHtcbiAgICB3aWR0aDogY2FsYyhjYWxjKCgxMDB2dyAtIDVyZW0pICogMTEgLyAxMikgKyAyLjVyZW0pO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNy41cmVtKTtcbiAgfVxuICAjYmFuZGVhdV9wYWdlX3BvcGluIHtcbiAgICAvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xuICB9XG4gICNiYW5kZWF1X3BhZ2VfcG9waW4gaW1nLCAjYmFuZGVhdV9wYWdlX3BvcGluIC5kZWZhdWx0X2ltZyB7XG4gICAgd2lkdGg6IGNhbGMoY2FsYygoMTAwdncgLSA1cmVtKSAqIDExIC8gMTIpICsgMS41cmVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDcuNXJlbSk7XG4gIH1cbiAgLyoqKiBIRUFEIFBBR0UgKioqL1xuICAvKioqIFRJVFJFIFBBR0UgJiBBQ0NST0NIRSBQQUdFICoqKi9cbiAgKjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnRpdHJlX3BhZ2UgKjppcyhoMSwgcCkge1xuICAgIGZvbnQtc2l6ZTogMy41ZW07XG4gIH1cbiAgKjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnF1b3RlICo6aXMoaDIsIHApIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuICAuY29udGVudF9xdW90ZSB7XG4gICAgcGFkZGluZzogNHJlbSA1cmVtO1xuICB9XG4gIC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cbiAgLyoqKiBQQVJBTSBUWFQgKioqL1xuICAvKioqIFRJVFJFUyAqKiovXG4gIC8qKiogU0tJTiBMSVNUICoqKi9cbiAgLyoqKiBTS0lOIFRBQkxFQVVYICoqKi9cbiAgLmNvbnRlbnRfcGFnZSB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDIuMmVtO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgdGgge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgfVxuICAvKioqIEJMT0NLUVVPVEUgKioqL1xuICAuY29udGVudF9wYWdlIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG4gIC8qKiogQkxPQyBDSVRBVElPTiAqKiovXG4gIC8qKiogU1RZTEUgUlRFICoqKi9cbiAgLmNlLXRleHRwaWMgLmNlLWdhbGxlcnkge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljLWltYWdlLCAuY29udGVudF9wYWdlIGZpZ3VyZS5pbWFnZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8qKiogR1JJRCBFTEVNRU5UICoqKi9cbiAgI2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCB7IC8qbWFyZ2luLXRvcDozcmVtOyovIH1cbiAgLyoqKiBCTE9DIFZJREVPICoqKi9cbiAgLmJsb2NfdmlkZW8geyAvKm1hcmdpbi1ib3R0b206M3JlbTsqLyB9XG4gIC8qKiogQ09MT05ORSBDT05URVhUVUVMTEUgKioqL1xuICAuY29sX3JpZ2h0IHtcbiAgICBvcmRlcjogLTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICAvKioqIEJMT0NTIENPTCAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXG4gIC8qLmJsb2NfY29sIC50aXRyZV9ibG9jIHtwYWRkaW5nOjEuNXJlbSAycmVtIDAgMnJlbTt9Ki9cbiAgLmJsb2NfY29sIC50aXRyZV9ibG9jIC50aXRyZSB7XG4gICAgZm9udC1zaXplOiAyLjZlbTtcbiAgfVxuICAvKi5ibG9jX2NvbCAuY29udGVudV9ibG9jIC5zdWJ0aXRsZSB7Zm9udC1zaXplOjEuOGVtO31cbiAgLmJsb2NfY29sIC5jb250ZW51X2Jsb2Mge3BhZGRpbmc6MCAycmVtO30qL1xuICAvKioqIEJMT0NTIEJBUyBERSBQQUdFICoqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIExJU1RFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI3BhZ2UubGlzdCAuaGVhZF9wYWdlLCAjcGFnZS5kYXNoYm9hcmQgLmhlYWRfcGFnZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAjcGFnZS5saXN0IC5oZWFkX3BhZ2UgLmNvbnRhaW5faW5mb3M6OmJlZm9yZSwgI3BhZ2UuZGFzaGJvYXJkIC5oZWFkX3BhZ2UgLmNvbnRhaW5faW5mb3M6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDgxdnc7XG4gIH1cbiAgLyoqKiBSRVNVTFRBVFMgKioqL1xuICAjem9uZV9yZXN1bHRzIHsgLypwYWRkaW5nLWJvdHRvbTo0cmVtOyovIH1cbiAgI2xpc3RfaXRlbXMgeyAvKnBhZGRpbmctdG9wOmNhbGMoIDYuMXJlbSArIDEuNXJlbSk7Ki9cbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgLyoqKiBJVEVNIEdFTkVSSVFVRSAqKiovXG4gIC8qIC8vLy8vIEFUVEVOVElPTiBcXFxcXFxcXFxcIG9uIGludmVyc2UgbGVzIHBvc2l0aW9ucyByZWxhdGl2ZSBldCBhYnNvbHVlIGRlcyBpdGVtcyBwb3VyIHF1ZSBsZSB0ZXh0ZSBzb2l0IGRhbnMgbGUgZmx1eCAocmVsYXRpdmUpIGV0IHF1ZSBsJ2ltYWdlIHNvaXQgbGltaXRlZSAoYWJzb2x1dGUpKi9cbiAgLmxpc3RfaXRlbSB7IC8qbWFyZ2luLWJvdHRvbTozcmVtOyovIH1cbiAgLyoqKiBJTUFHRSAqKiovXG4gIC8qIC8vLy8vIEFUVEVOVElPTiBcXFxcXFxcXFxcIGVsbGVzIHBhc3NlbnQgZW4gYWJzb2x1ZSBvbiBsaW1pdGUgbGV1cnMgZGltZW5zaW9ucyBldCBvbiBnZXJlIGxlcyBwcm9wb3J0aW9ucyA6IGxlIHdpZHRoIHNlcmEgYSAxMDAlIChvbiBtZXQgMTA1JSBwYXIgc2VjdXJpdGUpIG1haXMgbGEgaGF1dGV1ciBwZXV0IGJjcCBldm9sdWVyIG9uIG1ldCAyMDAlLCAyNTAlIGVuIHBvcnRyYWl0Ki9cbiAgLyoqKiBaT05FIFRFWFRFICoqKi9cbiAgLyogcG91ciBpdGVtIGNsYXNzaXF1ZSBzYW5zIGltZyA+IGV4LiBBU1NPQ0lBVElPTiAqL1xuICAubGlzdF9pdGVtIC50eHQgeyAvKnBhZGRpbmc6MS41cmVtIDEuNXJlbTsgbWluLWhlaWdodDppbml0aWFsOyBoZWlnaHQ6MTAwJTsqLyB9XG4gIC8qIHBvdXIgYmFuZGVhdSBpdGVtIGF2ZWMgaW1nID4gZXguIEFHRU5EQSAqL1xuICAubGlzdF9pdGVtLmJhbmRlYXVfaXRlbSAudHh0IHsgLypwYWRkaW5nOjEuNXJlbSAxLjVyZW07IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OmluaXRpYWw7IG1heC1oZWlnaHQ6aW5pdGlhbDsgcG9zaXRpb246cmVsYXRpdmU7IGJvdHRvbTppbml0aWFsOyBsZWZ0OmluaXRpYWw7Ki8gfVxuICAvKiBwb3VyIGJhbmRlYXUgaXRlbSBhdmVjIGltZyBmb3JtYXQgcG9ydHJhaXQgPiBleC4gRUxVUyAqL1xuICAubGlzdF9pdGVtLmJhbmRlYXVfcG9ydHJhaXQgLnR4dCB7IC8qbWluLWhlaWdodDppbml0aWFsOyovIH1cbiAgLyoqKiBEQVRFUyAqKiovXG4gIC8qKiogR0VORVJJUVVFICoqKi9cbiAgLmRhdGUgLmNvbnRhaW4ge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbiAgLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfZGF5X25iIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxuICAuZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9tb250aCB7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAvKioqIFRJVFJFICoqKi9cbiAgLmxpc3RfaXRlbSAudGl0cmUsIC5jb250ZW50X3BhZ2UgLmxpc3RfaXRlbSAudGl0cmUge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG4gIC8qKiogREVTQ1JJUFRJT04gKioqL1xuICAvKiBHZXN0aW9uIGRlcyBlbGVtZW50cyBhZmZpY2hlcyBhdSBzdXJ2b2wgZGVzIGl0ZW0gKi9cbiAgLmxpc3RfaXRlbSAuc2hvd29uaG92ZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLyoqKiBMSUVVICoqKi9cbiAgLyoqKiBDQVRFR09SSUUgKioqL1xuICAuY2F0LCAubGlzdF9pdGVtIC5jYXQge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgfVxuICAvKioqIEVOIFNBVk9JUiBQTFVTICoqKi9cbiAgLyoubGlzdF9pdGVtIC5idG5fdHh0IHtwYWRkaW5nLXRvcDoyLjNyZW07IHJpZ2h0OmluaGVyaXQ7IGxlZnQ6LTNyZW07IHdpZHRoOmNhbGMoMTAwJSArIDZyZW0pO31cbiAgLmxpc3RfaXRlbSAuYnRuX3R4dCBzcGFuIHtwYWRkaW5nOjAgMy41cmVtIDAgMDt9Ki9cbiAgLyoqKiBJVEVNUyBTVUJQQUdFUyAvLyBQQUdFIENBUlJFRk9VUiAqKiovXG4gIC8qLmxpc3RfaXRlbS5zdWJwYWdlLmJhbmRlYXVfaXRlbSA+IC5saW5rLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0uc3VicGFnZS5iYW5kZWF1X2l0ZW0gPiAubGluayB7cGFkZGluZy1ib3R0b206MDsgcGFkZGluZy10b3A6MTVyZW07IGhlaWdodDoxMDAlO31cbiAgLmxpc3RfaXRlbS5iYW5kZWF1X2l0ZW0uc3VicGFnZSAuaW1nLCAuY29udGVudF9wYWdlIC5jb250ZW50IC5saXN0X2l0ZW0uc3VicGFnZSAuaW1nIHtoZWlnaHQ6MjJyZW07fSovXG4gIC8qKiogSVRFTVMgUkVDSEVSQ0hFIEdFTkVSQUxFICoqKi9cbiAgLmxpc3RfaXRlbS5zZWFyY2ggLnR4dCB7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgfVxuICAubGlzdF9pdGVtLnNlYXJjaCAudHlwZSB7IC8qZm9udC1zaXplOjEuMWVtOyBsaW5lLWhlaWdodDoxLjFlbTsgbWFyZ2luLWJvdHRvbToxLjVyZW07Ki8gfVxuICAubGlzdF9pdGVtLnNlYXJjaCAudHlwZTo6YWZ0ZXIgeyAvKmxlZnQ6MDsgdG9wOjUwJTsgd2lkdGg6MTAwJTsgaGVpZ2h0OjAuMXJlbTsqLyB9XG4gIC50eXBlIHNwYW4geyAvKnBhZGRpbmc6MC4zcmVtIDAuNXJlbTsqLyB9XG4gIC8qIHNraW4gKyB2aXNpYmxlIGF1IHN1cnZvbCBhdmVjIGJvcmRlciAqL1xuICAubGlzdF9pdGVtLnNlYXJjaCAudHh0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5saXN0X2l0ZW0uc2VhcmNoOmhvdmVyIC50eHQsXG4gIC5saXN0X2l0ZW0uc2VhcmNoID4gLmxpbms6aG92ZXIgLnR4dCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICNwb3Bpbl9kZXRhaWwge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMTByZW0gMS41cmVtO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgI3BvcGluX2RldGFpbCAuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAvKioqIE5BVklHQVRJT04gKioqL1xuICAucG9waW5fZGV0YWlsLnJldmVhbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnBvcGluX2RldGFpbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNy41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNiMWIxYjE7XG4gICAgei1pbmRleDogMztcbiAgfVxuICAjcG9waW5fZGV0YWlsID4gLndyYXBfcG9waW4gPiAuY2xvc2UtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxLjI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzc5NzY3NjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDNyZW0gYXV0bztcbiAgICB6LWluZGV4OiA2O1xuICB9XG4gIC8qKiogQVJST1dTIE5BViBQT1BJTiAqKiovXG4gIC53cmFwX2Fycm93IHtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxLjI1cmVtO1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgfVxuICAud3JhcF9hcnJvdy5wcmV2IHtcbiAgICBsZWZ0OiBjYWxjKDUwdncgLSA5cmVtKSAhaW1wb3J0YW50O1xuICB9XG4gIC53cmFwX2Fycm93Lm5leHQge1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLSA5cmVtKSAhaW1wb3J0YW50O1xuICB9XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9URVVSIERFIFJFQ0hFUkNIRSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKiogUEFHSU5BVElPTiAqKiovXG4gIC5uYl9wYWdlc190b3RhbF9pbmZvcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICB9XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIE1PRFVMRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQkFOREVBVSBJRTExICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICNwb3Bpbl9uYXZpZ2F0ZXVycyAud3JhcCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgfVxuICAjcG9waW5fbmF2aWdhdGV1cnMgYSwgI3BvcGluX25hdmlnYXRldXJzIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC4ycmVtIDA7XG4gIH1cbiAgI3BvcGluX25hdmlnYXRldXJzIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNNQUxMIGRlIDYzOSBhIDMyMCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKiogTk9STUFMSVNBVElPTiAqKiovXG4gIHAsIHVsIGxpLCBvbCBsaSwgbWFpbiBwLCBtYWluIHVsIGxpLCBtYWluIG9sIGxpIHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgcCwgdWwsIG9sLCBtYWluIHAsIG1haW4gdWwsIG1haW4gb2wgeyAvKm1hcmdpbi1ib3R0b206MnJlbTsqLyB9XG4gIC8qKiogRk9STVVMQUlSRVMgKioqL1xuICBsZWdlbmQsIC5saWtlX2xlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAyLjJlbTtcbiAgfVxuICAubGlnbmVfZm9ybS5jaGVja2JveCBsYWJlbCwgLmxpZ25lX2Zvcm0ucmFkaW8gbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgLmNoZWNrYm94IGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5yYWRpbyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgfVxuICAvKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqL1xuICAvKioqIEJPVVRPTiBMSUVOICoqKi9cbiAgLmJ0bl9saWVuLCAuY29udGVudF9wYWdlIC5idG5fbGllbiB7XG4gICAgLyoqKiArUGljdG8gcmlnaHQgKioqL1xuICB9XG4gIC5idG5fbGllbiA+ICosIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuID4gKiB7XG4gICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgfVxuICAuYnRuX2xpZW4ucGljdG9fcmlnaHQsIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuLnBpY3RvX3JpZ2h0IHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuICAuYnRuX2xpZW4ucGljdG9fcmlnaHQgPiAqLCAuY29udGVudF9wYWdlIC5idG5fbGllbi5waWN0b19yaWdodCA+ICoge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4ycmVtIGNlbnRlcjtcbiAgfVxuICAvKioqIEJPVVRPTiBBTEwgKioqL1xuICAuYnRuX2FsbCwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCxcbiAgLmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLmJ0bl9hbGwgPiAqLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gKixcbiAgLmJ0bl9iYWNrID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2JhY2sgPiAqIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG4gIC5idG5fYWxsID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gKiBzcGFuLFxuICAuYnRuX2JhY2sgPiAqIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrID4gKiBzcGFuIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLyoqKiBCT1VUT04gQUREICoqKi9cbiAgLyoqKiBCT1VUT04gVFhUICoqKi9cbiAgLyoqKiBCT1VUT04gUkVUT1VSICoqKi9cbiAgLyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXG4gIC8qKiogQkFMSVNFUyA8cD4gQ09NTUUgVU4gQlVUVE9OICoqKi9cbiAgLyoqKiBCT1VUT05TIERPQ1VNRU5UUyAqKiovXG4gIC5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG4gIC8qKiogQk9VVE9OUyBDTE9TRSAqKiovXG4gIC8qKiogQlROIENMT1NFICh2ZXJzaW9uIHBldGl0ZSBjcm9peCBcIlhcIiBzYW5zIGZvbmQpICoqKi9cbiAgLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAqKiovXG4gIC8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKGRhbnMgcG9waW4pICoqKi9cbiAgLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAoZGFucyBwb3BpbiBmdWxsc2NyZWVuKSAqKiovXG4gIC8qKiogQ0xPU0UgQlVUVE9OIEFEVkFOQ0VEIChcIkZFUk1FUiArIGNyb2l4XCIgb3UgXCJURVhURSArIGNyb2l4XCIpICoqKi9cbiAgLyogRGFucyBwb3BpbiAqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKiovXG4gIC53cmFwLCAuZ3JpZC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSkgIWltcG9ydGFudDtcbiAgfVxuICAvKioqIEhFQURFUiAqKiovXG4gICNob21lICNkYXRhLXN0aWNreS1oZWFkZXI6bm90KC5pcy1zdHVjayksICNkYXRhLXN0aWNreS1oZWFkZXIge1xuICAgIGhlaWdodDogNS41cmVtO1xuICB9XG4gIC8qKiogQlVSR0VSIEJVVFRPTiAqKiovXG4gIC5oYW1idXJnZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiAyLjdyZW07XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gIH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC43cmVtO1xuICB9XG4gIC5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwLjdyZW07XG4gIH1cbiAgLyogZXRhdCBhY3RpZiAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmcgLm1lbnVfdGl0bGUge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfcmVndWxhclwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGJvdHRvbTogMC41cmVtO1xuICB9XG4gIC8qIEJ1cmdlciBvcGVuIG1lbnUgc21hcnQgKi9cbiAgI2J0bl9vcGVuX21lbnVfc21hcnQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIsICNidG5fb3Blbl9tZW51X3NtYXJ0LmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgI2J0bl9vcGVuX21lbnVfc21hcnQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDIuN3JlbTtcbiAgfVxuICAvKioqIFNFQVJDSCBCVVRUT04gKioqL1xuICAvKioqIEFDQ0VTU0lCSUxJVEUgKioqL1xuICAjYWNjZXNzaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKioqIExPR08gKioqL1xuICAjbG9nbyBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgI2xvZ28gc3ZnLCAjbG9nbyBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogN3JlbTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjhyZW0pO1xuICB9XG4gIC8qKiogVE9PTFMgSEVBREVSIExJTksgKioqL1xuICAjdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbiAgI3Rvb2xzX2hlYWRlcl9saW5rIC50b29sc19oZWFkZXIgbGkgPiAqIHtcbiAgICBoZWlnaHQ6IDIuOHJlbTtcbiAgICB3aWR0aDogMi44cmVtO1xuICB9XG4gIC8qKiogUE9QSU5TICoqKi9cbiAgLyoqKiBTVFlMRSBHRU5FUklRVUUgKioqL1xuICAucmV2ZWFsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAvKiB0aXRyZSAqL1xuICAucmV2ZWFsIC50aXRyZV9ibG9jLCAudGl0cmVfcG9waW4gLnRpdHJlX2Jsb2Mge1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gIH1cbiAgLyoqKiBQT1BJTiBGVUxMICoqKi9cbiAgLyoqKiBUSVRSRSAqKiovXG4gIC8qKiogQ09OVEVOVSAqKiovXG4gIC8qKiogTUVOVSBQUklOQ0lQQUwgKioqL1xuICAvKioqIFNUUlVDVFVSRSBDQU5WQVMgKioqL1xuICAvKioqIE1FTlUgT1ZFUkxBUCBUUkFOU0lUSU9OICoqKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLyoqKiBCVE4gQ0xPU0UgTUVOVSBTTUFSVCAqKiovXG4gICNidG5fY2xvc2VfbWVudV9zbWFydCB7XG4gICAgbGVmdDogLTEwMHZ3O1xuICB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gI2J0bl9jbG9zZV9tZW51X3NtYXJ0LFxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaC5pcy1vcGVuICNidG5fY2xvc2VfbWVudV9zbWFydCB7XG4gICAgbGVmdDogMTAwdnc7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgfVxuICAvKioqIE1FTlUgKioqL1xuICAvKioqIEdFTkVSSVFVRSAocG91ciB0b3VzIGxlcyBuaXZlYXV4IGR1IG1lbnUpICoqKi9cbiAgLyoqKiBCQU5ERUFVIElNQUdFICoqKi9cbiAgLyoqKiBMYXJnZXVyIGRlIGwnaW1hZ2UgREFOUyBsZSB3cmFwICoqKi9cbiAgI3BhZ2UgLmJhbmRlYXVfcGFnZSB7XG4gICAgLyoqKiBMYXJnZXVyIGRlIGwnaW1hZ2UgSE9SUyBkdSB3cmFwICoqKi9cbiAgICAvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xuICB9XG4gICNwYWdlIC5iYW5kZWF1X3BhZ2UgaW1nLCAjcGFnZSAuYmFuZGVhdV9wYWdlIC5kZWZhdWx0X2ltZyB7XG4gICAgd2lkdGg6IGNhbGMoY2FsYygoMTAwdncgLSAxLjVyZW0pICogMTEgLyAxMikgKyAxLjVyZW0pO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNS41cmVtKTtcbiAgfVxuICAjcGFnZSAuYmFuZGVhdV9wYWdlIC5jb3B5cmlnaHQge1xuICAgIHJpZ2h0OiAtMXJlbTtcbiAgfVxuICAvKioqIEZPT1RFUiAqKiovXG4gICNmb290ZXIgLmFwcGxpX2Zvb3Rlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuICAjZm9vdGVyIC5yZXNlYXV4X3NvY2lhdXgge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuICAvKioqIEZJTCBEJ0FSSUFORSAqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBIT01FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICNob21lICNpbWdfYmRwIHtcbiAgICByaWdodDogLTUwcmVtO1xuICB9XG4gIC8qKiogVEFHUyAqKiovXG4gICN0YWdzIGxpIGEge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbiAgLyoqKiBCTE9DUyBIT01FIC0gVFJBTUUgR0VORVJJUVVFICoqKi9cbiAgLmJsb2NfaG9tZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cbiAgLyoqKiBUSVRSRSAqKiovXG4gIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2Mge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICB9XG4gIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4zZW07XG4gIH1cbiAgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbSBhdXRvO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDJyZW0pIC0wLjRyZW07XG4gIH1cbiAgLyoqKiBTT1VTLVRJVFJFICoqKi9cbiAgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG4gIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgLyoqKiBCVE4gQUxMICoqKi9cbiAgLmJ0bl9hbGxfYmxvYyAuYnRuX2FsbCB7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQuNXJlbTtcbiAgfVxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIFRZUEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIEhFQUQgUEFHRSAqKiovXG4gIC5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmNvbnRhaW5faW5mb3Mge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbiAgLyoqKiBUSVRSRSBQQUdFICYgQUNDUk9DSEUgUEFHRSAqKiovXG4gIC50aXRyZV9wYWdlIHsgLypwYWRkaW5nOjAgMS41cmVtIDEuNXJlbSAxLjVyZW07Ki8gfVxuICAqOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAudGl0cmVfcGFnZSAqOmlzKGgxLCBwKSB7XG4gICAgZm9udC1zaXplOiAyLjhlbTsgLypsaW5lLWhlaWdodDoxLjJlbTsqL1xuICB9XG4gIC5jb250ZW50X3F1b3RlIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG4gICo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cbiAgLyoqKiBQQVJBTSBUWFQgKioqL1xuICAvKioqIFRJVFJFUyAqKiovXG4gIC8qKiogU0tJTiBMSVNUICoqKi9cbiAgLyoqKiBTS0lOIFRBQkxFQVVYICoqKi9cbiAgLmNvbnRlbnRfcGFnZSB0YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbnRlbnRfcGFnZSB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgdGgsIC5jb250ZW50X3BhZ2UgdGQge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gIH1cbiAgLyoqKiBCTE9DS1FVT1RFICoqKi9cbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgYmxvY2txdW90ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMnJlbSB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0cmVtIGF1dG87XG4gIH1cbiAgLmNvbnRlbnRfcGFnZSBibG9ja3F1b3RlOjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLyoqKiBCTE9DIENJVEFUSU9OICoqKi9cbiAgLyoqKiBTS0lOIExFR0VOREUgTElFTiBJTUcgKioqL1xuICAuY29udGVudF9wYWdlIC5jc2MtdGV4dHBpYy1pbWFnZSwgLmNvbnRlbnRfcGFnZSBmaWd1cmUuaW1hZ2UgeyAvKm1hcmdpbi1ib3R0b206MnJlbTsqLyB9XG4gIC8qIEdSSUQgRUxFTUVOVCAqL1xuICAjY29sX2xlZnRfaW5uZXIgPiAuZ3JpZC14IHsgLyptYXJnaW4tdG9wOjJyZW07Ki8gfVxuICAvKioqIEJMT0MgVklERU8gKioqL1xuICAuYmxvY192aWRlbyB7IC8qbWFyZ2luLWJvdHRvbToycmVtOyovIH1cbiAgLyoqKiBDT0xPTk5FIENPTlRFWFRVRUxMRSAqKiovXG4gIC8qKiogQkxPQ1MgQ09MIC0gVFJBTUUgR0VORVJJUVVFICoqKi9cbiAgLmNvbF9sZWZ0IC5ibG9jX2NvbCB7IC8qbWFyZ2luLWJvdHRvbToycmVtOyovIH1cbiAgLmJsb2NfY29sIC50aXRyZV9ibG9jIHsgLypwYWRkaW5nOjEuNXJlbSAycmVtIDAgMnJlbTsqLyB9XG4gIC5ibG9jX2NvbCAudGl0cmVfYmxvYyAudGl0cmUge1xuICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gIH1cbiAgLmJsb2NfY29sIC5jb250ZW51X2Jsb2MgLnN1YnRpdGxlIHsgLypmb250LXNpemU6MS43ZW07Ki8gfVxuICAuYmxvY19jb2wgLmNvbnRlbnVfYmxvYyB7IC8qcGFkZGluZzowIDJyZW07Ki8gfVxuICAvKioqIEJMT0NTIEJBUyBERSBQQUdFICoqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIExJU1RFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI3BhZ2UubGlzdCAuaGVhZF9wYWdlIC5jb250YWluX2luZm9zOjpiZWZvcmUsICNwYWdlLmRhc2hib2FyZCAuaGVhZF9wYWdlIC5jb250YWluX2luZm9zOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAvKioqIE1BUCAqKiovXG4gICNzZWNvbmRfZGlzcGxheSB7XG4gICAgbWluLWhlaWdodDogNDVyZW07XG4gIH1cbiAgLyoqKiBSRVNVTFRBVFMgKioqL1xuICAvKioqIElURU0gR0VORVJJUVVFICoqKi9cbiAgI3BhZ2UubGlzdCAubGlzdF9pdGVtLCAjcGFnZS5jYXJ0b190cGwgLmxpc3RfaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoMTc3LCAxNzcsIDE3NywgMC40KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjcGFnZS5saXN0IC5saXN0X2l0ZW0gPiAubGluaywgI3BhZ2UuY2FydG9fdHBsIC5saXN0X2l0ZW0gPiAubGluayB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgI3BhZ2UubGlzdCAubGlzdF9pdGVtID4gLmxpbmsgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIH1cbiAgI3BhZ2UuY2FydG9fdHBsIC5saXN0X2l0ZW0gPiAubGluayA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKiogSU1BR0UgKGVsbGVzIHBhc3NlbnQgZW4gYWJzb2x1ZSBvbiBsaW1pdGUgbGV1cnMgZGltZW5zaW9ucykgKioqL1xuICAubGlzdF9pdGVtIC5kZWZhdWx0X2ltZyB7IC8qYXNwZWN0LXJhdGlvOmluaXRpYWw7Ki9cbiAgICBtYXgtd2lkdGg6IDIxcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5saXN0X2l0ZW0gLmltZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICB9XG4gIC5saXN0IC5saXN0X2l0ZW0gLmltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICB9XG4gIC5saXN0X2l0ZW0gLmltZyBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC8qKiogWk9ORSBURVhURSAqKiovXG4gICNwYWdlLmxpc3QgLmxpc3RfaXRlbSAudHh0LCAjcGFnZS5jYXJ0b190cGwgLmxpc3RfaXRlbSAudHh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG4gIC8qKiogREFURVMgKioqL1xuICAuZGF0ZSAuY29udGFpbiB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgfVxuICAuZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9kYXlfbmIge1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICB9XG4gIC5kYXRlIC5jb250YWluIHNwYW4udHh0X21vbnRoIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICB9XG4gIC5jaW1fbWFwYm94IC5saXN0X2l0ZW1bY2xhc3MqPWFnZW5kYV0uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC8qKiogVElUUkUgKioqL1xuICAubGlzdF9pdGVtIC50aXRyZSwgLmNvbnRlbnRfcGFnZSAubGlzdF9pdGVtIC50aXRyZSB7XG4gICAgZm9udC1zaXplOiAxLjhlbSAhaW1wb3J0YW50O1xuICB9XG4gIC8qKiogREVTQ1JJUFRJT04gKioqL1xuICAvKioqIExJRVUgKioqL1xuICAubGlldSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwO1xuICB9XG4gIC8qKiogQ0FURUdPUklFICoqKi9cbiAgLmNhdCwgLnR5cGUsIC5kYXRlX2lubGluZSwgLmxpZXUsIFtjbGFzcyo9Zm9uY3Rpb25fXSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuICAvKioqIEVOIFNBVk9JUiBQTFVTICoqKi9cbiAgLyoqKiBJVEVNUyBTVUJQQUdFUyAvLyBQQUdFIENBUlJFRk9VUiAqKiovXG4gIC8qKiogSVRFTVMgUkVDSEVSQ0hFIEdFTkVSQUxFICoqKi9cbiAgLyoqKiBJVEVNUyBBR0VOREEgKioqL1xuICAvKi5saXN0IC5saXN0X2l0ZW0uYWdlbmRhID4gLmxpbmsge3BhZGRpbmctbGVmdDowO31cbiAgLmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgPiAubGluayB7bWluLWhlaWdodDppbmhlcml0O31cbiAgLmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgLmRhdGVfY29udGFpbmVyIHtvcmRlcjotMjsgbWFyZ2luLWJvdHRvbToycmVtO31cbiAgLmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgLmRhdGUge3Bvc2l0aW9uOmluaGVyaXQ7IHRyYW5zZm9ybTpub25lOyB0b3A6YXV0bzt9Ki9cbiAgLmxpc3RfaXRlbVtjbGFzcyo9YWdlbmRhXS5ob3Jpem9udGFsIC5kYXRlX2NvbnRhaW5lciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IDEycmVtO1xuICB9XG4gIC8qKiogS0lPU1FVRSAqKiovXG4gIC5raW9zcXVlLmxpc3RfaXRlbSAuaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxOHJlbTtcbiAgfVxuICAua2lvc3F1ZS5saXN0X2l0ZW0gLnR4dCAuZ3JpZC14IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKiBQT1BJTiBERVRBSUwgKioqL1xuICAjcG9waW5fZGV0YWlsICNjb250YWluX2FyaWFuZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICB9XG4gIC8qKiogTGFyZ2V1ciBkZSBsJ2ltYWdlIERBTlMgbGUgd3JhcCAqKiovXG4gICNiYW5kZWF1X3BhZ2VfcG9waW4ge1xuICAgIC8qKiogTGFyZ2V1ciBkZSBsJ2ltZyAqKiovXG4gIH1cbiAgI2JhbmRlYXVfcGFnZV9wb3BpbiBpbWcsICNiYW5kZWF1X3BhZ2VfcG9waW4gLmRlZmF1bHRfaW1nIHtcbiAgICB3aWR0aDogY2FsYyhjYWxjKCgxMDB2dyAtIDNyZW0pICogMTEgLyAxMikgKyAxLjVyZW0pO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNS41cmVtKTtcbiAgfVxuICAjcG9waW5fZGV0YWlsIC50aXRyZV9ibG9jIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqIE1PVEVVUiBERSBSRUNIRVJDSEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqIFBBR0lOQVRJT04gKioqL1xuICAubmJfcGFnZXNfdG90YWxfaW5mb3Mge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnR4LWluZGV4ZWRzZWFyY2gtYnJvd3NlYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxuICAuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBtYXJnaW46IDAgMC4zcmVtO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjNyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gbGlbY2xhc3NePXBhZ2luYXRpb24tXSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGxpW2NsYXNzXj1wYWdpbmF0aW9uLV0gYSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgfVxuICAuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEuMnJlbTtcbiAgfVxuICAuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWZpcnN0IGE6OmJlZm9yZSxcbiAgLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1sYXN0IGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzLjVyZW0gYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tZmlyc3Qge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyB7XG4gICAgbGVmdDogNHJlbTtcbiAgfVxuICAuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWxhc3Qge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCB7XG4gICAgcmlnaHQ6IDRyZW07XG4gIH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9EVUxFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn0iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAnLi91dGlsJztcclxuXHJcbi8qIEZ1bmN0aW9ucyBzYXNzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9mdW5jdGlvbnMnO1xyXG5cclxuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9fY2ltX3NldHRpbmdzJztcclxuXHJcbi8qIFZhcmlhYmxlcyBkZXMgaWNvbmVzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9jaW1faWNvbnMnO1xyXG5cclxuLyogRm9udHMgKi9cclxuJGFsdGVybmF0aXZlIDogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XHJcbiRtb250c2VycmF0X3JlZ3VsYXIgOiAnbW9udHNlcnJhdF9yZWd1bGFyJywgJGFsdGVybmF0aXZlO1xyXG4kbW9udHNlcnJhdF9zZW1pYm9sZCA6ICdtb250c2VycmF0X3NlbWlib2xkJywgJGFsdGVybmF0aXZlO1xyXG4kbW9udHNlcnJhdF9ib2xkIDogJ21vbnRzZXJyYXRfYm9sZCcsICRhbHRlcm5hdGl2ZTtcclxuXHJcbiRyZWd1bGFyIDogJG1vbnRzZXJyYXRfcmVndWxhcjtcclxuJHNlbWlib2xkOiAkbW9udHNlcnJhdF9zZW1pYm9sZDtcclxuJGJvbGQgOiAkbW9udHNlcnJhdF9ib2xkO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDYyLjUlO1xyXG4kZ2xvYmFsLXRleHQtZm9udC1zaXplOiAxLjhlbTtcclxuJGdsb2JhbC13aWR0aDogMTQ0cmVtO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gICAgICAgIHByaW1hcnk6ICRjaW1fcHJpbWFyeV9jb2xvcixcclxuICAgICAgICBzZWNvbmRhcnk6ICRjaW1fc2Vjb25kYXJ5X2NvbG9yLFxyXG4gICAgICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgICAgICAgd2FybmluZzogI2ZmYWUwMCxcclxuICAgICAgICBhbGVydDogI2NjNGIzNyxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICRjaW1fbGlnaHRfZ3JheTtcclxuJG1lZGl1bS1ncmF5OiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kZGFyay1ncmF5OiAkY2ltX2RhcmtfZ3JheTtcclxuJGJsYWNrOiAkY2ltX2JsYWNrO1xyXG4kd2hpdGU6ICRjaW1fd2hpdGU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGNpbV9ibGFjaztcclxuJGJvZHktZm9udC1mYW1pbHk6ICRyZWd1bGFyO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xyXG4kZ2xvYmFsLW1hcmdpbjogM3JlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAzcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogMTAyNHB4LFxyXG4gICAgICAgIHhsYXJnZTogMTIwMHB4LFxyXG4gICAgICAgIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgICAgICAgaGlkcGktMTogMSxcclxuICAgICAgICBoaWRwaS0xLTU6IDEuNSxcclxuICAgICAgICBoaWRwaS0yOiAyLFxyXG4gICAgICAgIHJldGluYTogMixcclxuICAgICAgICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC14LWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gICAgICAgIHNtYWxsOiAzcmVtLFxyXG4gICAgICAgIG1lZGl1bTogM3JlbSxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9sZDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRoZWFkZXItbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgICAgICAgc21hbGw6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMi44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyLjJlbSksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMS42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtKSxcclxuICAgICAgICAgICAgICAgICdwJzogKCdmb250LXNpemUnOiAxLjZlbSwgJ2xpbmUtaGVpZ2h0JzogMS40KSxcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lZGl1bTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAzLjVlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMi4yZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtLCAnbGluZS1oZWlnaHQnOiAxLjcpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgbGFyZ2U6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogNS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAzLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIuNGVtKSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdwJzogKCdmb250LXNpemUnOiAxLjhlbSwgJ2xpbmUtaGVpZ2h0JzogMS43KSxcclxuICAgICAgICApXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG5cclxuLy8gUGFyYWdyYXBoZXNcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblxyXG4vLyA/XHJcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG5cclxuLy8gTGlzdGVzXHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDA7XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMCAwIDAgMS41cmVtO1xyXG5cclxuLy8gP1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcblxyXG4vLyBCbG9ja3F1b3Rlc1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogMCAwIDAgMTJyZW07XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogbm9uZTtcclxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xyXG5cclxuLy8gP1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICcnO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICcnO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDNyZW0gNXJlbSAzcmVtIDA7XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAwIDEwcmVtIDNyZW0gMDtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNHJlbTtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJGNpbV9ibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOjA7XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkY2ltX3ByaW1hcnlfY29sb3I7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tdXBwZXJjYXNlOiBmYWxzZTtcclxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvbGQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XHJcbiRidXR0b24tcGFkZGluZzogMC41ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tY29sb3I6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkY2ltX2JsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogNC44cmVtO1xyXG4kYnV0dG9uLWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMC4xcmVtO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMS40cmVtLFxyXG4gICAgICAgIHNtYWxsOiAxLjRyZW0sXHJcbiAgICAgICAgZGVmYXVsdDogMS42cmVtLFxyXG4gICAgICAgIGxhcmdlOiAycmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbjtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXNpemVzOiAoXHJcbiAgICAgICAgc21hbGw6IDAuNXJlbSxcclxuICAgICAgICBkZWZhdWx0OiAxcmVtLFxyXG4gICAgICAgIGxhcmdlOiAzcmVtLFxyXG4pO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICAgICAgICBzbWFsbDogMC42NnJlbSxcclxuICAgICAgICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICAgICAgICBzbWFsbDogMC4zM2VtLFxyXG4gICAgICAgIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gICAgICAgIHNtYWxsOiAxLjVlbSxcclxuICAgICAgICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGNpbV93aGl0ZTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRjaW1fYmxhY2s7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzByZW07XHJcbiRkcm9wZG93bi1yYWRpdXM6IDFyZW07XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gICAgICAgIHRpbnk6IDEwcmVtLFxyXG4gICAgICAgIHNtYWxsOiAyMHJlbSxcclxuICAgICAgICBsYXJnZTogMzByZW0sXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwcmVtO1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuLy8gRmllbGRzZXRcclxuJGZpZWxkc2V0LWJvcmRlcjogbm9uZTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IDA7XHJcbiRmaWVsZHNldC1tYXJnaW46IDA7XHJcblxyXG4vLyBMZWdlbmRcclxuJGxlZ2VuZC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gRm9ybVxyXG4kZm9ybS1zcGFjaW5nOiAwO1xyXG4kZm9ybS1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG5cclxuLy8gP1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuLy8gP1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyBMYWJlbFxyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGNpbV9ibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAxLjZlbTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuXHJcbi8vIElucHV0XHJcbiRpbnB1dC1jb2xvcjogJGRhcmstZ3JheTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKCRnbG9iYWwtdGV4dC1mb250LXNpemUpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAxLjI7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiByZ2JhKCRjaW1fbGlnaHRfZ3JheSwgMC4zKTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6IHJnYmEoJG1lZGl1bS1ncmF5LCAwLjUpICFpbXBvcnRhbnQ7XHJcbiRpbnB1dC1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogIDAuMXJlbSBzb2xpZCAkY2ltX3ByaW1hcnlfY29sb3I7XHJcbiRpbnB1dC1wYWRkaW5nOiAwLjdyZW0gMDtcclxuJGlucHV0LXNoYWRvdzogbm9uZTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3JkZXIgMC4zcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjNzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAwO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIFNlbGVjdFxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6MS40ZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwO1xyXG4kbGFiZWwtcmFkaXVzOiAwO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gICAgICAgIG1lZGl1bTogNDByZW0sXHJcbiAgICAgICAgc21hbGw6IDEwMHZ3LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgICAgICAgc21hbGw6IDI1cmVtLFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRjaW1fYmxhY2ssIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tc2xpY2s6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC10ZXh0LWZvbnQtc2l6ZTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogMDtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGNpbV9tZWRpdW1fZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiAxcmVtO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6IDA7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkY2ltX3ByaW1hcnlfY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItaG92ZXI6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJGNpbV9saWdodF9ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGNpbV9saWdodF9ncmF5O1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJyc7XHJcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICcnO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gICAgICAgIGRvd24sXHJcbiAgICAgICAgdXAsXHJcbiAgICAgICAgcmlnaHQsXHJcbiAgICAgICAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgICAgICAgaW5saW5lLFxyXG4gICAgICAgIGlubGluZS1ibG9jayxcclxuICAgICAgICBibG9jayxcclxuICAgICAgICB0YWJsZSxcclxuICAgICAgICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgICAgICAgZGlzYyxcclxuICAgICAgICBjaXJjbGUsXHJcbiAgICAgICAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgICAgICAgZGVjaW1hbCxcclxuICAgICAgICBsb3dlci1hbHBoYSxcclxuICAgICAgICBsb3dlci1sYXRpbixcclxuICAgICAgICBsb3dlci1yb21hbixcclxuICAgICAgICB1cHBlci1hbHBoYSxcclxuICAgICAgICB1cHBlci1sYXRpbixcclxuICAgICAgICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gICAgICAgIHZpc2libGUsXHJcbiAgICAgICAgaGlkZGVuLFxyXG4gICAgICAgIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gICAgICAgIHN0YXRpYyxcclxuICAgICAgICByZWxhdGl2ZSxcclxuICAgICAgICBhYnNvbHV0ZSxcclxuICAgICAgICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gICAgICAgIHdpZHRoLFxyXG4gICAgICAgIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgICAgICAgMjU6IDI1JSxcclxuICAgICAgICA1MDogNTAlLFxyXG4gICAgICAgIDc1OiA3NSUsXHJcbiAgICAgICAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICAgICAgICBvdmVybGluZSxcclxuICAgICAgICB1bmRlcmxpbmUsXHJcbiAgICAgICAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gICAgICAgIGxvd2VyY2FzZSxcclxuICAgICAgICB1cHBlcmNhc2UsXHJcbiAgICAgICAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICAgICAgICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgICAgICAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiByZ2JhKCRjaW1fd2hpdGUsIDAuOSk7XHJcbiRyZXZlYWwtd2lkdGg6IDgwJTtcclxuJHJldmVhbC1tYXgtd2lkdGg6IDgwcmVtO1xyXG4kcmV2ZWFsLXBhZGRpbmc6IDkuNTVyZW07XHJcbiRyZXZlYWwtYm9yZGVyOiBub25lO1xyXG4kcmV2ZWFsLXJhZGl1czogMDtcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTtcclxuJHRhYmxlLXBhZGRpbmc6IDEuNXJlbTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRkYXJrLWdyYXksIDAuOCk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6ICRjaW1fbGlnaHRfZ3JheTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICAgICAgICBzbWFsbDogM3JlbSxcclxuICAgICAgICBtZWRpdW06IDNyZW1cclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLyogQ3VzdG9tIG1peGlucyAqL1xyXG5AaW1wb3J0ICcuLi9jdXN0b20vY2ltX21peGlucyc7IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKiogRm9uY3Rpb24gcXVpIGdlbmVyZSB1biBzdmcgYmFja2dyb3VuZC1pbWFnZSAqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0QGZ1bmN0aW9uIHN2Zy11cmwoJHN2Zyl7ICAgIFxyXG5cdCAgICAkZW5jb2RlZDonJztcclxuXHQgICAgJHNsaWNlOiAyMDAwO1xyXG5cdCAgICAkaW5kZXg6IDA7XHJcblx0ICAgICRsb29wczogY2VpbChjYWxjKHN0ci1sZW5ndGgoJHN2ZykgLyAkc2xpY2UpKTtcclxuXHQgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbG9vcHMge1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItc2xpY2UoJHN2ZywgJGluZGV4LCAkaW5kZXggKyAkc2xpY2UgLSAxKTsgXHJcblx0ICAgICAgXHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnXCInLCdcXCcnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc8JywnJTNDJyk7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnPicsJyUzRScpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyYnLCclMjYnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCcjJywnJTIzJyk7ICAgICAgIFxyXG5cdCAgICAgICAgJGVuY29kZWQ6ICN7JGVuY29kZWR9I3skY2h1bmt9O1xyXG5cdCAgICAgICAgJGluZGV4OiAkaW5kZXggKyAkc2xpY2U7IFxyXG5cdCAgICB9XHJcblx0ICAgIEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwjeyRlbmNvZGVkfVwiKTtcclxuXHR9XHRcdFx0ICAgICAgICAgICAgXHJcblx0QGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG5cdCAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTsgXHJcblx0ICAgIEBpZiAkaW5kZXggeyBcclxuXHQgICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBcclxuXHQgICAgICAgICAgICBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgXHJcblx0ICAgICAgICAgICAgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTsgXHJcblx0ICAgIH1cclxuXHQgICAgQHJldHVybiAkc3RyaW5nOyBcclxuXHR9IiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcblx0Ly8gTGFpc3NlciBqdXNxdSdhIGxhIGZpbiBkdSBwcm9qZXQgcG91ciB2b2lyIHNpIGRlcyDDqWzDqW1lbnRzIG9udCDDqXTDqSBvdWJsacOpcyAoY2hlcmNoZXIvcmVtcGxhY2VyKVxyXG4gICAgJGRlZmF1bHRfY29sb3I6IHNhbG1vbjtcclxuXHJcblx0LyogQ291bGV1cnMgcHJvamV0ICovXHJcblxyXG5cdFx0Ly8gQmFydFxyXG5cdFx0XHQkYmx1ZTogIzAwNjFBRTtcclxuXHRcdFx0JHllbGxvdzogI0ZBREQwNDtcclxuXHRcdFx0JGdyZXlpc2g6ICNBOEFEQzY7XHJcblxyXG5cdFx0LyogdXRpbGlzw6lzIGRhbnMgc2V0dGluZ3MgRm91bmRhdGlvbiAqL1xyXG5cdFx0XHQkY2ltX3ByaW1hcnlfY29sb3I6ICRibHVlO1xyXG5cdFx0XHQkY2ltX3NlY29uZGFyeV9jb2xvcjogJHllbGxvdztcclxuXHRcdFx0JGNpbV90aGlyZF9jb2xvcjogJGdyZXlpc2g7XHJcblx0XHRcdCRjaW1fZm91cnRoX2NvbG9yOiAkY2ltX3RoaXJkX2NvbG9yOyIsIkBpbXBvcnQgJ19jaW1fc2V0dGluZ3NfY29sb3JzJztcclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKiBDT1VMRVVSUyBIT1JTIENJTV8qICoqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5cdC8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXHJcblx0XHQkY2ltX3doaXRlOiAjZmZmZmZmO1xyXG5cdFx0JGNpbV9ibGFjazogIzAwMDAwMDtcclxuXHJcblx0LyogTnVhbmNlcyBkZSBncmlzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXHJcblx0XHQkY2ltX2xpZ2h0X2dyYXk6ICNlMmUyZTI7XHJcblx0XHQkY2ltX21lZGl1bV9ncmF5OiAjYjFiMWIxO1xyXG5cdFx0JGNpbV9kYXJrX2dyYXk6ICM3OTc2NzY7XHJcblxyXG5cdC8qIERhc2hib2FyZCAqL1xyXG5cdFx0JGRiX2xpZ2h0X2dyYXk6ICNmY2ZjZmM7XHJcblx0XHQkZGJfbWVkaXVtX2dyYXk6ICRjaW1fbGlnaHRfZ3JheTtcclxuXHRcdCRkYl9zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwwLDAsMC4wNSk7XHJcblxyXG5cdC8qIFJlc2VhdXggc29jaWF1eCAqL1xyXG5cdFx0JGNvbG9yX2ZhY2Vib29rOiAjMTc3OEYyO1xyXG5cdFx0JGNvbG9yX3R3aXR0ZXI6ICMyY2E3ZTA7XHJcblx0XHQkY29sb3JfbGlua2VkaW46ICMwZTc2YTg7XHJcblx0XHQkY29sb3JfeW91dHViZTogI2ZmMDAwMDtcclxuXHRcdCRjb2xvcl92aW1lbzogIzE5YjdlYTtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMTogI2ZmYjE0MDtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMjogI2ZmNTQ0NTtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMzogI2ZjMmI4MjtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fNDogIzhlNDBiNztcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW06ICRjb2xvcl9pbnN0YWdyYW1fNDtcclxuXHRcdCRncmFkaWVudF9pbnN0YWdyYW06IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTAlIDEwNyUsICRjb2xvcl9pbnN0YWdyYW1fMSAwJSwgJGNvbG9yX2luc3RhZ3JhbV8xIDUlLCAkY29sb3JfaW5zdGFncmFtXzIgNDUlLCAkY29sb3JfaW5zdGFncmFtXzMgNjAlLCAkY29sb3JfaW5zdGFncmFtXzQgOTAlKTtcclxuXHJcblxyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiogQ09ORklHICoqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHQvKioqIExBWU9VVCAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xyXG5cdFx0XHQkaGVhZGVyX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiAxMHJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDcuNXJlbSxcclxuXHRcdFx0XHRzbWFsbDogNS41cmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHQvKioqIEhPTUUgKioqL1xyXG5cdFx0LyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXHJcblx0XHRcdCRiYW5kZWF1X2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA3OC4ycmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNTByZW0sXHJcblx0XHRcdFx0c21hbGw6IDM1cmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdC8qIE1hcmdpbiBuw6lnYXRpdmUgYXUgZGVzc3VzIGRlcyBhY2PDqHMgcmFwaWRlcyAqL1xyXG5cdFx0XHQkbWFyZ2luVG9wQWNjZXM6IChcclxuXHRcdFx0XHRsYXJnZTogNC4zcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNC4zcmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA0LjNyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogRURJVE8gKioqL1xyXG5cdFx0IC8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cclxuXHRcdFx0JGJsb2NfY29sX21hcmdpbjogKFxyXG5cdFx0XHRcdGxhcmdlOiA2cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNnJlbSxcclxuXHRcdFx0XHRzbWFsbDogM3JlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cclxuXHRcdFx0JGJhbmRlYXVwYWdlX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA2Ny44cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNy41cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA3LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogUEFHRSBERSBMSVNURSAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IG1vdGV1ciAqL1xyXG5cdFx0XHQkbW90ZXVyX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA1cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNi4xcmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA2LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogUGFkZGluZyBhdSBkZXNzdXMgZHUgbW90ZXVyICovXHJcblx0XHRcdCR0b3BfbW90ZXVyX3BhZGRpbmdUb3A6IChcclxuXHRcdFx0XHRsYXJnZTogMXJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDJyZW0sXHJcblx0XHRcdFx0c21hbGw6IDJyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogUmVzdWx0YXRzIC0gZXNwYWNlIGVudHJlIG1vdGV1cjpib3R0b20gZXQgdmlnbmV0dGU6dG9wIGRlIHBhZ2UgZGUgbGlzdGUgKi9cclxuXHRcdFx0JHJlc3VsdF9tYXJnaW5Ub3A6IChcclxuXHRcdFx0XHRsYXJnZTogMnJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDJyZW0sXHJcblx0XHRcdFx0c21hbGw6IDJyZW0sXHJcblx0XHRcdCk7XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKiBTVkcgT1BUSU9OUyBEJ0VYUE9SVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKlxyXG5cdE9wdGlvbnMgZCdleHBvcnQgcG91ciByZW5kcmUgbGVzIFNWRyBiYWNrZ3JvdW5kLWltYWdlIGNvbXBhdGlibGVzIGF2ZWMgSUUxMVxyXG5cclxuXHRGaWNoaWVyIEFJID4gRXhwb3J0ZXIgbGEgc2VsZWN0aW9uID4gcGFyYW3DqHRyZXMgKGZvcm1hdCkgPiBTVkdcclxuXHRcdEF0dHJpYnV0cyBkZSBwcsOpc2VudGF0aW9uXHJcblx0XHRTVkdcclxuXHRcdEluY29ycG9yZXJcclxuXHRcdE5vbXMgZGUgY2FscXVlc1xyXG5cdFx0MlxyXG5cdFx0TWluaW1pZmllclxyXG5cdFx0UmVzcG9uc2l2ZVxyXG5cclxuXHQrIGFqb3V0IGRlIGwnYXR0cmlidXQgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCJcclxuXHJcblx0U2kgcHJvYmxlbWUgZGUgc3ZnIGF2ZWMgcG9wbHlsaW5lIG91IGxpbmUgPiBvdXZyaXIgbGUgc3ZnIGRhbnMgYWkgPiBzZWxlY3Rpb24gZGUgbCdpY29uZSA+IE9iamV0ID4gdHJhY8OpID4gVmVjdG9yaXNlciBsZSBjb250b3VyXHJcbiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqIElNUE9SVCAqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXHJcblx0IEBpbXBvcnQgJ19jaW1fc2V0dGluZ3MnO1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKiogTEFZT1VUICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBUaGVfY2hldnJvbiAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHRoZV9jaGV2cm9uKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCA4IDEwXCI+PHBhdGggZD1cIk01LDBsNSw4SDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDgpIHJvdGF0ZSg5MClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogRm9ybXVsYWlyZXMgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzZWxlY3QoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk05LDJhNyw3LDAsMSwwLDcsN0E3LDcsMCwwLDAsOSwyWm0wLDguNEw2LjIsNy42aDUuNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gaWNoZWNrKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoXCI8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOTggMTgnPjx0aXRsZT5pY2hlY2s8L3RpdGxlPjxyZWN0IHg9JzAuNScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cGF0aCBkPSdNMTQsMWEzLDMsMCwwLDEsMywzVjE0YTMsMywwLDAsMS0zLDNINGEzLDMsMCwwLDEtMy0zVjRBMywzLDAsMCwxLDQsMUgxNG0wLTFINEE0LDQsMCwwLDAsMCw0VjE0YTQsNCwwLDAsMCw0LDRIMTRhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxyZWN0IHg9JzIwLjUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjb2xvcn0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00zNCwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM0gyNGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM0gzNG0wLTFIMjRhNCw0LDAsMCwwLTQsNFYxNGE0LDQsMCwwLDAsNCw0SDM0YTQsNCwwLDAsMCw0LTRWNGE0LDQsMCwwLDAtNC00WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY29sb3J9Jy8+PHJlY3QgeD0nNDAnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzQnIHJ5PSc0JyBmaWxsPScjeyRjb2xvcn0nLz48cGF0aCBkPSdNNTQuOSw1LjgsNTMuMiwzLjlhLjE5LjE5LDAsMCwwLS4zLDBoMGwtNi4xLDYuNUw0NS4yLDguN2EuMTkuMTksMCwwLDAtLjMsMGgwbC0xLjcsMS45YS4zLjMsMCwwLDAsMCwuNGwzLjUsMy43YS4xOS4xOSwwLDAsMCwuMywwaDBsOC04LjVDNTUsNiw1NSw1LjksNTQuOSw1LjhaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fd2hpdGV9Jy8+PHJlY3QgeD0nNjAuNTUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScgb3BhY2l0eT0nMC44Jy8+PHBhdGggZD0nTTc0LjA1LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzaC0xMGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM2gxMG0wLTFoLTEwYTQsNCwwLDAsMC00LDRWMTRhNCw0LDAsMCwwLDQsNGgxMGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHJlY3QgeD0nODAuNTUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxwYXRoIGQ9J005NC4wNSwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM2gtMTBhMywzLDAsMCwxLTMtM1Y0YTMsMywwLDAsMSwzLTNoMTBtMC0xaC0xMGE0LDQsMCwwLDAtNCw0VjE0YTQsNCwwLDAsMCw0LDRoMTBhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxwYXRoIGQ9J005NC45LDUuOCw5My4yLDMuOWEuMTkuMTksMCwwLDAtLjMsMGgwbC02LjEsNi41TDg1LjIsOC43YS4xOS4xOSwwLDAsMC0uMywwaDBsLTEuNywxLjlhLjMuMywwLDAsMCwwLC40bDMuNSwzLjdhLjE5LjE5LDAsMCwwLC4zLDBoMGw4LTguNUM5NSw2LDk1LDUuOSw5NC45LDUuOFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48Y2lyY2xlIGN4PScxMDkuMDUnIGN5PSc5JyByPSc4LjUnIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cGF0aCBkPSdNMTA5LjA1LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxjaXJjbGUgY3g9JzEyOScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY29sb3J9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNMTI5LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjb2xvcn0nLz48Y2lyY2xlIGN4PScxNDknIGN5PSc5JyByPSc5JyBmaWxsPScjeyRjb2xvcn0nLz48Y2lyY2xlIGN4PScxNjknIGN5PSc5JyByPSc4LjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNMTY5LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxjaXJjbGUgY3g9JzE4OScgY3k9JzknIHI9JzknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PC9zdmc+XCIpO31cclxuXHJcblx0IC8qIFNsaWNrIHNsaWRlciAqL1xyXG5cdCBcdC8qIE9LICovIEBtaXhpbiBzbGlja19wcmV2KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE2LDE2LjU5LDExLjQyLDEyLDE2LDcuNDEsMTQuNTksNmwtNiw2LDYsNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNTkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDBIMFYyNEgyNFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2xpY2tfbmV4dCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk04LjU5LDE2LjU5LDEzLjE3LDEyLDguNTksNy40MSwxMCw2bDYsNi02LDZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTAsMEgyNFYyNEgwWlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBjcm9zcygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk03LDE0SDV2NWg1VjE3SDdaTTUsMTBIN1Y3aDNWNUg1Wm0xMiw3SDE0djJoNVYxNEgxN1pNMTQsNVY3aDN2M2gyVjVaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJvdXRvbnMgKi9cclxuXHRcdC8qIEJvdXRvbiBMSUVOICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fbGllbl9waWN0bygkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0xNC4zMzMsMTAuMzMzaC00djRIOXYtNEg1VjlIOVY1aDEuMzMzVjloNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0xLjY2NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogQm91dG9uIEFMTCAqL1xyXG5cdFx0LyogQm91dG9uIFRYVCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX3R4dCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7QGluY2x1ZGUgdGhlX2NoZXZyb24oI3skY29sb3J9KTt9XHJcblxyXG5cdFx0LyogQnRuIGNsb3NlICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fY2xvc2UoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48cGF0aCBkPVwiTTAsMEgyNlYyNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTkuNDY1LDYuNDU3LDE4LjAwOCw1bC01Ljc3Niw1Ljc3Nkw2LjQ1Nyw1LDUsNi40NTdsNS43NzYsNS43NzZMNSwxOC4wMDhsMS40NTcsMS40NTcsNS43NzYtNS43NzYsNS43NzYsNS43NzYsMS40NTctMS40NTctNS43NzYtNS43NzZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNzY3IDAuNzY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEFycm93IGJhY2sgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9iYWNrKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCA4IDEwXCI+PHBhdGggZD1cIk0wLDUsOCwwVjEwWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEFycm93IHJlaW5pdCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX3JlaW5pdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk04LjY2NywyYTYuNjY3LDYuNjY3LDAsMSwwLDYuNjY3LDYuNjY3QTYuNjYxLDYuNjYxLDAsMCwwLDguNjY3LDJaTTEyLDExLjA2bC0uOTQuOTRMOC42NjcsOS42MDcsNi4yNzMsMTJsLS45NC0uOTRMNy43MjcsOC42NjcsNS4zMzMsNi4yNzNsLjk0LS45NEw4LjY2Nyw3LjcyNywxMS4wNiw1LjMzM2wuOTQuOTRMOS42MDcsOC42NjdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjY2NyAtMC42NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEhlYWRlciAqL1xyXG5cdFx0LyogTWVudSBwcmluY2lwYWwgTjEgYWN0aWYgKi9cclxuXHRcdC8qIE1lbnUgcHJpbmNpcGFsIE4yICovXHJcblxyXG5cdFx0LyogTG91cGUgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGxvdXBlKCRjb2xvcjokY2ltX2RhcmtfZ3JheSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNSAyNVwiPjxwYXRoIGQ9XCJNMTYuMDIxLDE0LjQ1OEgxNS4ybC0uMjkyLS4yODFhNi43ODEsNi43ODEsMCwxLDAtLjcyOS43MjlsLjI4MS4yOTJ2LjgyM2w1LjIwOCw1LjIsMS41NTItMS41NTJabS02LjI1LDBhNC42ODgsNC42ODgsMCwxLDEsNC42ODctNC42ODdBNC42ODEsNC42ODEsMCwwLDEsOS43NzEsMTQuNDU4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjEyNSAwLjEyNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI1VjI1SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE1pY3JvICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBtaWNybygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yOTYgLTIuNDE3KVwiPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDIuNDE3KVwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTIuMDEsMTguNzc5QTUuNzcyLDUuNzcyLDAsMCwxLDExLDE4LjcxMXYzLjQxMmgydi0zLjRBNi4xNjQsNi4xNjQsMCwwLDEsMTIuMDEsMTguNzc5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjc5NClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTcuMzI0LDEyYTUuMTg4LDUuMTg4LDAsMCwxLTUuMjc2LDUuMWgtLjAyNGE1LjE5LDUuMTksMCwwLDEtNS4zLTUuMDc2VjEyaC0xLjdjMCwuMTMzLjAxOC4yNjQuMDI5LjRhNi45NjcsNi45NjcsMCwwLDAsNC40MTQsNS45MTFsLjA5MS4wMzRjLjEzMi4wNTEuMjY3LjEuNC4xMzguMS4wMzIuMjA3LjA2Mi4zMTMuMDg4LjA4NS4wMjIuMTcxLjA0Mi4yNTcuMDYxLjExOC4wMjUuMjM2LjA0Ny4zNTYuMDY2YTYuNTA3LDYuNTA3LDAsMCwwLDEuMTQ5LjA4M2guMDNhNi41LDYuNSwwLDAsMCwxLjA0OS0uMDc0Yy4xNzMtLjAyNi4zNDQtLjA1Ny41MTMtLjA5NWwuMDQyLS4wMTFjLjE4NC0uMDQzLjM2NC0uMDk0LjU0Mi0uMTUyLjAzNS0uMDExLjA3LS4wMjQuMS0uMDM2LjEzNy0uMDQ3LjI3LS4xLjQtLjE1My4xNTMtLjA2NS4zLS4xMzIuNDUyLS4yMDhsMCwwQTYuOTY0LDYuOTY0LDAsMCwwLDE5LDEyLjRjLjAxMS0uMTMyLjAyNS0uMjYzLjAyOC0uNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yOTYgMS45MTcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEyLDE1YTIuOTg3LDIuOTg3LDAsMCwwLDIuOTktMi45ODRWMTJMMTUsNkEzLDMsMCwxLDAsOSw2djZBMywzLDAsMCwwLDEyLDE1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjkxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTW9uIGNvbXB0ZSAqL1xyXG5cdFx0LyogQWNjw6hzIGF1IGZhdm9yaXMgKi9cclxuXHRcdC8qIEplIHZvdWRyYWlzICovXHJcblxyXG5cclxuXHQvKiBGb290ZXIgKi9cclxuXHRcdC8qIEdvIHRvIHRvcCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ29fdG9fdG9wKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjc0XCIgaGVpZ2h0PVwiNzRcIiB2aWV3Qm94PVwiMCAwIDc0IDc0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xODAwIC01MjM5KVwiPjxyZWN0IHdpZHRoPVwiNzRcIiBoZWlnaHQ9XCI3NFwiIHJ4PVwiMzdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTgwMCA1MjM5KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xNiwwSDBMNy45NzMsMTQuODY4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODQ0LjYyOSA1MjgyLjk2Nykgcm90YXRlKDE4MClcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE5ld3NsZXR0ZXIgKi9cclxuXHRcdC8qIENvbnRhY3QgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9hZHJlc3NlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjkuNSAtNTIwMClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUyMDApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc3LjUgNTIwNy45MzgpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTkuNjY3LDMuMzMzQTMuMzI1LDMuMzI1LDAsMCwxLDEzLDYuNzY3YzAsMS40NC0xLjE0NywzLjExMy0zLjMzMyw0Ljg4QzcuNDgsOS44OCw2LjMzMyw4LjIsNi4zMzMsNi43NjdBMy4zMjUsMy4zMjUsMCwwLDEsOS42NjcsMy4zMzNNOS42NjcsMkE0LjY0NSw0LjY0NSwwLDAsMCw1LDYuNzY3cTAsMy4xMiw0LjY2Nyw2LjU2Nyw0LjY3LTMuNDQsNC42NjctNi41NjdBNC42NDUsNC42NDUsMCwwLDAsOS42NjcsMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTkuNjY3LDdBMS4zMzMsMS4zMzMsMCwxLDAsMTEsOC4zMzMsMS4zMzcsMS4zMzcsMCwwLDAsOS42NjcsN1pNNSwxNS42NjdoOS4zMzNWMTdINVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0yLjMzMylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9jb250YWN0KCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjkuNSAtNTMzMS41MTQpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NjkuNSA1MzMxLjUxNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzcuNSA1MzQwKVwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNCwySDMuMzMzQTEuMzM3LDEuMzM3LDAsMCwwLDIsMy4zMzN2MTJsMi42NjctMi42NjdIMTRhMS4zMzcsMS4zMzcsMCwwLDAsMS4zMzMtMS4zMzN2LThBMS4zMzcsMS4zMzcsMCwwLDAsMTQsMlptMCw5LjMzM0g0LjExM2wtLjc4Ljc4VjMuMzMzSDE0Wk01LjMzMyw2LjY2N0g2LjY2N1Y4SDUuMzMzWm01LjMzMywwSDEyVjhIMTAuNjY3Wk04LDYuNjY3SDkuMzMzVjhIOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl90ZWwoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MjgxLjAxNClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUyODEuMDE0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3Ny41IDUyODkpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTUuMzYsNC4zMzNhOC4yMDgsOC4yMDgsMCwwLDAsLjMsMS43MjdsLS44LjhhOS44ODQsOS44ODQsMCwwLDEtLjUwNy0yLjUyN0g1LjM2bTYuNTczLDguMDEzYTguNSw4LjUsMCwwLDAsMS43MzMuM3YuOTkzYTEwLjI4NCwxMC4yODQsMCwwLDEtMi41MzMtLjVsLjgtLjc5M002LDNIMy42NjdBLjY2OS42NjksMCwwLDAsMywzLjY2NywxMS4zMzIsMTEuMzMyLDAsMCwwLDE0LjMzMywxNSwuNjY5LjY2OSwwLDAsMCwxNSwxNC4zMzNWMTIuMDA3YS42NjkuNjY5LDAsMCwwLS42NjctLjY2Nyw3LjYsNy42LDAsMCwxLTIuMzgtLjM4LjU2LjU2LDAsMCwwLS4yMDctLjAzMy42ODMuNjgzLDAsMCwwLS40NzMuMTkzTDkuODA3LDEyLjU4N0ExMC4xLDEwLjEsMCwwLDEsNS40MTMsOC4xOTNMNi44OCw2LjcyN2EuNjY5LjY2OSwwLDAsMCwuMTY3LS42OCw3LjU3NCw3LjU3NCwwLDAsMS0uMzgtMi4zOEEuNjY5LjY2OSwwLDAsMCw2LDNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xIC0xKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEZvb3RlciByZXNlYXV4IHNvY2lhdXggKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9mYWNlYm9vaygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTQwNi44ODUgLTI4Mi44ODUpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDA2Ljg4NSAyODIuODg1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk03LjQ3NiwxMC41OVY1Ljk1N0g5LjQ2MWwuMzMxLTEuOTg2SDcuNDc2VjIuOTc4YS44NzguODc4LDAsMCwxLC45OTMtLjk5M2guOTkzVjBINy44MDdDNi4xNTIsMCw1LjQ5Ljk5Myw1LjQ5LDIuNjQ3VjMuOTcxSDMuNVY1Ljk1N0g1LjQ5VjEwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDE2LjExOCAyOTMuNTkpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9pbnN0YWdyYW0oJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yNSAyLjI1KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMjUgLTIuMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNi44OTIgNi44OTMpXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIj48cGF0aCBkPVwiTTIuMzY3LjM2YTMuMzYzLDMuMzYzLDAsMCwwLTEuMjE1Ljc5MkEzLjM1MiwzLjM1MiwwLDAsMCwuMzYsMi4zNjQsNS4wMTQsNS4wMTQsMCwwLDAsLjA0Miw0LjAyOEMuMDA4LDQuNzU4LDAsNC45OTIsMCw2Ljg1NHMuMDA4LDIuMS4wNDIsMi44MjZBNS4wODYsNS4wODYsMCwwLDAsLjM2LDExLjM0NWEzLjM2MywzLjM2MywwLDAsMCwuNzkyLDEuMjE1LDMuMzYzLDMuMzYzLDAsMCwwLDEuMjE1Ljc5Miw1LjAxNCw1LjAxNCwwLDAsMCwxLjY2NC4zMThjLjczLjAzMy45NjQuMDQyLDIuODI2LjA0MnMyLjEtLjAwOCwyLjgyNi0uMDQyYTUuMDg2LDUuMDg2LDAsMCwwLDEuNjY0LS4zMTgsMy41MTIsMy41MTIsMCwwLDAsMi4wMDctMi4wMDcsNS4wMTQsNS4wMTQsMCwwLDAsLjMxOC0xLjY2NGMuMDMzLS43My4wNDItLjk2NC4wNDItMi44MjZzLS4wMDgtMi4xLS4wNDItMi44MjZhNS4wODYsNS4wODYsMCwwLDAtLjMxOC0xLjY2NCwzLjM4MSwzLjM4MSwwLDAsMC0uNzg5LTEuMjEzQTMuMzYyLDMuMzYyLDAsMCwwLDExLjM1MS4zNiw1LjAxNCw1LjAxNCwwLDAsMCw5LjY4Ni4wNDJDOC45NTYuMDA4LDguNzIyLDAsNi44Niwwcy0yLjEuMDA4LTIuODI2LjA0MkE1LjAzMiw1LjAzMiwwLDAsMCwyLjM2Ny4zNlptNy4yNjEuOTE0YTMuNzc3LDMuNzc3LDAsMCwxLDEuMjc0LjIzNywyLjEzNiwyLjEzNiwwLDAsMSwuNzg5LjUxMywyLjEzNiwyLjEzNiwwLDAsMSwuNTEzLjc4OSwzLjc3NywzLjc3NywwLDAsMSwuMjM3LDEuMjc0Yy4wMzMuNzIyLjAzOS45MzkuMDM5LDIuNzcxcy0uMDA4LDIuMDQ5LS4wMzksMi43NzFBMy43NzcsMy43NzcsMCwwLDEsMTIuMiwxMC45YTIuMjY5LDIuMjY5LDAsMCwxLTEuMywxLjMsMy43NzcsMy43NzcsMCwwLDEtMS4yNzQuMjM3Yy0uNzIyLjAzMy0uOTM5LjAzOS0yLjc3MS4wMzlzLTIuMDQ5LS4wMDgtMi43NzEtLjAzOUEzLjc3NywzLjc3NywwLDAsMSwyLjgxMywxMi4yYTIuMTM2LDIuMTM2LDAsMCwxLS43ODktLjUxMywyLjEzNiwyLjEzNiwwLDAsMS0uNTEzLS43ODksMy43NzcsMy43NzcsMCwwLDEtLjIzNy0xLjI3NGMtLjAzMy0uNzIyLS4wMzktLjkzOS0uMDM5LTIuNzcxcy4wMDgtMi4wNDkuMDM5LTIuNzcxYTMuNzc3LDMuNzc3LDAsMCwxLC4yMzctMS4yNzQsMi4xMzYsMi4xMzYsMCwwLDEsLjUxMy0uNzg5LDIuMTM2LDIuMTM2LDAsMCwxLC43ODktLjUxMywzLjc3NywzLjc3NywwLDAsMSwxLjI3NC0uMjM3Yy43MjItLjAzMy45MzktLjAzOSwyLjc3MS0uMDM5UzguOTA2LDEuMjQsOS42MjgsMS4yNzRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTExOS43LDEyMy4yMjFhMy41MjEsMy41MjEsMCwxLDAsMy41MjEtMy41MjFBMy41MjEsMy41MjEsMCwwLDAsMTE5LjcsMTIzLjIyMVptNS44MDYsMGEyLjI4NiwyLjI4NiwwLDEsMS0yLjI4Ni0yLjI4NkEyLjI4NiwyLjI4NiwwLDAsMSwxMjUuNTA2LDEyMy4yMjFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTYuMzYzIC0xMTYuMzYzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxjaXJjbGUgY3g9XCIwLjgyMlwiIGN5PVwiMC44MjJcIiByPVwiMC44MjJcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS42OTggMi4zNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2xpbmtlZGluKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjUgMi4yNSlcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yLjI1IC0yLjI1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xMi4wMzgsMEguOTZBLjk1Ljk1LDAsMCwwLDAsLjkzN1YxMi4wNjJBLjk1Ljk1LDAsMCwwLC45NiwxM0gxMi4wMzhBLjk1MS45NTEsMCwwLDAsMTMsMTIuMDYyVi45MzdBLjk1MS45NTEsMCwwLDAsMTIuMDM4LDBaTTMuODU1LDExLjA3N0gxLjkyNnYtNi4ySDMuODU1Wk0yLjg4OSw0LjAyNkExLjEyLDEuMTIsMCwxLDEsNC4wMDYsMi45MDcsMS4xMiwxLjEyLDAsMCwxLDIuODg5LDQuMDI2Wm04LjE4OCw3LjA1MUg5LjE1VjguMDYyYzAtLjcyMi0uMDE1LTEuNjQ3LTEtMS42NDdTNi45OTMsNy4yLDYuOTkzLDguMDA5djMuMDdINS4wNjR2LTYuMkg2LjkxNXYuODQ4SDYuOTRhMi4wMzEsMi4wMzEsMCwwLDEsMS44MjYtMWMxLjk1LDAsMi4zMTEsMS4yODQsMi4zMTEsMi45NTZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNzUgNy40MjIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl90d2l0dGVyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0yMC42OCw5LjY3aDIuMkwxOCwxNS4xOWw1LjY2LDcuNDhIMTkuMjZsLTMuNDgtNC41NS00LDQuNTVIOS41OWw1LjEzLTUuOUw5LjMsOS42N2g0LjU1TDE3LDEzLjgzWk0xOS45LDIxLjM4aDEuMjNMMTMuMjEsMTAuOTJIMTEuOVpcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmb290ZXJfeW91dHViZSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTQwNyAtMzQxKVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTQwNyAzNDEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEzLjU3MywyLjIyQTMuMywzLjMsMCwwLDAsMTMuMDI5Ljc2NywxLjg3NywxLjg3NywwLDAsMCwxMS42NTMuMTVDOS43MzcsMCw2Ljg1NywwLDYuODU3LDBoMHMtMi44ODQsMC00LjguMTVBMS44NzcsMS44NzcsMCwwLDAsLjY4MS43NjcsMy4zLDMuMywwLDAsMCwuMTM3LDIuMjIsMjMuNTQyLDIzLjU0MiwwLDAsMCwwLDQuNTg2VjUuN0EyMy41NDEsMjMuNTQxLDAsMCwwLC4xMzcsOC4wNjEsMy4zLDMuMywwLDAsMCwuNjgxLDkuNTE0YTIuMjQxLDIuMjQxLDAsMCwwLDEuNTEzLjYyNmMxLjEuMTExLDQuNjYzLjE0Niw0LjY2My4xNDZzMi44ODQsMCw0LjgtLjE1YTEuOSwxLjksMCwwLDAsMS4zNzEtLjYyMSwzLjMsMy4zLDAsMCwwLC41NDQtMS40NTNBMjMuNTQyLDIzLjU0MiwwLDAsMCwxMy43MTQsNS43VjQuNTg2YTIzLjU0MiwyMy41NDIsMCwwLDAtLjE0MS0yLjM2NlpNNS4xNDMsNy43MTRWMi41NzFMOS40MjksNS4xNDNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MTYuMTQzIDM1MS44NTcpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblxyXG5cdC8qIEZpbCBkJ2FyaWFuZSAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHNlcF9hcmlhbmUoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzLjVcIiBoZWlnaHQ9XCIzLjVcIiB2aWV3Qm94PVwiMCAwIDMuNSAzLjVcIj48Y2lyY2xlIGN4PVwiMS43NVwiIGN5PVwiMS43NVwiIHI9XCIxLjc1XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIFNoYXJlIC8gYmxvYyBub3RlIC8gbWFqICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2hhcmUoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwMzYxIC0yOTIyKVwiPjxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMTNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjEgMjkyMilcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2NiAyOTI3KVwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIgMS4zMzMpXCI+PHBhdGggZD1cIk0xMywxMS4zODdhMS45NDEsMS45NDEsMCwwLDAtMS4zMDcuNTEzTDYuOTQsOS4xMzNBMi4xODIsMi4xODIsMCwwLDAsNyw4LjY2NywyLjE4MiwyLjE4MiwwLDAsMCw2Ljk0LDguMmw0LjctMi43NEEyLDIsMCwxLDAsMTEsNGEyLjE4MiwyLjE4MiwwLDAsMCwuMDYuNDY3bC00LjcsMi43NGEyLDIsMCwxLDAsMCwyLjkyTDExLjEwNywxMi45YTEuODgxLDEuODgxLDAsMCwwLS4wNTMuNDMzQTEuOTQ3LDEuOTQ3LDAsMSwwLDEzLDExLjM4N1ptMC04LjA1M0EuNjY3LjY2NywwLDEsMSwxMi4zMzMsNCwuNjY5LjY2OSwwLDAsMSwxMywzLjMzM1ptLTgsNmEuNjY3LjY2NywwLDEsMSwuNjY3LS42NjdBLjY2OS42NjksMCwwLDEsNSw5LjMzM1ptOCw0LjY4YS42NjcuNjY3LDAsMSwxLC42NjctLjY2N0EuNjY5LjY2OSwwLDAsMSwxMywxNC4wMTNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zIC0yKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcHJpbnQoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwMzYxIC0yODg4KVwiPjxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMTNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjEgMjg4OClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2NiAyODkzKVwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEuMzMzIDIpXCI+PHBhdGggZD1cIk0xMy4zMzMsNi4zMzNoLS42NjdWM2gtOFY2LjMzM0g0YTIsMiwwLDAsMC0yLDJ2NEg0LjY2N1YxNWg4VjEyLjMzM2gyLjY2N3YtNEEyLDIsMCwwLDAsMTMuMzMzLDYuMzMzWk02LDQuMzMzaDUuMzMzdjJINlptNS4zMzMsOS4zMzNINlYxMWg1LjMzM1pNMTIuNjY3LDExVjkuNjY3aC04VjExSDMuMzMzVjguMzMzQS42NjkuNjY5LDAsMCwxLDQsNy42NjdoOS4zMzNBLjY2OS42NjksMCwwLDEsMTQsOC4zMzNWMTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yIC0zKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxjaXJjbGUgY3g9XCIwLjY2N1wiIGN5PVwiMC42NjdcIiByPVwiMC42NjdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAgNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIFJlc2VhdXggKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b19mYWNlYm9vaygkY29sb3I6JGNvbG9yX2ZhY2Vib29rKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjcuMTI1XCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDcuMTI1IDEyXCI+PHBhdGggZD1cIk04LDEyVjYuNzVoMi4yNUwxMC42Myw0LjVIOFYzLjM3NUExLDEsMCwwLDEsOS4xMywyLjI1aDEuMTI1VjBIOC4zOEM2LjUsMCw1Ljc1NSwxLjEyNSw1Ljc1NSwzVjQuNUgzLjVWNi43NWgyLjI1VjEyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy41MDUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9faW5zdGFncmFtKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIzNS42MlwiIGhlaWdodD1cIjM1LjYzXCIgdmlld0JveD1cIjAgMCAzNS42MiAzNS42M1wiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuMDk0XCIgeTE9XCIwLjA1OVwiIHgyPVwiMC45MDhcIiB5Mj1cIjAuOTQ5XCIgZ3JhZGllbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmJlMThhXCIvPjxzdG9wIG9mZnNldD1cIjAuMjFcIiBzdG9wLWNvbG9yPVwiI2ZjYmI0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjM4XCIgc3RvcC1jb2xvcj1cIiNmNzUyNzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MlwiIHN0b3AtY29sb3I9XCIjZDUzNjkyXCIvPjxzdG9wIG9mZnNldD1cIjAuNzRcIiBzdG9wLWNvbG9yPVwiIzhmMzljZVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjRmZTlcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD1cIk0xMC43LDM1LjYzQTEwLjcxMiwxMC43MTIsMCwwLDEsMCwyNC45M1YxMC43QTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywwSDI0LjkyYTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywxMC43VjI0LjkyYTEwLjcxMywxMC43MTMsMCwwLDEtMTAuNywxMC43di4wMVpNMy4zNSwxMC43VjI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUsNy4zNUgyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LTcuMzVWMTAuN2E3LjM2Miw3LjM2MiwwLDAsMC03LjM1LTcuMzVIMTAuN0E3LjM2Miw3LjM2MiwwLDAsMCwzLjM1LDEwLjdabTUuODQsNy4xMWE4Ljc3LDguNzcsMCwxLDEsOC43Nyw4Ljc3QTguNzgxLDguNzgxLDAsMCwxLDkuMTksMTcuODFabTMuMTUsMGE1LjYyLDUuNjIsMCwxLDAsNS42Mi01LjYyMUE1LjYyNSw1LjYyNSwwLDAsMCwxMi4zNCwxNy44MVpNMjUuMTUsOC40NWEyLjA5LDIuMDksMCwxLDEsMi4wOTEsMi4wOUEyLjEsMi4xLDAsMCwxLDI1LjE1LDguNDVaXCIgZmlsbD1cInVybCgjYSlcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIHBpY3RvX2luc3RhZ3JhbV93aGl0ZSgpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHdpZHRoPVwiMzUuNjJcIiBoZWlnaHQ9XCIzNS42M1wiIHZpZXdCb3g9XCIwIDAgMzUuNjIgMzUuNjNcIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIwLjA5NFwiIHkxPVwiMC4wNTlcIiB4Mj1cIjAuOTA4XCIgeTI9XCIwLjk0OVwiIGdyYWRpZW50VW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZiZTE4YVwiLz48c3RvcCBvZmZzZXQ9XCIwLjIxXCIgc3RvcC1jb2xvcj1cIiNmY2JiNDVcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zOFwiIHN0b3AtY29sb3I9XCIjZjc1Mjc0XCIvPjxzdG9wIG9mZnNldD1cIjAuNTJcIiBzdG9wLWNvbG9yPVwiI2Q1MzY5MlwiLz48c3RvcCBvZmZzZXQ9XCIwLjc0XCIgc3RvcC1jb2xvcj1cIiM4ZjM5Y2VcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjNWI0ZmU5XCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9XCJNMTAuNywzNS42M0ExMC43MTIsMTAuNzEyLDAsMCwxLDAsMjQuOTNWMTAuN0ExMC43MTIsMTAuNzEyLDAsMCwxLDEwLjcsMEgyNC45MmExMC43MTIsMTAuNzEyLDAsMCwxLDEwLjcsMTAuN1YyNC45MmExMC43MTMsMTAuNzEzLDAsMCwxLTEwLjcsMTAuN3YuMDFaTTMuMzUsMTAuN1YyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LDcuMzVIMjQuOTJhNy4zNjIsNy4zNjIsMCwwLDAsNy4zNS03LjM1VjEwLjdhNy4zNjIsNy4zNjIsMCwwLDAtNy4zNS03LjM1SDEwLjdBNy4zNjIsNy4zNjIsMCwwLDAsMy4zNSwxMC43Wm01Ljg0LDcuMTFhOC43Nyw4Ljc3LDAsMSwxLDguNzcsOC43N0E4Ljc4MSw4Ljc4MSwwLDAsMSw5LjE5LDE3LjgxWm0zLjE1LDBhNS42Miw1LjYyLDAsMSwwLDUuNjItNS42MjFBNS42MjUsNS42MjUsMCwwLDAsMTIuMzQsMTcuODFaTTI1LjE1LDguNDVhMi4wOSwyLjA5LDAsMSwxLDIuMDkxLDIuMDlBMi4xLDIuMSwwLDAsMSwyNS4xNSw4LjQ1WlwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b190d2l0dGVyKCRjb2xvcjokY29sb3JfdHdpdHRlcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIyNzBcIiB2aWV3Qm94PVwiMCAwIDMwMCAyNzFcIj48cGF0aCBkPVwibTIzNiAwaDQ2bC0xMDEgMTE1IDExOCAxNTZoLTkyLjZsLTcyLjUtOTQuOC04MyA5NC44aC00NmwxMDctMTIzLTExMy0xNDhoOTQuOWw2NS41IDg2LjZ6bS0xNi4xIDI0NGgyNS41bC0xNjUtMjE4aC0yNy40elwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyl9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9fdmltZW8oJGNvbG9yOiRjb2xvcl92aW1lbykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEwLjUwM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTAuNTAzXCI+PHBhdGggZD1cIk0xMS45NDksMy45NDdhMS43NzIsMS43NzIsMCwwLDAtLjIyMi0xLjQzMUEyLjE2NiwyLjE2NiwwLDAsMCw5Ljc0LDIuMDM4LDQuMTg1LDQuMTg1LDAsMCwwLDYuOSw0Ljc1OGMxLjA0Ny0uMDgxLDEuNi4wNzcsMS41LDEuMjQ3YTQuMzU1LDQuMzU1LDAsMCwxLS41NTgsMS41NDFjLS4zMTQuNTkzLS45LDEuNzU3LTEuNjc2LjkxOC0uNy0uNzU1LS42NDQtMi4yLS44LTMuMTYxQTEzLjM2MSwxMy4zNjEsMCwwLDAsNSwzLjUzNGExLjgsMS44LDAsMCwwLS45MTUtMS4xNzgsMS44NDksMS44NDksMCwwLDAtMS4zNC4yNzJBMjQuMzQ1LDI0LjM0NSwwLDAsMCwwLDQuODcxVjQuOTRjLjE4LjE3NC4yMjcuNDU5LjQ5Mi41LjYyMi4wOTMsMS4yMTUtLjU4OCwxLjYzLjEyYTcuNDU4LDcuNDU4LDAsMCwxLC40OTEsMS4zNzZjLjIxNS42MjIuMzgyLDEuMy41NTgsMi4wMTYuMywxLjIxMi42NjQsMy4wMjMsMS43LDMuNDY3QTIuMiwyLjIsMCwwLDAsNi41ODYsMTIuMSw5LjY1Niw5LjY1NiwwLDAsMCw5LjI0Miw5LjUzOSwxNy40OTMsMTcuNDkzLDAsMCwwLDExLjk0OSwzLjk0N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAtMS45OTMpXCIgZmlsbD1cIiN7JGNvbG9yfVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX3lvdXR1YmUoJGNvbG9yOiRjb2xvcl95b3V0dWJlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTAuNVwiIHZpZXdCb3g9XCIwIDAgMTQgMTAuNVwiPjxwYXRoIGQ9XCJNMTMuODU2LDIuMjY2QTMuMzY0LDMuMzY0LDAsMCwwLDEzLjMuNzgzYTEuOTE2LDEuOTE2LDAsMCwwLTEuNC0uNjNDOS45NCwwLDcsMCw3LDBIN1M0LjA1NiwwLDIuMS4xNTNBMS45MTYsMS45MTYsMCwwLDAsLjcuNzgzLDMuMzY0LDMuMzY0LDAsMCwwLC4xNCwyLjI2NiwyNC4wMzMsMjQuMDMzLDAsMCwwLDAsNC42ODFWNS44MTRBMjQuMDMyLDI0LjAzMiwwLDAsMCwuMTQsOC4yMjksMy4zNjQsMy4zNjQsMCwwLDAsLjcsOS43MTNhMi4yODgsMi4yODgsMCwwLDAsMS41NDQuNjM5QzMuMzYsMTAuNDY1LDcsMTAuNSw3LDEwLjVzMi45NDQsMCw0LjktLjE1M2ExLjk0MywxLjk0MywwLDAsMCwxLjQtLjYzNCwzLjM2NCwzLjM2NCwwLDAsMCwuNTU2LTEuNDgzQTI0LjAzMiwyNC4wMzIsMCwwLDAsMTQsNS44MTRWNC42ODFhMjQuMDMzLDI0LjAzMywwLDAsMC0uMTQ0LTIuNDE1Wk01LjI1LDcuODc1VjIuNjI1TDkuNjI1LDUuMjVaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGljdG9fbGlua2VkaW4oJGNvbG9yOiRjb2xvcl9saW5rZWRpbikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiPjxwYXRoIGQ9XCJNMTEuMTEyLDBILjg4NkEuODc3Ljg3NywwLDAsMCwwLC44NjV2MTAuMjdBLjg3Ny44NzcsMCwwLDAsLjg4NiwxMkgxMS4xMTJBLjg3OC44NzgsMCwwLDAsMTIsMTEuMTM0Vi44NjVBLjg3OC44NzgsMCwwLDAsMTEuMTEyLDBaTTMuNTU4LDEwLjIyNUgxLjc3OFY0LjVoMS43OFpNMi42NjcsMy43MTZBMS4wMzMsMS4wMzMsMCwxLDEsMy43LDIuNjg0LDEuMDMzLDEuMDMzLDAsMCwxLDIuNjY3LDMuNzE2Wm03LjU1OCw2LjUwOEg4LjQ0NlY3LjQ0MWMwLS42NjctLjAxMy0xLjUyLS45MjUtMS41MnMtMS4wNjYuNzI1LTEuMDY2LDEuNDcxdjIuODMzSDQuNjc1VjQuNUg2LjM4M3YuNzgzaC4wMjNhMS44NzUsMS44NzUsMCwwLDEsMS42ODUtLjkyNWMxLjgsMCwyLjEzMywxLjE4NSwyLjEzMywyLjcyOFpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQWxlcnRlICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYWxlcnRlX2JnKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IsICRjb2xvcjI6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPjxkZWZzPjxjbGlwUGF0aCBpZD1cImFcIj48cGF0aCBkPVwiTS03LjUsMTUuNWgyMnYtMjJoLTIyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3LjUgNi41KVwiIGZpbGw9XCIjeyRjb2xvcjJ9XCIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTc5IC0xODcuMjYpXCI+PGNpcmNsZSBjeD1cIjI1XCIgY3k9XCIyNVwiIHI9XCIyNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzkgMTg3LjI2KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU5MyAyMDEuMjYpXCI+PGcgY2xpcC1wYXRoPVwidXJsKCNhKVwiPjxwYXRoIGQ9XCJNMCwwVjcuODE2QTYuNjM2LDYuNjM2LDAsMCwwLDMuNjY3LDEzLjc1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYuODc1IDUuOTU4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3IyfVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCIgc3Ryb2tlLWxpbmVqb2luPVwiYmV2ZWxcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48L2c+PHBhdGggZD1cIk0tLjE2Ny0uMjA4QTEuMzc2LDEuMzc2LDAsMCwxLTEuNTQyLDEuMTY3SC0yVi0yLjVoLjQ1OEExLjM3NiwxLjM3NiwwLDAsMS0uMTY3LTEuMTI1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyMS43MDggMTAuMjkyKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3IyfVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCIgc3Ryb2tlLWxpbmVqb2luPVwiYmV2ZWxcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48cGF0aCBkPVwiTS0uMzMzLS4zMzNILTEuMjVBMi43NSwyLjc1LDAsMCwwLTQsMi40MTdWNC4yNUEyLjc1MSwyLjc1MSwwLDAsMC0xLjI1LDdoLjkxN0M3Ljg1MSw3LDExLjIwOCw4LjgyOSwxNS4yNSwxMC42NjdWLTRDMTEuMjE3LTIuMTY3LDcuODU0LS4zMzMtLjMzMy0uMzMzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjQ1OCA2LjI5MilcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yMn1cIiBzdHJva2UtbGluZWNhcD1cInNxdWFyZVwiIHN0cm9rZS1saW5lam9pbj1cImJldmVsXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBIT01FIFBBR0UgKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBWaWTDqW8gcGxheS9wYXVzZSAqL1xyXG5cdFx0QG1peGluIHBsYXkoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBpZD1cIlRyYWPDqV8xODA5N1wiIGRhdGEtbmFtZT1cIlRyYWPDqSAxODA5N1wiIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJUcmFjw6lfMTgwOThcIiBkYXRhLW5hbWU9XCJUcmFjw6kgMTgwOThcIiBkPVwiTTgsNVYxOWwxMS03WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIHBhdXNlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCI+PHBhdGggaWQ9XCJUcmFjw6lfMTc5NTlcIiBkYXRhLW5hbWU9XCJUcmFjw6kgMTc5NTlcIiBkPVwiTTAsMEgyMlYyMkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGlkPVwiVHJhY8OpXzE3OTYwXCIgZGF0YS1uYW1lPVwiVHJhY8OpIDE3OTYwXCIgZD1cIk02LDE3LjgzM0g5LjY2N1Y1SDZaTTEzLjMzMyw1VjE3LjgzM0gxN1Y1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41IC0wLjQxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogSmUgdm91ZHJhaXMgKi9cclxuXHJcblx0LyogVGl0bGUgKi9cclxuXHJcblx0LyogVHJpYW5nbGUgZ3JpcyBlbiBiYWNrZ3JvdW5kICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYmdfdHJpYW5nbGUoJGNvbG9yOiRjaW1fc2Vjb25kYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjExMDUuNzNcIiBoZWlnaHQ9XCIxMDI3LjUzXCIgdmlld0JveD1cIjAgMCAxMTA1LjczIDEwMjcuNTNcIj48dGl0bGU+YmFja2dyb3VuZF90cmlhbmdsZV9yb3RhdGU8L3RpdGxlPjxwYXRoIGQ9XCJNMCwxMDI3LjUzSDExMDUuNzNMNTU0Ljc0LDBaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYmdfdHJpYW5nbGVfYWN0dSgkY29sb3IxOiRjaW1fc2Vjb25kYXJ5X2NvbG9yLCAkY29sb3IyOiRjaW1fdGhpcmRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43MzRcIiBoZWlnaHQ9XCIxMDI3LjUzMVwiIHZpZXdCb3g9XCIwIDAgMTEwNS43MzQgMTAyNy41MzFcIj48cGF0aCBkPVwiTTExMzMuNyw5LjA4NUgyNy45N0w1NzguOTU1LDEwMzYuNjE3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjcuOTcgLTkuMDg1KVwiIGZpbGw9XCIjeyRjb2xvcjF9XCIvPjwvc3ZnPicpLCBzdmctdXJsKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjExMDUuNzNcIiBoZWlnaHQ9XCIxMDI3LjUzXCIgdmlld0JveD1cIjAgMCAxMTA1LjczIDEwMjcuNTNcIj48dGl0bGU+YmFja2dyb3VuZF90cmlhbmdsZV9yb3RhdGU8L3RpdGxlPjxwYXRoIGQ9XCJNMCwxMDI3LjUzSDExMDUuNzNMNTU0Ljc0LDBaXCIgZmlsbD1cIiN7JGNvbG9yMn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBDYXJ0ZSBpbnRlcmFjdGl2ZSAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGhvbWVfY2FydGVfaW50ZXJhY3RpdmVfc2VsZWN0KCRjb2xvcjokY2ltX2JsYWNrKSB7IEBpbmNsdWRlIGplX3ZvdWRyYWlzX3NlbGVjdCgjeyRjb2xvcn0pO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBob21lX2NhcnRlX2ludGVyYWN0aXZlKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCI1MFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4yMDggMC4yMDgpXCI+PGxpbmUgeTI9XCIzMy4zOTFcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTUuNCAxMS4yMjcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC43OTIgMC43OTIpXCI+PGxpbmUgeTE9XCIyMC44N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyOS4yMTcgMC4wMDEpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48cGF0aCBkPVwiTTI3LjYzLDM1LjM4MSwxNS4xMDksNDQuMzI2LjUsMzMuODkxVi41TDE1LjEwOSwxMC45MzUsMjkuNzE3LjUsNDQuMzI2LDEwLjkzNVYyMS4zN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41IC0wLjUpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48cGF0aCBkPVwiTTMyLjIsMjAuODQ4YzAsNC42MS04LjM0OCwxNC42MDktOC4zNDgsMTQuNjA5cy04LjM0OC0xMC04LjM0OC0xNC42MDlhOC4zNDgsOC4zNDgsMCwwLDEsMTYuNywwWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNS44MDQgMTIuNTQzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlPVwiI3skY2ltX3doaXRlfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PGNpcmNsZSBjeD1cIjMuMTNcIiBjeT1cIjMuMTNcIiByPVwiMy4xM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzNi41MjEgMzAuMjYxKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIFRZUEUgKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBMaXN0ZSBhIHB1Y2VzICAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHB1Y2VfbGlzdGUoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCI+PGNpcmNsZSBjeD1cIjNcIiBjeT1cIjNcIiByPVwiM1wiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBDaXRhdGlvbiAgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBxdW90ZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI2OFwiIGhlaWdodD1cIjUwLjM5NFwiIHZpZXdCb3g9XCIwIDAgNjggNTAuMzk0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMCAzNzQuMTQ4KVwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAtMzc0LjE0OClcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNNDcuNjEsNTBhMTQuNjYyLDE0LjY2MiwwLDAsMS02Ljk2NS00LjAzMiwxMy45MzEsMTMuOTMxLDAsMCwxLTIuODY0LTQuMTg3Yy0zLjEtNi41OTItMi42MS0xNi43NDQsMS4xODYtMjQuNjA3QzQyLjg0Nyw5LjEyOSw1MC40OTEsMy4xMTQsNjAuMzIuNCw2My0uMzQ0LDYzLjkxMS0uMDczLDY0LjU0MSwxLjU4N2MuNjI3LDEuNjc4LjM3MywyLjQwNi0xLjA4NCwyLjk0OGE2Ljg3Miw2Ljg3MiwwLDAsMS0xLjEuMzU2LDQzLjU3MSw0My41NzEsMCwwLDAtNS40MjEsMi4yQTIzLjIxNiwyMy4yMTYsMCwwLDAsNDQuNjQ1LDIyLjVjLS40ODksMS45MzEtLjcyOSwzLjc0Ni0uNDg5LDMuNzQ2QTUuMzEzLDUuMzEzLDAsMCwwLDQ1LjIsMjUuMjI3YzIuMjcyLTIuNTc1LDUuMzktMy44LDkuNy0zLjc3OCw0LjA0OS4wMTcsNi43NzgsMS4wNjksOS4zMzcsMy41OTJhOS4xMzcsOS4xMzcsMCwwLDEsMi4yNTEsMy4wN0ExMy4wNjUsMTMuMDY1LDAsMCwxLDY4LDM1LjE0M2ExNy40MTksMTcuNDE5LDAsMCwxLS4yNzMsMy45NjVDNjYuMzg3LDQ0Ljg4Nyw2Mi40OSw0OC43LDU2LjUwNyw1MC4wNzNhMTcuNzg1LDE3Ljc4NSwwLDAsMS00LjQwNS4zMjFBMTQuMDgxLDE0LjA4MSwwLDAsMSw0Ny42MSw1MFptLTM4LjQtLjk0N0MyLjQ2NCw0NS45MzktLjgyMiwzOC4zMy4xNzYsMjguMTc4LDEuMywxNi43MzgsNy42NTEsNy43NzUsMTguMTI0LDIuNzlBNTkuMTYxLDU5LjE2MSwwLDAsMSwyNS4yNC4xODMsMy42NzgsMy42NzgsMCwwLDEsMjcuOC4yNjdhMy4yNzIsMy4yNzIsMCwwLDEsMS4xNjcsMy4yNjljLS4yNy42NDYtLjMuNjYxLTIuODYzLDEuNTI2YTI5Ljg2OSwyOS44NjksMCwwLDAtOS40MzgsNC45ODJBMjMuNDI1LDIzLjQyNSwwLDAsMCw4LjY1LDIzLjQxNWMtLjMzOCwxLjU1OS0uNDU3LDIuODMxLS4yNzEsMi44MzFhMTUuNjg3LDE1LjY4NywwLDAsMCwxLjQwNi0xLjMyMmMyLjQ0Mi0yLjQ1OSw1LjIzOS0zLjQ5MSw5LjM1NS0zLjQ3Niw0LjA2Ni4wMTcsNi44LDEuMDY5LDkuMzM3LDMuNTkyYTkuMiw5LjIsMCwwLDEsMi4yNTUsMy4wNywxNC45MSwxNC45MSwwLDAsMSwxLjU3Niw2LjEzMmMuNDU3LDcuODMxLTMuNjYxLDEzLjc0NS0xMC45LDE1LjY3OGExNS4wNjcsMTUuMDY3LDAsMCwxLTQuOS40NTdoLS4zMDVDMTIuODMxLDUwLjM3OSwxMS41NjMsNTAuMTI2LDkuMjA5LDQ5LjA1NlpcIiBzdHJva2U9XCJub25lXCIvPjxwYXRoIGQ9XCJNIDUyLjEwMTQzNjYxNDk5MDIzIDQ5LjM5MzUzOTQyODcxMDk0IEMgNTQuNDI1ODg4MDYxNTIzNDQgNDkuMzkzNTM5NDI4NzEwOTQgNTUuMzIyMjQ2NTUxNTEzNjcgNDkuMzMwNjE5ODEyMDExNzIgNTYuMjcxNDY1MzAxNTEzNjcgNDkuMTAwODI2MjYzNDI3NzMgTCA1Ni4yODMyMzc0NTcyNzUzOSA0OS4wOTgwNDkxNjM4MTgzNiBDIDYxLjg4MDA2MjEwMzI3MTQ4IDQ3LjgxNDU1OTkzNjUyMzQ0IDY1LjQ5OTM1MTUwMTQ2NDg0IDQ0LjI4MzQzNTgyMTUzMzIgNjYuNzUwMDUzNDA1NzYxNzIgMzguODg2NDg2MDUzNDY2OCBDIDY2Ljk0MjQ2NjczNTgzOTg0IDM4LjAxODUxNjU0MDUyNzM0IDY3LjAxMjA5MjU5MDMzMjAzIDM2Ljk3MDI3OTY5MzYwMzUyIDY2Ljk5ODM0NDQyMTM4NjcyIDM1LjE1MDYxOTUwNjgzNTk0IEwgNjYuOTk4MzEzOTAzODA4NTkgMzUuMTQzMDU4Nzc2ODU1NDcgQyA2Ni45OTgzMTM5MDM4MDg1OSAzMi4xMDIwODg5MjgyMjI2NiA2Ni43NDc4NzkwMjgzMjAzMSAzMC45MzExMTgwMTE0NzQ2MSA2NS41ODczMzM2NzkxOTkyMiAyOC41NDc0NDcyMDQ1ODk4NCBDIDY0Ljk4Nzk2MDgxNTQyOTY5IDI3LjMxMjE0NTIzMzE1NDMgNjQuNjk5MzEwMzAyNzM0MzggMjYuOTE5MjY3NjU0NDE4OTUgNjMuNTMxMzcyMDcwMzEyNSAyNS43NTA2NDQ2ODM4Mzc4OSBDIDYxLjE2ODExNzUyMzE5MzM2IDIzLjQyMTQ0MzkzOTIwODk4IDU4LjY2NTY4NzU2MTAzNTE2IDIyLjQ2NDc5NDE1ODkzNTU1IDU0Ljg5NTA2NTMwNzYxNzE5IDIyLjQ0ODgyNzc0MzUzMDI3IEwgNTQuODA5ODQ4Nzg1NDAwMzkgMjIuNDQ4NjU3OTg5NTAxOTUgQyA1MC44Mzc5MTczMjc4ODA4NiAyMi40NDg2NTc5ODk1MDE5NSA0OC4wMjM4MDc1MjU2MzQ3NyAyMy41NDE3MDc5OTI1NTM3MSA0NS45NTU3MTUxNzk0NDMzNiAyNS44ODYyMDc1ODA1NjY0MSBDIDQ0Ljg0Mzg3NTg4NTAwOTc3IDI3LjE1NDY0NzgyNzE0ODQ0IDQ0LjUzMzc1NjI1NjEwMzUyIDI3LjI0NjE3NzY3MzMzOTg0IDQ0LjE1NTEzNjEwODM5ODQ0IDI3LjI0NjE3NzY3MzMzOTg0IEMgNDMuODI5NjQ3MDY0MjA4OTggMjcuMjQ2MTc3NjczMzM5ODQgNDMuNTI3MDk1Nzk0Njc3NzMgMjcuMDk3Mjc4NTk0OTcwNyA0My4zMjUwNzcwNTY4ODQ3NyAyNi44Mzc2Njc0NjUyMDk5NiBDIDQzLjAzMjg5Nzk0OTIxODc1IDI2LjQ2MjE4ODcyMDcwMzEyIDQyLjk5MTYyNjczOTUwMTk1IDI1Ljk3MTQ5ODQ4OTM3OTg4IDQzLjE1NTIzNTI5MDUyNzM0IDI0LjgxODI1ODI4NTUyMjQ2IEMgNDMuMjYxNTU4NTMyNzE0ODQgMjQuMDY4ODY4NjM3MDg0OTYgNDMuNDQ2MjM1NjU2NzM4MjggMjMuMTU4NTI3Mzc0MjY3NTggNDMuNjc1MzY1NDQ3OTk4MDUgMjIuMjU0NTY4MDk5OTc1NTkgQyA0NS40OTU5Njc4NjQ5OTAyMyAxNS4wODMyMjgxMTEyNjcwOSA0OS44MDA2MzYyOTE1MDM5MSA5LjY4NDc1ODE4NjM0MDMzMiA1Ni40NzAzNzg4NzU3MzI0MiA2LjIwODgyNzk3MjQxMjEwOSBDIDU3LjE4MjAxODI4MDAyOTMgNS44Mzg1MjgxNTYyODA1MTggNTguNTU1MzI4MzY5MTQwNjIgNS4yNTE1NDgyOTAyNTI2ODYgNTkuNjAzMjM3MTUyMDk5NjEgNC44MjU2OTgzNzU3MDE5MDQgQyA2MS41MDk3MDg0MDQ1NDEwMiA0LjA1MDk0MjQyMDk1OTQ3MyA2Mi4wMTQzNzc1OTM5OTQxNCAzLjkxODQ0MTI5NTYyMzc3OSA2Mi4yMzkzMzc5MjExNDI1OCAzLjg5NTc4MTI3ODYxMDIyOSBDIDYyLjM2MjQzNDM4NzIwNzAzIDMuODYzMzIyMDE5NTc3MDI2IDYyLjY5MzEzNDMwNzg2MTMzIDMuNzU4NTA2Nzc0OTAyMzQ0IDYzLjA5NjcyNTQ2Mzg2NzE5IDMuNjAyNjU4MDMzMzcwOTcyIEwgNjMuMTA4MjU3MjkzNzAxMTcgMy41OTgyODgwNTkyMzQ2MTkgQyA2My42ODAyMjUzNzIzMTQ0NSAzLjM4NTQ3ODI1ODEzMjkzNSA2My44MDY0ODgwMzcxMDkzOCAzLjIyMTMzODAzMzY3NjE0NyA2My44MzQyMTcwNzE1MzMyIDMuMTYwNjM4MDkzOTQ4MzY0IEMgNjMuODcxNzA3OTE2MjU5NzcgMy4wNzg1ODMyNDA1MDkwMzMgNjMuOTI0MzYyMTgyNjE3MTkgMi43OTUzNTEyNjY4NjA5NjIgNjMuNjA0NjI1NzAxOTA0MyAxLjkzODcxMjgzNTMxMTg5IEMgNjMuMjg0NTIzMDEwMjUzOTEgMS4wOTYxMzQzMDUwMDAzMDUgNjMuMDI4NjU2MDA1ODU5MzggMS4wMDgwMzgxNjMxODUxMiA2Mi41MjE4OTYzNjIzMDQ2OSAxLjAwODAzODE2MzE4NTEyIEMgNjIuMDgyODg1NzQyMTg3NSAxLjAwODAzODE2MzE4NTEyIDYxLjQ1MDM2Njk3Mzg3Njk1IDEuMTI0ODA4MTkyMjUzMTEzIDYwLjU4NTc1ODIwOTIyODUyIDEuMzY1Njg4MjA0NzY1MzIgQyA1NS44MjUzMTczODI4MTI1IDIuNjc5MTI4MTcwMDEzNDI4IDUxLjYwMTExNjE4MDQxOTkyIDQuNzY4MTY3OTcyNTY0Njk3IDQ4LjAzMDUxNzU3ODEyNSA3LjU3NDc3ODA3OTk4NjU3MiBDIDQ0LjQ3OTQ0NjQxMTEzMjgxIDEwLjM2NjAzODMyMjQ0ODczIDQxLjczMzA1ODkyOTQ0MzM2IDEzLjc0MzExODI4NjEzMjgxIDM5Ljg2NzQwODc1MjQ0MTQxIDE3LjYxMjY4ODA2NDU3NTIgQyAzOC4wODg1NjU4MjY0MTYwMiAyMS4yOTczMzg0ODU3MTc3NyAzNi45OTQ1OTgzODg2NzE4OCAyNS42OTg3Mjg1NjE0MDEzNyAzNi43ODcwMTc4MjIyNjU2MiAzMC4wMDYwNTc3MzkyNTc4MSBDIDM2LjU4MDgyNTgwNTY2NDA2IDM0LjI4NDM4OTQ5NTg0OTYxIDM3LjI1NTI3NTcyNjMxODM2IDM4LjMxNjM1NjY1ODkzNTU1IDM4LjY4NTkwNTQ1NjU0Mjk3IDQxLjM1ODc5ODk4MDcxMjg5IEMgMzkuNDcwMDgxMzI5MzQ1NyA0My4wMjQyNzY3MzMzOTg0NCA0MC4wNzIyNjk0Mzk2OTcyNyA0My45MDQ5MTg2NzA2NTQzIDQxLjM2ODg4ODg1NDk4MDQ3IDQ1LjI4MTQyNTQ3NjA3NDIyIEMgNDMuMTQwMDA3MDE5MDQyOTcgNDcuMTE1MDI4MzgxMzQ3NjYgNDUuMjY1OTg3Mzk2MjQwMjMgNDguMzQzNTQwMTkxNjUwMzkgNDcuODcyNDg2MTE0NTAxOTUgNDkuMDM4MDc4MzA4MTA1NDcgQyA0OS4wMjI0MDc1MzE3MzgyOCA0OS4zNTAzNDk0MjYyNjk1MyA0OS41MzYxOTc2NjIzNTM1MiA0OS4zOTM1Mzk0Mjg3MTA5NCA1Mi4xMDE0MzY2MTQ5OTAyMyA0OS4zOTM1Mzk0Mjg3MTA5NCBNIDE2LjIwNzYwNzI2OTI4NzExIDQ5LjM3OTA3NzkxMTM3Njk1IEMgMTYuMzA1NTE3MTk2NjU1MjcgNDkuMzc5MDc3OTExMzc2OTUgMTYuNDA1NTM2NjUxNjExMzMgNDkuMzc5MDc3OTExMzc2OTUgMTYuNTA2OTg2NjE4MDQxOTkgNDkuMzc4NTU5MTEyNTQ4ODMgQyAxOS4zOTYxOTYzNjUzNTY0NSA0OS4zNjE1Nzk4OTUwMTk1MyAxOS43NDM1MjY0NTg3NDAyMyA0OS4zMjk4OTg4MzQyMjg1MiAyMS4xNTE2MzYxMjM2NTcyMyA0OC45NTUwODk1NjkwOTE4IEMgMjcuOTQxNTI2NDEyOTYzODcgNDcuMTQwNTM3MjYxOTYyODkgMzEuNzM4NTI3Mjk3OTczNjMgNDEuNjYyNDE4MzY1NDc4NTIgMzEuMzA4NTQ3OTczNjMyODEgMzQuMjk5OTY4NzE5NDgyNDIgQyAzMS4xODIxMTc0NjIxNTgyIDMyLjA5MTM5NjMzMTc4NzExIDMwLjc1NDg3NzA5MDQ1NDEgMzAuNDI2MDg4MzMzMTI5ODggMjkuODMyMjM3MjQzNjUyMzQgMjguNTQ4NTk3MzM1ODE1NDMgQyAyOS4yMzMxMjc1OTM5OTQxNCAyNy4zMTc4Mzg2Njg4MjMyNCAyOC45NDM4NDc2NTYyNSAyNi45MjUwNzc0MzgzNTQ0OSAyNy43NzIxMTc2MTQ3NDYwOSAyNS43NTAyNTc0OTIwNjU0MyBDIDI1LjQyNjg0NzQ1Nzg4NTc0IDIzLjQyMTI4NzUzNjYyMTA5IDIyLjkyNDc5NzA1ODEwNTQ3IDIyLjQ2NDc5Nzk3MzYzMjgxIDE5LjEzNjQ5NzQ5NzU1ODU5IDIyLjQ0ODgyNzc0MzUzMDI3IEwgMTkuMDUyMTI3ODM4MTM0NzcgMjIuNDQ4Njc4OTcwMzM2OTEgQyAxNy4xMTkxNTc3OTExMzc3IDIyLjQ0ODY3ODk3MDMzNjkxIDE1LjUxNjc2NjU0ODE1Njc0IDIyLjY5Njk0OTAwNTEyNjk1IDE0LjE1MzM3NjU3OTI4NDY3IDIzLjIwNzY2ODMwNDQ0MzM2IEMgMTIuODEwMzQ2NjAzMzkzNTUgMjMuNzEwNzY3NzQ1OTcxNjggMTEuNjEzNjY3NDg4MDk4MTQgMjQuNTAyODQ3NjcxNTA4NzkgMTAuNDkyMjk3MTcyNTQ2MzkgMjUuNjMxODI4MzA4MTA1NDcgQyA4LjkzNjU5Njg3MDQyMjM2MyAyNy4xODYzOTc1NTI0OTAyMyA4LjgyMDQwNjkxMzc1NzMyNCAyNy4yNDYxNzc2NzMzMzk4NCA4LjM3OTEyNjU0ODc2NzA5IDI3LjI0NjE3NzY3MzMzOTg0IEMgOC4wNjI1MTcxNjYxMzc2OTUgMjcuMjQ2MTc3NjczMzM5ODQgNy43NjU4NDcyMDYxMTU3MjMgMjcuMTAzNDI3ODg2OTYyODkgNy41NjUxOTY5OTA5NjY3OTcgMjYuODU0NTM3OTYzODY3MTkgQyA3LjM2MzI5Njk4NTYyNjIyMSAyNi42MDQxMDg4MTA0MjQ4IDcuMDI1Mzg2ODEwMzAyNzM0IDI2LjE4NDk1NzUwNDI3MjQ2IDcuNjcyNzU3MTQ4NzQyNjc2IDIzLjIwMzE1NzQyNDkyNjc2IEMgOC44OTUwNTY3MjQ1NDgzNCAxNy41NTg1ODgwMjc5NTQxIDExLjg2NzI1NzExODIyNTEgMTIuNjA4MDk4MDMwMDkwMzMgMTYuMDQyNjc2OTI1NjU5MTggOS4yNjI5NTg1MjY2MTEzMjggQyAxOC44MDIyNTM3MjMxNDQ1MyA3LjA1Njg3NjY1OTM5MzMxMSAyMS45ODk5MTM5NDA0Mjk2OSA1LjM3MjcwNjQxMzI2OTA0MyAyNS43ODgwMTcyNzI5NDkyMiA0LjExNDE3NTc5NjUwODc4OSBDIDI2Ljg5MTQ2MjMyNjA0OTggMy43NDEzNjAxODc1MzA1MTggMjcuNzcwODQ1NDEzMjA4MDEgMy40NDQxOTY5Mzk0NjgzODQgMjcuOTc4MDMzMDY1Nzk1OSAzLjMwNTczMTI5NjUzOTMwNyBDIDI3Ljk5NjgyMDQ0OTgyOTEgMy4yNjc0Mzc2OTY0NTY5MDkgMjguMDI1NTI0MTM5NDA0MyAzLjE5ODk1Mzg2Njk1ODYxOCAyOC4wNDM0OTcwODU1NzEyOSAzLjE1NTkyMDAyODY4NjUyMyBDIDI4LjA5NTcxNDU2OTA5MTggMy4wMjQzODgwNzQ4NzQ4NzggMjguMTA3ODM1NzY5NjUzMzIgMi42MjE0MzI1NDI4MDA5MDMgMjcuOTE5MDk3OTAwMzkwNjIgMi4wOTAwNjgxMDE4ODI5MzUgQyAyNy43NDM4MTYzNzU3MzI0MiAxLjU5NjYzODIwMjY2NzIzNiAyNy40NzMyMzYwODM5ODQzOCAxLjIzMzk4ODE2NTg1NTQwOCAyNy4yOTY1Mjc4NjI1NDg4MyAxLjEzMDc2ODE3OTg5MzQ5NCBMIDI3LjI5MDY0NzUwNjcxMzg3IDEuMTI3Mjk4MTE2NjgzOTYgQyAyNy4yMTY0MzYzODYxMDg0IDEuMDgzMjY4MTY1NTg4Mzc5IDI2Ljk2MjIwNzc5NDE4OTQ1IDAuOTk5OTk4MTUyMjU2MDEyIDI2LjUzMTIyNzExMTgxNjQxIDAuOTk5OTk4MTUyMjU2MDEyIEMgMjYuMTk2NDE2ODU0ODU4NCAwLjk5OTk5ODE1MjI1NjAxMiAyNS44MzcwODc2MzEyMjU1OSAxLjA1MDkxODEwMjI2NDQwNCAyNS41MjE0NjcyMDg4NjIzIDEuMTQyNzY4MTQ0NjA3NTQ0IEMgMjMuMjMxMDA2NjIyMzE0NDUgMS44MTQ2ODgyMDU3MTg5OTQgMjAuMTA0MzA3MTc0NjgyNjIgMi45NTkxOTgyMzY0NjU0NTQgMTguNTUzNTI3ODMyMDMxMjUgMy42OTMxMzgxMjI1NTg1OTQgQyAxMy40OTQ0MjY3MjcyOTQ5MiA2LjEwMTA5ODA2MDYwNzkxIDkuNDI1MDY2OTQ3OTM3MDEyIDkuNDQ4MDU4MTI4MzU2OTM0IDYuNDU4NDc3MDIwMjYzNjcyIDEzLjY0MTAzNzk0MDk3OSBDIDMuNDg5NDk2OTQ2MzM0ODM5IDE3LjgzNzM5ODUyOTA1MjczIDEuNzEwNTM3MDc1OTk2Mzk5IDIyLjc2MTA1ODgwNzM3MzA1IDEuMTcwOTY2OTgyODQxNDkyIDI4LjI3NTcwNzI0NDg3MzA1IEMgMC45MzExNDcwMzg5MzY2MTUgMzAuNzE0NzM4ODQ1ODI1MiAwLjk0NDIxNzAyNjIzMzY3MzEgMzMuMDMxMjU3NjI5Mzk0NTMgMS4yMDk4MjcwNjU0Njc4MzQgMzUuMTYwOTI2ODE4ODQ3NjYgQyAxLjQ2OTkzNjk2Njg5NjA1NyAzNy4yNDY1MTcxODEzOTY0OCAxLjk3MzQ0Njk2NTIxNzU5IDM5LjE2MzM1Njc4MTAwNTg2IDIuNzA2Mzk3MDU2NTc5NTkgNDAuODU4MjA3NzAyNjM2NzIgQyA0LjE3MzExOTU0NDk4MjkxIDQ0LjI0OTgzNTk2ODAxNzU4IDYuNTAwNzczNDI5ODcwNjA1IDQ2LjcwMjAxODczNzc5Mjk3IDkuNjI1MDk0NDEzNzU3MzI0IDQ4LjE0Njg3NzI4ODgxODM2IEMgMTEuODU2MTY4NzQ2OTQ4MjQgNDkuMTYwMTc1MzIzNDg2MzMgMTMuMDI1OTAyNzQ4MTA3OTEgNDkuMzc5MDc3OTExMzc2OTUgMTYuMjA3NjA3MjY5Mjg3MTEgNDkuMzc5MDc3OTExMzc2OTUgTSA1Mi4xMDE0MzY2MTQ5OTAyMyA1MC4zOTM1Mzk0Mjg3MTA5NCBDIDQ5LjQ1Njk1ODc3MDc1MTk1IDUwLjM5MzUzOTQyODcxMDk0IDQ4Ljg2NDY0NjkxMTYyMTA5IDUwLjM0MzcyNzExMTgxNjQxIDQ3LjYxMDQxNjQxMjM1MzUyIDUwLjAwMzEyODA1MTc1NzgxIEMgNDQuODEyNzc4NDcyOTAwMzkgNDkuMjU3NjY3NTQxNTAzOTEgNDIuNTI2MDM1MzA4ODM3ODkgNDcuOTIwNDE3Nzg1NjQ0NTMgNDAuNjQ1MjI1NTI0OTAyMzQgNDUuOTcxNjA3MjA4MjUxOTUgQyAzOS4yNzIxMDYxNzA2NTQzIDQ0LjUxNDQwODExMTU3MjI3IDM4LjYxMTI1NTY0NTc1MTk1IDQzLjU0Nzc2NzYzOTE2MDE2IDM3Ljc4MTE3NzUyMDc1MTk1IDQxLjc4NDc3ODU5NDk3MDcgQyAzNC42ODE0ODgwMzcxMDkzOCAzNS4xOTI4NTk2NDk2NTgyIDM1LjE3MDk2NzEwMjA1MDc4IDI1LjA0MDY4NzU2MTAzNTE2IDM4Ljk2Njg1NzkxMDE1NjI1IDE3LjE3NzkyODkyNDU2MDU1IEMgNDIuODQ3MzU4NzAzNjEzMjggOS4xMjkzNDc4MDEyMDg0OTYgNTAuNDkwNTM1NzM2MDgzOTggMy4xMTM2NjgyMDMzNTM4ODIgNjAuMzE5Nzg2MDcxNzc3MzQgMC40MDE3MDgxNTU4NzA0Mzc2IEMgNjIuOTk3NDY3MDQxMDE1NjIgLTAuMzQ0Mjk4ODk5MTczNzM2NiA2My45MTEwOTg0ODAyMjQ2MSAtMC4wNzMzMTUyNzAyNDUwNzUyMyA2NC41NDA4ODU5MjUyOTI5NyAxLjU4NzM4ODE1Nzg0NDU0MyBDIDY1LjE2NzQ2NTIwOTk2MDk0IDMuMjY1MjE4MjU3OTA0MDUzIDY0LjkxMzYxOTk5NTExNzE5IDMuOTkzNTQ4MTU0ODMwOTMzIDYzLjQ1Njk2NjQwMDE0NjQ4IDQuNTM1NTE4MTY5NDAzMDc2IEMgNjIuOTI5OTg4ODYxMDgzOTggNC43MzkwMTc5NjM0MDk0MjQgNjIuNDQwNTA1OTgxNDQ1MzEgNC44OTExMDgwMzYwNDEyNiA2Mi4zNTI2ODc4MzU2OTMzNiA0Ljg5MTEwODAzNjA0MTI2IEMgNjIuMDE1Mjk2OTM2MDM1MTYgNC44OTExMDgwMzYwNDEyNiA1OC4xNjkwNjczODI4MTI1IDYuNDUyMTk4MDI4NTY0NDUzIDU2LjkzMTk3NjMxODM1OTM4IDcuMDk1OTE4MTc4NTU4MzUgQyA1MC41MjU4ODY1MzU2NDQ1MyAxMC40MzQ0NDgyNDIxODc1IDQ2LjM5MTUzNjcxMjY0NjQ4IDE1LjYxOTUxODI4MDAyOTMgNDQuNjQ0NjE1MTczMzM5ODQgMjIuNTAwNjM4OTYxNzkxOTkgQyA0NC4xNTUxMzYxMDgzOTg0NCAyNC40MzE3Nzc5NTQxMDE1NiA0My45MTUyMTgzNTMyNzE0OCAyNi4yNDYxNzc2NzMzMzk4NCA0NC4xNTUxMzYxMDgzOTg0NCAyNi4yNDYxNzc2NzMzMzk4NCBDIDQ0LjIzOTc1NzUzNzg0MTggMjYuMjQ2MTc3NjczMzM5ODQgNDQuNzEzMTY1MjgzMjAzMTIgMjUuNzg2Njg3ODUwOTUyMTUgNDUuMjAzNzE2Mjc4MDc2MTcgMjUuMjI3MDQ4ODczOTAxMzcgQyA0Ny40NzU0Njc2ODE4ODQ3NyAyMi42NTE2NjA5MTkxODk0NSA1MC41OTMxMzIwMTkwNDI5NyAyMS40MzIwMTA2NTA2MzQ3NyA1NC44OTkwNzgzNjkxNDA2MiAyMS40NDg4MzcyODAyNzM0NCBDIDU4Ljk0NzczODY0NzQ2MDk0IDIxLjQ2NTk3ODYyMjQzNjUyIDYxLjY3NjgzNzkyMTE0MjU4IDIyLjUxNzc2ODg1OTg2MzI4IDY0LjIzNTYyNjIyMDcwMzEyIDI1LjA0MDY4NzU2MTAzNTE2IEMgNjUuNDU1NTg5Mjk0NDMzNTkgMjYuMjYxMTc4OTcwMzM2OTEgNjUuODI4MzE1NzM0ODYzMjggMjYuNzUzMzI4MzIzMzY0MjYgNjYuNDg3MDMwMDI5Mjk2ODggMjguMTEwOTE4MDQ1MDQzOTUgQyA2Ny43MDgwNTM1ODg4NjcxOSAzMC42MTg4MzczNTY1NjczOCA2Ny45OTgzMTM5MDM4MDg1OSAzMS45MjM5Mzg3NTEyMjA3IDY3Ljk5ODMxMzkwMzgwODU5IDM1LjE0MzA1ODc3Njg1NTQ3IEMgNjguMDEzMzA1NjY0MDYyNSAzNy4xMjY2Nzg0NjY3OTY4OCA2Ny45Mjg2ODgwNDkzMTY0MSAzOC4xOTI5Mzk3NTgzMDA3OCA2Ny43MjUxODkyMDg5ODQzOCAzOS4xMDgxNjk1NTU2NjQwNiBDIDY2LjM4NzQyMDY1NDI5Njg4IDQ0Ljg4NzE0OTgxMDc5MTAyIDYyLjQ4OTc3NjYxMTMyODEyIDQ4LjcwMDY5ODg1MjUzOTA2IDU2LjUwNjc1NTgyODg1NzQyIDUwLjA3Mjc0NjI3Njg1NTQ3IEMgNTUuNDU4MTc1NjU5MTc5NjkgNTAuMzI2NTk5MTIxMDkzNzUgNTQuNDcyNzg1OTQ5NzA3MDMgNTAuMzkzNTM5NDI4NzEwOTQgNTIuMTAxNDM2NjE0OTkwMjMgNTAuMzkzNTM5NDI4NzEwOTQgWiBNIDE2LjIwNzYwNzI2OTI4NzExIDUwLjM3OTA3NzkxMTM3Njk1IEMgMTIuODMwNTA3Mjc4NDQyMzggNTAuMzc5MDc3OTExMzc2OTUgMTEuNTYzNDI2OTcxNDM1NTUgNTAuMTI1NzY2NzU0MTUwMzkgOS4yMDkyMDY1ODExMTU3MjMgNDkuMDU2Mjk3MzAyMjQ2MDkgQyAyLjQ2MzU4NzA0NTY2OTU1NiA0NS45Mzg5MzgxNDA4NjkxNCAtMC44MjI0NjI5NzU5Nzg4NTEzIDM4LjMzMDAyODUzMzkzNTU1IDAuMTc1NzY3MDE5MzkxMDU5OSAyOC4xNzc4NTgzNTI2NjExMyBDIDEuMjk1MDQ3MDQ0NzU0MDI4IDE2LjczODI1ODM2MTgxNjQxIDcuNjUwNzk2ODkwMjU4Nzg5IDcuNzc0OTc4MTYwODU4MTU0IDE4LjEyMzc1NjQwODY5MTQxIDIuNzkwMTk4MDg3NjkyMjYxIEMgMTkuNzY2Nzg2NTc1MzE3MzggMi4wMTI1OTgwMzc3MTk3MjcgMjIuOTM2MDk2MTkxNDA2MjUgMC44NTkwNTgxNDE3MDgzNzQgMjUuMjM5OTc2ODgyOTM0NTcgMC4xODMyMDgxNTI2NTE3ODY4IEMgMjYuMTcyODc4MjY1MzgwODYgLTAuMDg4MzExODY1OTI1Nzg4ODggMjcuMjU1NzM5MjEyMDM2MTMgLTAuMDU2MTgxODI5NDIyNzEyMzMgMjcuODAwOTE2NjcxNzUyOTMgMC4yNjcyODgxNDg0MDMxNjc3IEMgMjguNjk4NDY3MjU0NjM4NjcgMC43OTE1NzgxNzM2MzczOTAxIDI5LjM0MjE4Nzg4MTQ2OTczIDIuNjIxNTA4MTIxNDkwNDc5IDI4Ljk2ODM4NzYwMzc1OTc3IDMuNTM2MTk4MTM5MTkwNjc0IEMgMjguNjk4NDY3MjU0NjM4NjcgNC4xODI1OTgxMTQwMTM2NzIgMjguNjY1MjY3OTQ0MzM1OTQgNC4xOTc1ODc5NjY5MTg5NDUgMjYuMTA1NDA3NzE0ODQzNzUgNS4wNjI0NzgwNjU0OTA3MjMgQyAyMi4zNzU5MjY5NzE0MzU1NSA2LjI5Nzk2NzkxMDc2NjYwMiAxOS4yOTQ0NDY5NDUxOTA0MyA3Ljk0MzY2ODM2NTQ3ODUxNiAxNi42NjcwOTcwOTE2NzQ4IDEwLjA0NDA0ODMwOTMyNjE3IEMgMTIuNjY3NzA3NDQzMjM3MyAxMy4yNDgxNTg0NTQ4OTUwMiA5LjgyMDc5Njk2NjU1MjczNCAxOC4wMDg1NDg3MzY1NzIyNyA4LjY1MDEwNzM4MzcyODAyNyAyMy40MTQ3OTg3MzY1NzIyNyBDIDguMzExNjQ3NDE1MTYxMTMzIDI0Ljk3Mzc0NzI1MzQxNzk3IDguMTkyNzU2NjUyODMyMDMxIDI2LjI0NjE3NzY3MzMzOTg0IDguMzc5MTI2NTQ4NzY3MDkgMjYuMjQ2MTc3NjczMzM5ODQgQyA4LjQzMTYwNzI0NjM5ODkyNiAyNi4yNDYxNzc2NzMzMzk4NCA5LjA1NzExNzQ2MjE1ODIwMyAyNS42NTIyNjc0NTYwNTQ2OSA5Ljc4NTQ0NzEyMDY2NjUwNCAyNC45MjQ0Njg5OTQxNDA2MiBDIDEyLjIyNzQ5ODA1NDUwNDM5IDIyLjQ2NTgyMDMxMjUgMTUuMDI0MDIxMTQ4NjgxNjQgMjEuNDMzOTQ0NzAyMTQ4NDQgMTkuMTQwMjA3MjkwNjQ5NDEgMjEuNDQ4ODM3MjgwMjczNDQgQyAyMy4yMDYwMDcwMDM3ODQxOCAyMS40NjU5Nzg2MjI0MzY1MiAyNS45MzYxNzYzMDAwNDg4MyAyMi41MTc3Njg4NTk4NjMyOCAyOC40NzY3NTcwNDk1NjA1NSAyNS4wNDA2ODc1NjEwMzUxNiBDIDI5LjY5NjcxNjMwODU5Mzc1IDI2LjI2Mzg0NzM1MTA3NDIyIDMwLjA3MDUxNjU4NjMwMzcxIDI2Ljc1MzMyODMyMzM2NDI2IDMwLjczMTM2NzExMTIwNjA1IDI4LjExMDkxODA0NTA0Mzk1IEMgMzEuNzEzNTQ2NzUyOTI5NjkgMzAuMTA5NTM5MDMxOTgyNDIgMzIuMTczMDM4NDgyNjY2MDIgMzEuOTA0MTI5MDI4MzIwMzEgMzIuMzA2OTE1MjgzMjAzMTIgMzQuMjQyODE2OTI1MDQ4ODMgQyAzMi43NjQyNjY5Njc3NzM0NCA0Mi4wNzM5NjY5Nzk5ODA0NyAyOC42NDU5ODY1NTcwMDY4NCA0Ny45ODczNjk1MzczNTM1MiAyMS40MDk4MTY3NDE5NDMzNiA0OS45MjExODgzNTQ0OTIxOSBDIDE5Ljg4Njc0NzM2MDIyOTQ5IDUwLjMyNjU5OTEyMTA5Mzc1IDE5LjQyODMyNzU2MDQyNDggNTAuMzYxNDA4MjMzNjQyNTggMTYuNTEyODY2OTczODc2OTUgNTAuMzc4NTQwMDM5MDYyNSBDIDE2LjQwODk2Nzk3MTgwMTc2IDUwLjM3OTA3NzkxMTM3Njk1IDE2LjMwNzIxNjY0NDI4NzExIDUwLjM3OTA3NzkxMTM3Njk1IDE2LjIwNzYwNzI2OTI4NzExIDUwLjM3OTA3NzkxMTM3Njk1IFpcIiBzdHJva2U9XCJub25lXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogQWNjb3JkZW9ucyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGFjY29yZGVvbl9wbHVzKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjAuMzI2XCIgaGVpZ2h0PVwiMjAuMzI2XCIgdmlld0JveD1cIjAgMCAyMC4zMjYgMjAuMzI2XCI+PHBhdGggZD1cIk0wLDBIMjAuMzI2VjIwLjMyNkgwWlwiIGZpbGw9XCJub25lXCIvPjxyZWN0IHdpZHRoPVwiMTIuMTk2XCIgaGVpZ2h0PVwiMi4wMzNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNC4wNjUgOS4xNDcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cmVjdCB3aWR0aD1cIjEyLjE5NlwiIGhlaWdodD1cIjIuMDMzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExLjE3OSA0LjA2NSkgcm90YXRlKDkwKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBDb2xvbm5lIGNvbnRleHR1ZWxsZSAqL1xyXG5cdFx0LyogQmxvYyBnZW9sb2MgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY19hZHJlc3NlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTU0IC01MDgyLjkzMylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNTQgNTA4Mi45MzMpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE2MCA1MDg4LjkzMylcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTAuMjUsMy41QTMuNzQsMy43NCwwLDAsMSwxNCw3LjM2M2MwLDEuNjItMS4yOSwzLjUtMy43NSw1LjQ5QzcuNzksMTAuODY1LDYuNSw4Ljk3NSw2LjUsNy4zNjNBMy43NCwzLjc0LDAsMCwxLDEwLjI1LDMuNW0wLTEuNUE1LjIyNiw1LjIyNiwwLDAsMCw1LDcuMzYzcTAsMy41MSw1LjI1LDcuMzg4UTE1LjUsMTAuODgsMTUuNSw3LjM2M0E1LjIyNiw1LjIyNiwwLDAsMCwxMC4yNSwyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS4yNSAtMC41KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNMTAuMjUsN2ExLjUsMS41LDAsMSwwLDEuNSwxLjVBMS41LDEuNSwwLDAsMCwxMC4yNSw3Wk01LDE2Ljc1SDE1LjV2MS41SDVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjI1IC0xLjc1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX3RlbCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTY4LjUgLTUyNzkuMDE0KVwiPjxjaXJjbGUgY3g9XCIxNVwiIGN5PVwiMTVcIiByPVwiMTVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY4LjUgNTI3OS4wMTQpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc0LjUgNTI4NS4wMTQpXCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTUuNjU1LDQuNWE5LjIzNCw5LjIzNCwwLDAsMCwuMzM3LDEuOTQzbC0uOS45QTExLjExOSwxMS4xMTksMCwwLDEsNC41MjMsNC41SDUuNjU1bTcuMzk1LDkuMDE1YTkuNTY0LDkuNTY0LDAsMCwwLDEuOTUuMzM4VjE0Ljk3YTExLjU3LDExLjU3LDAsMCwxLTIuODUtLjU2MmwuOS0uODkzTTYuMzc1LDNIMy43NUEuNzUyLjc1MiwwLDAsMCwzLDMuNzUsMTIuNzQ5LDEyLjc0OSwwLDAsMCwxNS43NTEsMTYuNWEuNzUyLjc1MiwwLDAsMCwuNzQ5LS43NVYxMy4xMzNhLjc1Mi43NTIsMCwwLDAtLjc1LS43NSw4LjU1NSw4LjU1NSwwLDAsMS0yLjY3Ny0uNDI4LjYzLjYzLDAsMCwwLS4yMzItLjAzOC43NjguNzY4LDAsMCwwLS41MzMuMjE4bC0xLjY1LDEuNjVBMTEuMzYxLDExLjM2MSwwLDAsMSw1LjcxNSw4Ljg0M2wxLjY1LTEuNjVhLjc1My43NTMsMCwwLDAsLjE4OC0uNzY1QTguNTIsOC41MiwwLDAsMSw3LjEyNSwzLjc1Ljc1Mi43NTIsMCwwLDAsNi4zNzUsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNzUgLTAuNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnZW9sb2NfbWFpbCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTE3NCAtNTE3NC41MzcpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTc0IDUxNzQuNTM3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzkuOTgyIDUxODAuNTM3KVwiPjxwYXRoIGQ9XCJNMCwwSDE3Ljk0NlYxNy45NDZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMS40OTUgMi45OTEpXCI+PHBhdGggZD1cIk0xNi45NTUsNS41YTEuNSwxLjUsMCwwLDAtMS41LTEuNUgzLjVBMS41LDEuNSwwLDAsMCwyLDUuNXY4Ljk3M2ExLjUsMS41LDAsMCwwLDEuNSwxLjVIMTUuNDU5YTEuNSwxLjUsMCwwLDAsMS41LTEuNVptLTEuNSwwTDkuNDc3LDkuMjI3LDMuNSw1LjVabTAsOC45NzNIMy41VjYuOTkxTDkuNDc3LDEwLjczbDUuOTgyLTMuNzM5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMiAtNClcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnZW9sb2Nfd2Vic2l0ZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTE3NSAtNTE3My4zMzUpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTc1IDUxNzMuMzM1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExODEgNTE3OS4zMzUpXCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTkuNDkzLDJBNy41LDcuNSwwLDEsMCwxNyw5LjUsNy41LDcuNSwwLDAsMCw5LjQ5MywyWm01LjIsNC41SDEyLjQ3OGExMS43MzcsMTEuNzM3LDAsMCwwLTEuMDM1LTIuNjdBNi4wMjIsNi4wMjIsMCwwLDEsMTQuNjksNi41Wk05LjUsMy41M0ExMC41NjUsMTAuNTY1LDAsMCwxLDEwLjkzMiw2LjVIOC4wNjhBMTAuNTY1LDEwLjU2NSwwLDAsMSw5LjUsMy41M1pNMy43LDExYTUuODY3LDUuODY3LDAsMCwxLDAtM0g2LjIzYTEyLjM4NSwxMi4zODUsMCwwLDAtLjEwNSwxLjVBMTIuMzg2LDEyLjM4NiwwLDAsMCw2LjIzLDExWm0uNjE1LDEuNUg2LjUyM2ExMS43MzcsMTEuNzM3LDAsMCwwLDEuMDM1LDIuNjdBNS45OSw1Ljk5LDAsMCwxLDQuMzEsMTIuNVptMi4yMTMtNkg0LjMxQTUuOTksNS45OSwwLDAsMSw3LjU1NywzLjgzLDExLjczNywxMS43MzcsMCwwLDAsNi41MjIsNi41Wk05LjUsMTUuNDdBMTAuNTY1LDEwLjU2NSwwLDAsMSw4LjA2OCwxMi41aDIuODY1QTEwLjU2NSwxMC41NjUsMCwwLDEsOS41LDE1LjQ3Wk0xMS4yNTUsMTFINy43NDVhMTEuMDM1LDExLjAzNSwwLDAsMS0uMTItMS41QTEwLjkzOSwxMC45MzksMCwwLDEsNy43NDUsOGgzLjUxYTEwLjkzOSwxMC45MzksMCwwLDEsLjEyLDEuNSwxMS4wMzUsMTEuMDM1LDAsMCwxLS4xMiwxLjVabS4xODgsNC4xN2ExMS43MzcsMTEuNzM3LDAsMCwwLDEuMDM1LTIuNjdIMTQuNjlBNi4wMjIsNi4wMjIsMCwwLDEsMTEuNDQzLDE1LjE3Wk0xMi43NywxMWExMi4zODcsMTIuMzg3LDAsMCwwLC4xLTEuNSwxMi4zODcsMTIuMzg3LDAsMCwwLS4xLTEuNWgyLjUzNWE1Ljg2Nyw1Ljg2NywwLDAsMSwwLDNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY19ob3JhaXJlcygkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTE3NiAtNTE4Ni44NjcpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTc2IDUxODYuODY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExODIgNTE5Mi44NjcpXCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTkuNDkyLDJBNy41LDcuNSwwLDEsMCwxNC44LDQuMTk0LDcuNSw3LjUsMCwwLDAsOS40OTIsMlpNOS41LDE1LjVhNiw2LDAsMSwxLDYtNiw2LDYsMCwwLDEtNiw2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41IC0wLjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PHBhdGggZD1cIk0xMi4xMjUsN0gxMXY0LjVsMy45MzgsMi4zNjIuNTYzLS45MjItMy4zNzUtMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuNzUgLTEuNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogVGVsZWNoYXJnZW1lbnRzICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBkb3dubG9hZCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1OFwiIGhlaWdodD1cIjU4XCIgdmlld0JveD1cIjAgMCA1OCA1OFwiPjxyZWN0IHdpZHRoPVwiNThcIiBoZWlnaHQ9XCI1OFwiIHJ4PVwiMjlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNy40NDYgMTYuODg1KVwiPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk02LDJBMiwyLDAsMCwwLDQuMDEsNEw0LDIwYTIsMiwwLDAsMCwxLjk5LDJIMThhMi4wMDYsMi4wMDYsMCwwLDAsMi0yVjhMMTQsMlptNyw3VjMuNUwxOC41LDlaXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiB0ZWxlY2hhcmdlcigkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiPjxwYXRoIGQ9XCJNMTMsMTAuNUgxMC43NVYzSDkuMjV2Ny41SDdsMywzWk00LDE1djEuNUgxNlYxNVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEgLTAuNzUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmZXVpbGxldGVyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC43NSAzKVwiPjxwYXRoIGQ9XCJNMTYsNEgyLjVBMS41LDEuNSwwLDAsMCwxLDUuNXY5Ljc1YTEuNSwxLjUsMCwwLDAsMS41LDEuNUgxNmExLjUsMS41LDAsMCwwLDEuNS0xLjVWNS41QTEuNSwxLjUsMCwwLDAsMTYsNFpNMi41LDE1LjI1VjUuNWg2djkuNzVabTEzLjUsMEgxMFY1LjVoNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEgLTQpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cmVjdCB3aWR0aD1cIjQuNVwiIGhlaWdodD1cIjEuMTI1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkuNzUgNC4xMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cmVjdCB3aWR0aD1cIjQuNVwiIGhlaWdodD1cIjEuMTI1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkuNzUgNilcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA3Ljg3NSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiogUEFHRSBMSVNURSAqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyogSW1hZ2UgcGFyIGRlZmF1dCAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGxvZ29fZmlsaWdyYW5lKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMjguODFcIiBoZWlnaHQ9XCI2OS4wNzlcIiB2aWV3Qm94PVwiMCAwIDEyOC44MSA2OS4wNzlcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTYxNi4yMDEgLTgyNi40NjEpXCI+PHBhdGggZD1cIk0xMDIuMTg2LDIwLjM0Mkg2Mi42MjNMODIuMzM3LDU3LjFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU5OC4yMDIgODA2LjExOSlcIiBmaWxsPVwiI2FmMDYyM1wiLz48cmVjdCB3aWR0aD1cIjE4Ljc4MlwiIGhlaWdodD1cIjY5LjA3OVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2MTYuMjAxIDgyNi40NjEpXCIgZmlsbD1cIiNhZjA2MjNcIi8+PHBhdGggZD1cIk04OS42NzUsNzcuOTFINzQuMzU2TDU3LjYzNyw0N1Y4Ny45NzhoNTAuMDg2VjQ2LjM0MlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTk3LjkyNSA4MDcuNTYxKVwiIGZpbGw9XCIjYWYwNjIzXCIvPjxyZWN0IHdpZHRoPVwiMTguNzgyXCIgaGVpZ2h0PVwiNjkuMDc5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcyNi4yMjkgODI2LjQ2MSlcIiBmaWxsPVwiI2FmMDYyM1wiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBCdG4gYWZmaWNoZXIgbGEgY2FydGUgKi9cclxuXHRcdC8qIE9LICovIC8vQG1peGluIGRpc3BsYXlfbWFwKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ0XCI+PHBhdGggZD1cIk00NC44LDgsMzQsMTAuN0ExMC45NCwxMC45NCwwLDAsMCwyMywwLDEwLjgsMTAuOCwwLDAsMCwxMi4yLDkuMkwuOCwxMkExLDEsMCwwLDAsMCwxM1Y0M2EuOTEuOTEsMCwwLDAsLjQuOEExLjQyLDEuNDIsMCwwLDAsMSw0NGguMkwxNyw0MGwxMS43LDMuOWguNWwxNi00YTEuMDgsMS4wOCwwLDAsMCwuOC0xVjlhLjkxLjkxLDAsMCwwLS40LS44QTEuMDksMS4wOSwwLDAsMCw0NC44LDhaTTIzLDJhOSw5LDAsMCwxLDksOWMwLDQuNC02LDExLjYtOSwxNC44LTMtMy4yLTktMTAuNS05LTE0LjhBOSw5LDAsMCwxLDIzLDJabTUsMzkuNkwxOCwzOC4zVjIzLjFjMi4yLDIuNyw0LjEsNC43LDQuMyw0LjlhMSwxLDAsMCwwLDEuNCwwYy4yLS4yLDIuMS0yLjIsNC4zLTQuOVpNMiwxMy44bDEwLTIuNWMuMSwyLjgsMS45LDYuMSw0LDkuMVYzOC4yTDIsNDEuN1pNNDQsMzguMiwzMCw0MS43VjIwLjRhMjMuNTksMjMuNTksMCwwLDAsMy44LTcuNkw0NCwxMC4zWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI2LDExYTMsMywwLDEsMC0zLDMsMywzLDAsMCwwLDMtMi45Wm0tNCwwYTEsMSwwLDEsMSwxLDFBMSwxLDAsMCwxLDIyLDExWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJ0biBhZmZpY2hlciBsYSBsaXN0ZSAqL1xyXG5cdFx0LyogT0sgKi8gLy9AbWl4aW4gZGlzcGxheV9saXN0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQyIDQyXCI+PHBhdGggZD1cIk0wLDVBNSw1LDAsMSwwLDUsMCw1LDUsMCwwLDAsMCw1Wk01LDJBMywzLDAsMSwxLDIsNSwzLDMsMCwwLDEsNSwyWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk01LDI2YTUsNSwwLDEsMC01LTVBNSw1LDAsMCwwLDUsMjZabTAtOGEzLDMsMCwxLDEtMywzQTMsMywwLDAsMSw1LDE4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk01LDQyYTUsNSwwLDEsMC01LTVBNSw1LDAsMCwwLDUsNDJabTAtOGEzLDMsMCwxLDEtMywzQTMsMywwLDAsMSw1LDM0WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk00MSw0SDE3YTEsMSwwLDAsMCwwLDJINDFhMSwxLDAsMCwwLDAtMlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNNDEsMjBIMTdhMSwxLDAsMCwwLDAsMkg0MWExLDEsMCwwLDAsMC0yWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk00MSwzNkgxN2ExLDEsMCwwLDAsMCwySDQxYTEsMSwwLDAsMCwwLTJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEZpbHRyZXMgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBmaWx0ZXIoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTAsMEgyNG0wLDI0SDBcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTQuMjUsNS42MUM2LjI3LDguMiwxMCwxMywxMCwxM3Y2YTEsMSwwLDAsMCwxLDFoMmExLDEsMCwwLDAsMS0xVjEzczMuNzItNC44LDUuNzQtNy4zOUExLDEsMCwwLDAsMTguOTUsNEg1LjA0QTEsMSwwLDAsMCw0LjI1LDUuNjFaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTAsMEgyNFYyNEgwWlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBjYWxlbmRhcigkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE1LDMuNWgtLjc1VjIuNzVhLjc1Ljc1LDAsMSwwLTEuNSwwVjMuNWgtNlYyLjc1YS43NS43NSwwLDEsMC0xLjUsMFYzLjVINC41QTEuNDkzLDEuNDkzLDAsMCwwLDMuMDA3LDVMMywxNS41QTEuNSwxLjUsMCwwLDAsNC41LDE3SDE1YTEuNSwxLjUsMCwwLDAsMS41LTEuNVY1QTEuNSwxLjUsMCwwLDAsMTUsMy41Wm0wLDExLjI1YS43NTIuNzUyLDAsMCwxLS43NS43NWgtOWEuNzUyLjc1MiwwLDAsMS0uNzUtLjc1VjcuMjVIMTVabS05LTZINy41djEuNUg2Wm0zLDBoMS41djEuNUg5Wm0zLDBoMS41djEuNUgxMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNzUgLTAuNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiByZWluaXQoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOC42NjcsMmE2LjY2Nyw2LjY2NywwLDEsMCw2LjY2Nyw2LjY2N0E2LjY2MSw2LjY2MSwwLDAsMCw4LjY2NywyWk0xMiwxMS4wNmwtLjk0Ljk0TDguNjY3LDkuNjA3LDYuMjczLDEybC0uOTQtLjk0TDcuNzI3LDguNjY3LDUuMzMzLDYuMjczbC45NC0uOTRMOC42NjcsNy43MjcsMTEuMDYsNS4zMzNsLjk0Ljk0TDkuNjA3LDguNjY3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBMb2NhbGlzYXRpb24gKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBsb2NhbGlzYXRpb24oJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHZpZXdCb3g9XCIwIDAgMTUgMTVcIj48cGF0aCBkPVwiTTAsMEgxNVYxNUgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS4zNzUsMkE0LjM3Miw0LjM3MiwwLDAsMCw1LDYuMzc1QzUsOS42NTYsOS4zNzUsMTQuNSw5LjM3NSwxNC41UzEzLjc1LDkuNjU2LDEzLjc1LDYuMzc1QTQuMzcyLDQuMzcyLDAsMCwwLDkuMzc1LDJabTAsNS45MzhhMS41NjMsMS41NjMsMCwxLDEsMS41NjItMS41NjJBMS41NjMsMS41NjMsMCwwLDEsOS4zNzUsNy45MzhaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjg3NSAtMC43NSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIERFIFJFQ0hFUkNIRSAqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBQYWdpbmF0aW9uICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9wcmV2KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDApXCI+PHBhdGggZD1cIk0xNiwxNi41OSwxMS40MiwxMiwxNiw3LjQxLDE0LjU5LDZsLTYsNiw2LDZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjU5KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0yNCwwSDBWMjRIMjRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDApXCIgZmlsbD1cIm5vbmVcIi8+PC9nPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwYWdpbmF0aW9uX25leHQoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTguNTksMTYuNTksMTMuMTcsMTIsOC41OSw3LjQxLDEwLDZsNiw2LTYsNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBhZ2luYXRpb25fZmlyc3QoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE4LjQxLDE2LjU5LDEzLjgyLDEybDQuNTktNC41OUwxNyw2bC02LDYsNiw2Wk02LDZIOFYxOEg2WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0yNCwyNEgwVjBIMjRaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBhZ2luYXRpb25fbGFzdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNNS41OSw3LjQxLDEwLjE4LDEyLDUuNTksMTYuNTksNywxOGw2LTZMNyw2Wk0xNiw2aDJWMThIMTZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTAsMEgyNFYyNEgwWlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKiogQ0FSVEUgSU5URVJBQ1RJVkUgKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIEZpbHRyZXMgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBhZmZpY2hlcl9wbHVzKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtAaW5jbHVkZSBhY2NvcmRlb25fcGx1cygjeyRjb2xvcn0pO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBhZmZpY2hlcl9tb2lucygkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQuODggMS40MVwiPjxwYXRoIGQ9XCJNNC44OCwxLjQxSDBWMEg0Ljg4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKiBEQVNIQk9BUkQgKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdCRkYl9iZ19jaXJjbGU6JzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzM2Ljc1IDE3MlwiPjxwYXRoIGQ9XCJNMjQwLDEwMGE0MjUuODEsNDI1LjgxLDAsMCwxLDEwMCwxMS44NFYwSDI4Mi40MmEzNzAuMSwzNzAuMSwwLDAsMC02NC44OCwxMDAuNTlRMjI4LjcsMTAwLDI0MCwxMDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjI1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIgb3BhY2l0eT1cIjAuMDRcIi8+PHBhdGggZD1cIk0yMTcuNTQsMTAwLjU5QTQyMi42Niw0MjIuNjYsMCwwLDAsMy4yNSwxNzJIMTk0LjgyQTM2Ni44NywzNjYuODcsMCwwLDEsMjE3LjU0LDEwMC41OVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48cGF0aCBkPVwiTTIxNy41NCwxMDAuNTlBMzY2Ljg3LDM2Ni44NywwLDAsMCwxOTQuODIsMTcySDM0MFYxMTEuODRBNDI1LjgxLDQyNS44MSwwLDAsMCwyNDAsMTAwUTIyOC42OSwxMDAsMjE3LjU0LDEwMC41OVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48cGF0aCBkPVwiTTIxNy41NCwxMDAuNTlBMzY2Ljg3LDM2Ni44NywwLDAsMCwxOTQuODIsMTcySDM0MFYxMTEuODRBNDI1LjgxLDQyNS44MSwwLDAsMCwyNDAsMTAwUTIyOC42OSwxMDAsMjE3LjU0LDEwMC41OVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48L3N2Zz4nO1xyXG5cclxuXHQvKiBUdWlsZXMgKi9cclxuXHRcdEBtaXhpbiBkYl9jcmVlcigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTEzIDdoLTJ2NEg3djJoNHY0aDJ2LTRoNHYtMmgtNFY3em0tMS01QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2dlcmVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNi4yMSAxMy45N2wxLjIgMi4wN2MuMDguMTMuMjMuMTguMzcuMTNsMS40OS0uNmMuMzEuMjQuNjQuNDQgMS4wMS41OWwuMjIgMS41OWMuMDMuMTQuMTUuMjUuMy4yNWgyLjRjLjE1IDAgLjI3LS4xMS4zLS4yNmwuMjItMS41OWMuMzYtLjE1LjctLjM1IDEuMDEtLjU5bDEuNDkuNmMuMTQuMDUuMjkgMCAuMzctLjEzbDEuMi0yLjA3Yy4wOC0uMTMuMDQtLjI5LS4wNy0uMzlsLTEuMjctLjk5Yy4wMy0uMTkuMDQtLjM5LjA0LS41OCAwLS4yLS4wMi0uMzktLjA0LS41OWwxLjI3LS45OWMuMTEtLjA5LjE1LS4yNi4wNy0uMzlsLTEuMi0yLjA3Yy0uMDgtLjEzLS4yMy0uMTgtLjM3LS4xM2wtMS40OS42Yy0uMzEtLjI0LS42NC0uNDQtMS4wMS0uNTlsLS4yMi0xLjU5Yy0uMDMtLjE0LS4xNS0uMjUtLjMtLjI1aC0yLjRjLS4xNSAwLS4yNy4xMS0uMy4yNmwtLjIyIDEuNTljLS4zNi4xNS0uNzEuMzQtMS4wMS41OGwtMS40OS0uNmMtLjE0LS4wNS0uMjkgMC0uMzcuMTNsLTEuMiAyLjA3Yy0uMDguMTMtLjA0LjI5LjA3LjM5bDEuMjcuOTljLS4wMy4yLS4wNS4zOS0uMDUuNTkgMCAuMi4wMi4zOS4wNC41OWwtMS4yNy45OWMtLjExLjEtLjE0LjI2LS4wNi4zOXpNMTIgMTAuMjljLjk0IDAgMS43MS43NyAxLjcxIDEuNzFzLS43NyAxLjcxLTEuNzEgMS43MS0xLjcxLS43Ny0xLjcxLTEuNzEuNzctMS43MSAxLjcxLTEuNzF6TTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptMCAxNkg1VjVoMTR2MTR6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9jb250cmlidWVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTQuMDYgOS4wMmwuOTIuOTJMNS45MiAxOUg1di0uOTJsOS4wNi05LjA2TTE3LjY2IDNjLS4yNSAwLS41MS4xLS43LjI5bC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M2MuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4yLS4yLS40NS0uMjktLjcxLS4yOXptLTMuNiAzLjE5TDMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzV6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9saXN0ZSgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTExIDdoNnYyaC02em0wIDRoNnYyaC02em0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3ek0yMC4xIDNIMy45Yy0uNSAwLS45LjQtLjkuOXYxNi4yYzAgLjQuNC45LjkuOWgxNi4yYy40IDAgLjktLjUuOS0uOVYzLjljMC0uNS0uNS0uOS0uOS0uOXpNMTkgMTlINVY1aDE0djE0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfbmV3c2xldHRlcigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTIxLjk5IDhjMC0uNzItLjM3LTEuMzUtLjk0LTEuN0wxMiAxIDIuOTUgNi4zQzIuMzggNi42NSAyIDcuMjggMiA4djEwYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJsLS4wMS0xMHptLTIgMHYuMDFMMTIgMTMgNCA4bDgtNC42OEwxOS45OSA4ek00IDE4di03LjY2bDggNS4wMiA3Ljk5LTQuOTlMMjAgMThINHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX3NtcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE3IDEuMDFMNyAxYy0xLjEgMC0yIC45LTIgMnYxOGMwIDEuMS45IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMS45OS0yLTEuOTl6TTE3IDE5SDdWNWgxMHYxNHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2RlbWFuZGVzKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTUgNHY3SDUuMTdsLS41OS41OS0uNTguNThWNGgxMW0xLTJIM2MtLjU1IDAtMSAuNDUtMSAxdjE0bDQtNGgxMGMuNTUgMCAxLS40NSAxLTFWM2MwLS41NS0uNDUtMS0xLTF6bTUgNGgtMnY5SDZ2MmMwIC41NS40NSAxIDEgMWgxMWw0IDRWN2MwLS41NS0uNDUtMS0xLTF6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9tZHAoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48ZyBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDBWMHpcIi8+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIG9wYWNpdHk9XCIuODdcIi8+PC9nPjxwYXRoIGQ9XCJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yek05IDZjMC0xLjY2IDEuMzQtMyAzLTNzMyAxLjM0IDMgM3YySDlWNnptOSAxNEg2VjEwaDEydjEwem0tNi0zYzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX3Byb2ZpbCgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCAyNCAyNFwiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMCwwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48L2c+PGc+PGc+PHBhdGggZD1cIk00LDE4di0wLjY1YzAtMC4zNCwwLjE2LTAuNjYsMC40MS0wLjgxQzYuMSwxNS41Myw4LjAzLDE1LDEwLDE1YzAuMDMsMCwwLjA1LDAsMC4wOCwwLjAxYzAuMS0wLjcsMC4zLTEuMzcsMC41OS0xLjk4IEMxMC40NSwxMy4wMSwxMC4yMywxMywxMCwxM2MtMi40MiwwLTQuNjgsMC42Ny02LjYxLDEuODJDMi41MSwxNS4zNCwyLDE2LjMyLDIsMTcuMzVWMjBoOS4yNmMtMC40Mi0wLjYtMC43NS0xLjI4LTAuOTctMkg0elwiLz48cGF0aCBkPVwiTTEwLDEyYzIuMjEsMCw0LTEuNzksNC00cy0xLjc5LTQtNC00QzcuNzksNCw2LDUuNzksNiw4UzcuNzksMTIsMTAsMTJ6IE0xMCw2YzEuMSwwLDIsMC45LDIsMnMtMC45LDItMiwyIGMtMS4xLDAtMi0wLjktMi0yUzguOSw2LDEwLDZ6XCIvPjxwYXRoIGQ9XCJNMjAuNzUsMTZjMC0wLjIyLTAuMDMtMC40Mi0wLjA2LTAuNjNsMS4xNC0xLjAxbC0xLTEuNzNsLTEuNDUsMC40OWMtMC4zMi0wLjI3LTAuNjgtMC40OC0xLjA4LTAuNjNMMTgsMTFoLTJsLTAuMywxLjQ5IGMtMC40LDAuMTUtMC43NiwwLjM2LTEuMDgsMC42M2wtMS40NS0wLjQ5bC0xLDEuNzNsMS4xNCwxLjAxYy0wLjAzLDAuMjEtMC4wNiwwLjQxLTAuMDYsMC42M3MwLjAzLDAuNDIsMC4wNiwwLjYzbC0xLjE0LDEuMDEgbDEsMS43M2wxLjQ1LTAuNDljMC4zMiwwLjI3LDAuNjgsMC40OCwxLjA4LDAuNjNMMTYsMjFoMmwwLjMtMS40OWMwLjQtMC4xNSwwLjc2LTAuMzYsMS4wOC0wLjYzbDEuNDUsMC40OWwxLTEuNzNsLTEuMTQtMS4wMSBDMjAuNzIsMTYuNDIsMjAuNzUsMTYuMjIsMjAuNzUsMTZ6IE0xNywxOGMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMnMyLDAuOSwyLDJTMTguMSwxOCwxNywxOHpcIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfc3VwcHJpbWVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTYgOXYxMEg4VjloOG0tMS41LTZoLTVsLTEgMUg1djJoMTRWNGgtMy41bC0xLTF6TTE4IDdINnYxMmMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN3pcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2Zhdm9yaXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjZcIiB2aWV3Qm94PVwiMCAwIDI2IDI2XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMDM2MSAtMjk1NilcIj48Y2lyY2xlIGN4PVwiMTNcIiBjeT1cIjEzXCIgcj1cIjEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzYxIDI5NTYpXCIgZmlsbD1cIm5vbmVcIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI5NjEpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTExLjY2NywzYTMuOTkyLDMuOTkyLDAsMCwwLTMsMS4zOTNBMy45OTIsMy45OTIsMCwwLDAsNS42NjcsMywzLjYzMSwzLjYzMSwwLDAsMCwyLDYuNjY3YzAsMi41MiwyLjI2Nyw0LjU3Myw1LjcsNy42OTNsLjk2Ny44NzMuOTY3LS44OGMzLjQzMy0zLjExMyw1LjctNS4xNjcsNS43LTcuNjg3QTMuNjMxLDMuNjMxLDAsMCwwLDExLjY2NywzWk04LjczMywxMy4zNjdsLS4wNjcuMDY3TDguNiwxMy4zNjdjLTMuMTczLTIuODczLTUuMjY3LTQuNzczLTUuMjY3LTYuN0EyLjI3OCwyLjI3OCwwLDAsMSw1LjY2Nyw0LjMzM2EyLjYwNiwyLjYwNiwwLDAsMSwyLjM4LDEuNTczSDkuMjkzYTIuNTksMi41OSwwLDAsMSwyLjM3My0xLjU3M0EyLjI3OCwyLjI3OCwwLDAsMSwxNCw2LjY2N0MxNCw4LjU5MywxMS45MDcsMTAuNDkzLDguNzMzLDEzLjM2N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0xKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogT2xkICovXHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfYWJvbm5lbWVudHMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjU3IDUzLjU3XCI+PHJlY3QgeD1cIjEuNzlcIiB5PVwiMS43OVwiIHdpZHRoPVwiNzVcIiBoZWlnaHQ9XCI1MFwiIHJ4PVwiNS4zNlwiIHJ5PVwiNS4zNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy41N1wiLz48cG9seWxpbmUgcG9pbnRzPVwiNzUgMy41NyAzOS4yOSAzMi4xNCAzLjU3IDMuNTdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNTdcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX2Fubm9uY2VzKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4yNiA3Ni42NFwiPjxwb2x5bGluZSBwb2ludHM9XCI2My42NSA0MC43NCA2My42NSA3NS4wMSAxLjYzIDc1LjAxIDEuNjMgNi40NiA0Mi40MyA2LjQ2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxsaW5lIHgxPVwiMjQuOVwiIHkxPVwiNTMuMzdcIiB4Mj1cIjU0LjY0XCIgeTI9XCIyMy42M1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48cGF0aCBkPVwiTTU4LjIsMjMuMjJjLTMuMjcuNC0yMS40NCwxNy42OC0xMCwyOS4xNCw0LDQsMTMsMy4zOCwyMy43NC03LjRTODcuNSwxMy4zMSw4Ny41LDEzLjMxYTg4LjI0LDg4LjI0LDAsMCwwLTIwLjI3LDUuNzVzLTIuNSwxMS43LTksMTEuN1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwLjg3IC0xMS42OClcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX2NvbnRyaWJ1dGlvbnMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc3LjIyIDc3LjA3XCI+PHBvbHlsaW5lIHBvaW50cz1cIjYyLjczIDM2Ljg1IDYyLjczIDc1LjQ2IDEuNjEgNzUuNDYgMS42MSA3LjkgNDYuNjUgNy45XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjIyXCIvPjxwb2x5Z29uIHBvaW50cz1cIjQxLjI2IDQ1LjA2IDI1LjM0IDUxLjg4IDMyLjE2IDM1Ljk2IDY2LjUxIDEuNjEgNzUuNjEgMTAuNzEgNDEuMjYgNDUuMDZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjJcIi8+PGxpbmUgeDE9XCI2OS43MVwiIHkxPVwiMTYuNjFcIiB4Mj1cIjYwLjZcIiB5Mj1cIjcuNTFcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjJcIi8+PGxpbmUgeDE9XCI0MS4yNlwiIHkxPVwiNDUuMDZcIiB4Mj1cIjMyLjE2XCIgeTI9XCIzNS45NlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfZGVtYW5kZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjI2IDcxLjc0XCI+PHBvbHlsaW5lIHBvaW50cz1cIjI3LjcyIDQwLjc2IDI0LjQ2IDQwLjc2IDExLjQxIDUzLjggMTEuNDEgNDAuNzYgMS42MyA0MC43NiAxLjYzIDEuNjMgNjMuNTkgMS42MyA2My41OSAyMi44M1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48cG9seWdvbiBwb2ludHM9XCIzNy41IDU3LjA2IDU1LjQ0IDU3LjA2IDcwLjExIDcwLjExIDcwLjExIDU3LjA2IDc2LjYzIDU3LjA2IDc2LjYzIDMwLjk4IDM3LjUgMzAuOTggMzcuNSA1Ny4wNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfaW5mb3MoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjI2IDc4LjI2XCI+PHBhdGggZD1cIk00My40OCw1OS43OFMzOC41OSw1OC4xNSwzOC41OSw1MGMtMi43LDAtMi43LTYuNTIsMC02LjUyLDAtMS4wOS00Ljg5LTEzLDMuMjYtMTEuNDEsMS42My02LjUzLDE5LjU2LTYuNTMsMjEuMTksMCwxLjEzLDQuNTItMS42MywxMC42MS0xLjYzLDExLjQxLDIuNywwLDIuNyw2LjUyLDAsNi41MiwwLDguMTUtNC44OSw5Ljc4LTQuODksOS43OHY4LjE1YzguMDgsMywxNi4wOCw1LjU0LDIwLjE3LDguNGEzNy41LDM3LjUsMCwxLDAtNTMuMzUsMGM0LjM0LTMsMTIuODktNS42OSwyMC4xNC04LjQ0WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTEwLjg3KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwYXRoIGQ9XCJNMjMuMzQsNzYuMzdhMzcuNDgsMzcuNDgsMCwwLDAsNTMuMzUsMFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTEwLjg3KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9wcmVmZXJlbmNlcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzguMjZcIj48cGF0aCBkPVwiTTc2LjkxLDU0Ljg5SDg3LjVWNDUuMTFINzYuOTFjLS42OC0yLjgzLTEuNzktNy4xMS0zLjI3LTkuNTNsNy40OS03LjQ4TDcxLjksMTguODdsLTcuNDksNy40OWMtMi40MS0xLjQ3LTYuNjktMi41OS05LjUyLTMuMjdWMTIuNUg0NS4xMVYyMy4wOWMtMi44My42OC03LjExLDEuOC05LjUzLDMuMjdsLTcuNDktNy40OUwxOC44NywyOC4xbDcuNDksNy40OGMtMS40OCwyLjQyLTIuNTksNi43LTMuMjcsOS41M0gxMi41djkuNzhIMjMuMDljLjY4LDIuODMsMS43OSw3LjExLDMuMjcsOS41M2wtNy40OSw3LjQ5LDkuMjIsOS4yMiw3LjQ5LTcuNDljMi40MiwxLjQ4LDYuNywyLjU5LDkuNTMsMy4yN1Y4Ny41aDkuNzhWNzYuOTFjMi44My0uNjgsNy4xMS0xLjc5LDkuNTItMy4yN2w3LjUsNy40OSw5LjIyLTkuMjItNy40OS03LjQ5Qzc1LjEyLDYyLDc2LjIzLDU3LjcyLDc2LjkxLDU0Ljg5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTEwLjg3KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48Y2lyY2xlIGN4PVwiMzkuMTNcIiBjeT1cIjM5LjEzXCIgcj1cIjE0LjY3XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9zbXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ1LjY1IDc4LjI2XCI+PHJlY3QgeD1cIjEuNjNcIiB5PVwiMS42M1wiIHdpZHRoPVwiNDIuMzlcIiBoZWlnaHQ9XCI3NVwiIHJ4PVwiNi41MlwiIHJ5PVwiNi41MlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48bGluZSB4MT1cIjEuNjNcIiB5MT1cIjE0LjY3XCIgeDI9XCI0NC4wMlwiIHkyPVwiMTQuNjdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIxLjYzXCIgeTE9XCI2My41OVwiIHgyPVwiNDQuMDJcIiB5Mj1cIjYzLjU5XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxsaW5lIHgxPVwiMzAuOThcIiB5MT1cIjcwLjExXCIgeDI9XCIxNC42N1wiIHkyPVwiNzAuMTFcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PHBhdGggZD1cIk01MCwxNy4zOUExLjYzLDEuNjMsMCwwLDEsNTEuNjMsMTloMEExLjYzLDEuNjMsMCwwLDEsNTAsMjAuNjVoMEExLjYzLDEuNjMsMCwwLDEsNDguMzcsMTloMEExLjYzLDEuNjMsMCwwLDEsNTAsMTcuMzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNy4xNyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcblx0LyogQnV0dG9uICovXHJcblx0XHRAbWl4aW4gYnRuX3ZvaXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyLjE3IDMwLjQzXCI+PHBhdGggZD1cIk03NSw1MFM2My44MSw2NC4xMyw1MCw2NC4xMywyNSw1MCwyNSw1MCwzNi4xOSwzNS44Nyw1MCwzNS44Nyw3NSw1MCw3NSw1MFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIzLjkxIC0zNC43OClcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMTdcIi8+PGNpcmNsZSBjeD1cIjI2LjA5XCIgY3k9XCIxNS4yMlwiIHI9XCI4LjdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMTdcIi8+PHBhdGggZD1cIk01MCw0NS42NUE0LjM1LDQuMzUsMCwxLDEsNDUuNjUsNTBcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIzLjkxIC0zNC43OClcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMTdcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGJ0bl92b2lyX21kcCgkY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTAgMjguMjZcIj48cGF0aCBkPVwiTTI2LjA5LDEuMDljLTEzLjgxLDAtMjUsMTQuMTMtMjUsMTQuMTNzMTEuMTksMTQuMTMsMjUsMTQuMTMsMjUtMTQuMTMsMjUtMTQuMTNTMzkuOSwxLjA5LDI2LjA5LDEuMDlabTAsMjQuMTNhMTAsMTAsMCwxLDEsMTAtMTBBMTAsMTAsMCwwLDEsMjYuMDksMjUuMjJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjA5IC0xLjA5KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGNpcmNsZSBjeD1cIjI1XCIgY3k9XCIxNC4xM1wiIHI9XCI1XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0QG1peGluIGJ0bl9kZWNvbm5leGlvbigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIuMjcgNTIuMjdcIj48bGluZSB4MT1cIjUxLjE0XCIgeTE9XCIyNi4xNFwiIHgyPVwiMTcuMDVcIiB5Mj1cIjI2LjE0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjI3XCIvPjxwb2x5bGluZSBwb2ludHM9XCIyNi4xNCAxNy4wNSAxNy4wNSAyNi4xNCAyNi4xNCAzNS4yM1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4yN1wiLz48cGF0aCBkPVwiTTcyLjc3LDM5LjY2YTI1LDI1LDAsMSwwLDAsMjAuNTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIzLjg2IC0yMy44NilcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMjdcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdEBtaXhpbiBidG5fbW9yZSgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguNDEgNzguNDFcIj48Y2lyY2xlIGN4PVwiMzkuMlwiIGN5PVwiMzkuMlwiIHI9XCIzNy41XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjQxXCIvPjxsaW5lIHgxPVwiMzkuMlwiIHkxPVwiMTguNzVcIiB4Mj1cIjM5LjJcIiB5Mj1cIjU5LjY2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjQxXCIvPjxsaW5lIHgxPVwiNTkuNjZcIiB5MT1cIjM5LjJcIiB4Mj1cIjE4Ljc1XCIgeTI9XCIzOS4yXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjQxXCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHRAbWl4aW4gYnRuX2NvbnRyaWJ1ZSgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMzEgNzguMzFcIj48cGF0aCBkPVwiTTMzLjkxLDgyLjQ4bC0yMS40MSw1LDUtMjEuNEw2OS4xNywxNC40NGE2LjYyLDYuNjIsMCwwLDEsOS4zNywwbDcsN2E2LjYyLDYuNjIsMCwwLDEsMCw5LjM3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODQgLTEwLjg0KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48bGluZSB4MT1cIjcyLjM4XCIgeTE9XCIyMi4zM1wiIHgyPVwiNTUuOThcIiB5Mj1cIjUuOTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMzFcIi8+PGxpbmUgeDE9XCI2Ny42NlwiIHkxPVwiMjcuMDZcIiB4Mj1cIjUxLjNcIiB5Mj1cIjEwLjYyXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjMxXCIvPjxsaW5lIHgxPVwiMjMuOVwiIHkxPVwiNzAuOFwiIHgyPVwiNy41MVwiIHkyPVwiNTQuNDFcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMzFcIi8+PC9zdmc+Jyk7fVxyXG4iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiogTUlYSU5TICoqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQnV0dG9uICovXHJcbkBtaXhpbiBidXR0b25fdXBwZXJjYXNlIHtAaWYgKCRidXR0b24tdXBwZXJjYXNlID09IHRydWUpIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fX1cclxuXHJcbi8qIEJvdXRvbiBzbGljayAqL1xyXG5AbWl4aW4gc2xpY2soJHdpZHRoOjcuMnJlbSwgJGhlaWdodDokd2lkdGgsICR0b3A6Y2FsYyg1MCUgLSAjeyRoZWlnaHR9IC8gMiksICRwb3NpdGlvbjphYnNvbHV0ZSkge3Bvc2l0aW9uOiRwb3NpdGlvbjsgQGlmICRwb3NpdGlvbiA9PSByZWxhdGl2ZSB7dG9wOmF1dG99IEBlbHNlIHt0b3A6JHRvcDt9IHdpZHRoOiR3aWR0aDsgaGVpZ2h0OiRoZWlnaHQ7IGJvcmRlci1yYWRpdXM6NTAlOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOjMuMnJlbSBhdXRvOyB6LWluZGV4OjM7IGN1cnNvcjpwb2ludGVyOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgb3ZlcmZsb3c6aGlkZGVuO31cclxuXHJcbi8qIERlZ3JhZGUgKi9cclxuQG1peGluIGdyYWRpZW50KCRkZWcpIHt9XHJcblxyXG4vKiBTaGFkb3cgKi9cclxuQG1peGluIHNoYWRvdygkYWxwaGEpIHt9XHJcblxyXG4vKiBCdG5fYWxsICovXHJcbkBtaXhpbiBhbmltX2J0bmFsbCgkd2lkdGgsICRoZWlnaHQsICR0b3AsICRwYWRkaW5nLCAkc3RhcnQpIHtcclxuXHJcbiAgICBzcGFuIHtwYWRkaW5nLSN7JHN0YXJ0fTokcGFkZGluZzsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBvdmVyZmxvdzpoaWRkZW47IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuICAgIHNwYW46YmVmb3JlLCBzcGFuOjphZnRlciB7Y29udGVudDonJzsgZGlzcGxheTpibG9jazsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6JHdpZHRoOyBoZWlnaHQ6JGhlaWdodDsgdG9wOiR0b3A7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uO31cclxuICAgIHNwYW46OmJlZm9yZSB7bGVmdDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9XHJcbiAgICBzcGFuOjphZnRlciB7cmlnaHQ6MDsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG5cclxuICAgIEBpZiAkc3RhcnQgPT0gcmlnaHQge1xyXG4gICAgICAgIHNwYW46OmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO31cclxuICAgICAgICAmOmlzKDpob3ZlciwgOmZvY3VzKSB7XHJcbiAgICAgICAgICAgIHNwYW4ge3BhZGRpbmctbGVmdDokcGFkZGluZzsgcGFkZGluZy1yaWdodDowO31cclxuICAgICAgICAgICAgc3Bhbjo6YWZ0ZXIge3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO31cclxuICAgICAgICAgICAgc3BhbjpiZWZvcmUge3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBzcGFuOjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7fVxyXG4gICAgICAgICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgc3BhbiB7cGFkZGluZy1yaWdodDokcGFkZGluZzsgcGFkZGluZy1sZWZ0OjA7fVxyXG4gICAgICAgICAgICBzcGFuOjpiZWZvcmUge3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt9XHJcbiAgICAgICAgICAgIHNwYW46YWZ0ZXIge3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi45LjBcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAaW1wb3J0ICcuL2dsb2JhbC9zZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ0ZvdW5kYXRpb24nO1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUkVTUE9OU0lWRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKiogTEFSR0UgZGUgMTkyMCBhIDEyMDAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTEFZT1VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogU1RSVUNUVVJFIEdFTkVSQUxFICoqKi9cclxuXHRcdFx0XHRcdC53cmFwLCAuZ3JpZC1jb250YWluZXIge21heC13aWR0aDpjYWxjKDEwMCUgLSA2cmVtKTt9XHJcblx0XHRcdFx0XHQucmV2ZWFsIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdFx0LmdyaWQtY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOjEwMCU7IHBhZGRpbmc6MDt9XHJcblxyXG5cdFx0XHRcdC8qKiogSEVBREVSICoqKi9cclxuXHJcblx0XHRcdFx0XHQvKiBQT1BJTiBNRU5VIFBSSU5DSVBBTCAqL1xyXG5cdFx0XHRcdFx0XHQvLyBMRVZFTCAxXHJcblx0XHRcdFx0XHRcdFx0I21lbnVfcHJpbmNpcGFsID4gdWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0PiBsaSB7bWF4LXdpZHRoOjMzJTsgdGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcdFx0XHRcdFx0PiBsaSA+IGE6OmFmdGVyIHtoZWlnaHQ6MC44cmVtO31cclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogRk9PVEVSICoqKi9cclxuXHRcdFx0XHRcdC8qIEFQUExJUyBGT09URVIgLSBORVdTTEVUVEVSIC0gUFdBICovXHJcblx0XHRcdFx0XHRcdCNmb290ZXIgLmFwcGxpX2Zvb3RlciwgI2Zvb3RlciAuYXBwbGlfZm9vdGVyLnB3YSB7bWF4LXdpZHRoOiBpbmhlcml0O31cclxuXHJcblxyXG5cdFx0fVxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqIExBUkdFIGRlIDE0NDQgYSAxMjAwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwZW0pIHtcclxuXHRcdFx0LyoqKiBCQU5ERUFVIElNRyAqKiovXHJcblx0XHRcdCNwYWdlIC5iYW5kZWF1X3BhZ2UgaW1nLCAjcGFnZSAuYmFuZGVhdV9wYWdlIC5kZWZhdWx0X2ltZywgI2JhbmRlYXVfcGFnZV9wb3BpbiBpbWcsICNiYW5kZWF1X3BhZ2VfcG9waW4gLmRlZmF1bHRfaW1nIHt3aWR0aDpjYWxjKDEwMHZ3ICogMTEgLyAxMiAtIDIuNXJlbSk7fVxyXG5cdFx0fVxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqIExBUkdFIGRlIDExOTkgYSAxMDI0ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgZG93bil9IHtcclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogTk9STUFMSVNBVElPTiAqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogRk9STVVMQUlSRVMgKioqL1xyXG5cclxuXHRcdFx0XHQvKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gTElFTiAqKiovXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTiBBTEwgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gQUREICoqKi9cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OIFRYVCAqKiovXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTiBSRVRPVVIgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gQlVUVE9OICoqKi9cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OIENMT1NFICoqKi9cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExBWU9VVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHQvKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKiovXHJcblx0XHRcdFx0LyoqKiBIRUFERVIgKioqL1xyXG5cdFx0XHRcdC8qKiogUE9QSU5TICoqKi9cclxuXHRcdFx0XHQvKioqIFBPUElOIE1FTlUgUFJJTkNJUEFMICoqKi9cclxuXHRcdFx0XHQvKioqIEJBTkRFQVUgSU1BR0UgKioqL1xyXG5cdFx0XHRcdC8qKiogRk9PVEVSICoqKi9cclxuXHRcdFx0XHQvKioqIEZJTCBEJ0FSSUFORSAqKiovXHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhPTUUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBCTE9DUyBIT01FIC0gVFJBTUUgR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdC5ibG9jX2hvbWUgey8qcGFkZGluZy1ib3R0b206M3JlbTsgcGFkZGluZy10b3A6M3JlbTsgbWFyZ2luLXRvcDowOyovfVxyXG5cclxuXHRcdFx0XHRcdC8qKiogVElUUkUgKioqL1xyXG5cdFx0XHRcdFx0XHQuYmxvY19ob21lIC50aXRyZV9ibG9jIHsvKm1hcmdpbi1ib3R0b206Mi41cmVtOyovfVxyXG5cdFx0XHRcdFx0XHQuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUsIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHsvKmZvbnQtc2l6ZTozZW07Ki99XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBTT1VTLVRJVFJFICoqKi9cclxuXHRcdFx0XHRcdFx0LmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSB7Lypmb250LXNpemU6Mi41ZW07Ki99XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCVE4gQUxMICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl9hbGxfYmxvYyB7fVxyXG5cdFx0XHRcdFx0XHQuYnRuX2FsbF9ibG9jIC5idG5fYWxsIHt9XHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBUWVBFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBIRUFEIFBBR0UgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBUSVRSRSBQQUdFICYgQUNDUk9DSEUgUEFHRSAqKiovXHJcblx0XHRcdFx0XHRcdCo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC50aXRyZV9wYWdlICo6aXMoaDEsIHApIHsvKmZvbnQtc2l6ZTo0ZW07Ki99XHJcblx0XHRcdFx0XHRcdCo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7Lypmb250LXNpemU6MmVtOyovfVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0Lmxpc3RlX2J0biB7fVxyXG5cclxuXHRcdFx0XHQvKioqIFNFUEFSQVRJT04gQ09MX0xFRlQgLy8gQ09MX1JJR0hUICoqKi9cclxuXHRcdFx0XHRcdCNjb2xfbGVmdF9pbm5lciB7LypwYWRkaW5nLXJpZ2h0OjYuMnJlbTsqL31cclxuXHJcblx0XHRcdFx0LyoqKiBQQVJBTSBUWFQgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBUSVRSRVMgKioqL1xyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIGgyIHsvKmZvbnQtc2l6ZToyLjhlbTsqL31cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSBoMyB7fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIGg0IHt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBTS0lOIExJU1QgKioqL1xyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHVsLCAuY29udGVudF9wYWdlIG9sIHt9XHJcblx0XHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgdWwgbGksIC5jb250ZW50X3BhZ2Ugb2wgbGkge31cclxuXHJcblx0XHRcdFx0XHQvKioqIFNLSU4gVEFCTEVBVVggKioqL1xyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRhYmxlIGNhcHRpb24ge31cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSB0aCB7fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRkIHt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCTE9DS1FVT1RFICoqKi9cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSBibG9ja3F1b3RlIHsvKmZvbnQtc2l6ZToxLjhlbTsqL31cclxuXHJcblx0XHRcdFx0LyoqKiBHUklEIEVMRU1FTlQgKioqL1xyXG5cdFx0XHRcdFx0I2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCB7LyptYXJnaW4tdG9wOjNyZW07Ki99XHJcblxyXG5cdFx0XHRcdC8qKiogQkxPQyBWSURFTyAqKiovXHJcblx0XHRcdFx0XHQuYmxvY192aWRlbyB7LyptYXJnaW4tYm90dG9tOjNyZW07Ki99XHJcblxyXG5cdFx0XHRcdC8qKiogQ09MT05ORSBDT05URVhUVUVMTEUgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBCTE9DUyBDT0wgLSBUUkFNRSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wge31cclxuXHRcdFx0XHRcdFx0LmNvbF9sZWZ0IC5ibG9jX2NvbCB7fVxyXG5cdFx0XHRcdFx0XHQuY29sX3JpZ2h0IC5ibG9jX2NvbCB7fVxyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wgLnRpdHJlX2Jsb2Mgey8qcGFkZGluZzoxLjVyZW0gMnJlbSAwIDJyZW07Ki99XHJcblx0XHRcdFx0XHRcdC5ibG9jX2NvbCAudGl0cmVfYmxvYyAudGl0cmUgey8qZm9udC1zaXplOjIuOGVtOyovfVxyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wgLmNvbnRlbnVfYmxvYyAuc3VidGl0bGUgey8qZm9udC1zaXplOjEuOGVtOyovfVxyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wgLmNvbnRlbnVfYmxvYyB7LypwYWRkaW5nOjAgMnJlbTsqL31cclxuXHJcblx0XHRcdFx0LyoqKiBCTE9DUyBCQVMgREUgUEFHRSAqKiovXHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIExJU1RFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBSRVNVTFRBVFMgKioqL1xyXG5cdFx0XHRcdFx0I2ZpcnN0X2Rpc3BsYXkge21heC13aWR0aDogY2FsYygxMDAlIC0gMzNyZW0pO31cclxuXHRcdFx0XHRcdC8qKiogSVRFTSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdFx0XHQvKioqIElNQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0LyoqKiBaT05FIFRFWFRFICoqKi9cclxuXHRcdFx0XHRcdFx0LyoqKiBUSVRSRSAqKiovXHJcblx0XHRcdFx0XHRcdC8qKiogREVTQ1JJUFRJT04gKioqL1xyXG5cdFx0XHRcdFx0XHQvKioqIERBVEVTICoqKi9cclxuXHRcdFx0XHRcdFx0LyoqKiBMSUVVICoqKi9cclxuXHRcdFx0XHRcdFx0LyoqKiBDQVRFR09SSUUgKioqL1xyXG5cdFx0XHRcdFx0XHQvKioqIEVOIFNBVk9JUiBQTFVTICoqKi9cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9URVVSIERFIFJFQ0hFUkNIRSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBNT0RVTEVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdH1cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogTUVESVVNIGRlIDEwMjMgYSA2NDAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUkVTRVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBOT1JNQUxJU0FUSU9OICoqKi9cclxuXHRcdFx0XHRcdC8vIHAsIHVsIGxpLCBvbCBsaSwgbWFpbiBwLCBtYWluIHVsIGxpLCBtYWluIG9sIGxpIHtmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIHAsIGZvbnQtc2l6ZSk7IGxpbmUtaGVpZ2h0Om1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBwLCBsaW5lLWhlaWdodCk7fVxyXG5cdFx0XHRcdFx0cCwgdWwsIG9sLCBtYWluIHAsIG1haW4gdWwsIG1haW4gb2wgey8qbWFyZ2luLWJvdHRvbToycmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIEZPUk1VTEFJUkVTICoqKi9cclxuXHRcdFx0XHRcdC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge3dpZHRoOjEwMCU7IG1hcmdpbjowLjVyZW0gYXV0bzsgcGFkZGluZzowLjVyZW0gMDt9XHJcblxyXG5cdFx0XHRcdC8qKiogQk9VVE9OUyBMSUVOUywgQk9VVE9OUywgQk9VVE9OUyBDTE9TRSAqKiovXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTiBMSUVOICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl9saWVuLCAuY29udGVudF9wYWdlIC5idG5fbGllbiB7XHJcblx0XHRcdFx0XHRcdFx0YSB7fVxyXG5cdFx0XHRcdFx0XHRcdGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge31cclxuXHRcdFx0XHRcdFx0XHRzcGFuIHt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTiBBTEwgKioqL1xyXG5cdFx0XHRcdFx0XHQuYnRuX2FsbCwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcclxuXHRcdFx0XHRcdFx0XHQ+ICoge3BhZGRpbmctcmlnaHQ6MnJlbTsgcGFkZGluZy1sZWZ0OjJyZW07fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gQUREICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl9hZGQsIC5jb250ZW50X3BhZ2UgLmJ0bl9hZGQge1xyXG5cdFx0XHRcdFx0XHRcdGEge31cclxuXHRcdFx0XHRcdFx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHt9XHJcblx0XHRcdFx0XHRcdFx0c3BhbiB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHt9XHJcblx0XHRcdFx0XHRcdFx0c3BhblthcmlhLWhpZGRlbj1cInRydWVcIl06OmJlZm9yZSB7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gVFhUICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl90eHQsIC5jb250ZW50X3BhZ2UgLmJ0bl90eHQge1xyXG5cdFx0XHRcdFx0XHRcdGEge31cclxuXHRcdFx0XHRcdFx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0XHRzcGFuIHt9XHJcblx0XHRcdFx0XHRcdFx0c3Bhbjo6YmVmb3JlIHt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTiBSRVRPVVIgKioqL1xyXG5cdFx0XHRcdFx0XHQuYnRuX2JhY2ssIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrIHtcclxuXHRcdFx0XHRcdFx0XHRhIHt9XHJcblx0XHRcdFx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cykgc3Bhbjo6YmVmb3JlIHt9XHJcblx0XHRcdFx0XHRcdFx0c3BhbiB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW46OmJlZm9yZSB7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXHJcblx0XHRcdFx0XHRcdC5idXR0b24ge31cclxuXHRcdFx0XHRcdFx0LmJ1dHRvbiBzcGFuIHt9XHJcblx0XHRcdFx0XHRcdC5idXR0b246aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCQUxJU0VTIDxwPiBDT01NRSBVTiBCVVRUT04gKioqL1xyXG5cdFx0XHRcdFx0XHQuYnV0dG9uX2xpa2UsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlIHtcclxuXHRcdFx0XHRcdFx0XHRhIHt9XHJcblx0XHRcdFx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW4ge31cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OUyBET0NVTUVOVFMgKioqL1xyXG5cdFx0XHRcdFx0XHQuYnRuX2tpb3NxdWUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlICB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcclxuXHRcdFx0XHRcdFx0XHRhIHtwYWRkaW5nOiAxcmVtIDEuNXJlbTt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBCT1VUT05TIENMT1NFICoqKi9cclxuXHRcdFx0XHRcdC8qKiogQlROIENMT1NFICh2ZXJzaW9uIHBldGl0ZSBjcm9peCBcIlhcIiBzYW5zIGZvbmQpICoqKi9cclxuXHRcdFx0XHRcdC5idG5fY2xvc2Uge1xyXG5cdFx0XHRcdFx0XHQmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0XHRzcGFuIHt9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKioqL1xyXG5cdFx0XHRcdFx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblx0XHRcdFx0XHRcdHNwYW4ge31cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAoZGFucyBwb3BpbikgKioqL1xyXG5cdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykge31cclxuXHRcdFx0XHRcdFx0c3BhbiB7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluIGZ1bGxzY3JlZW4pICoqKi9cclxuXHRcdFx0XHRcdC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggLmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogQ0xPU0UgQlVUVE9OIEFEVkFOQ0VEIChcIkZFUk1FUiArIGNyb2l4XCIgb3UgXCJURVhURSArIGNyb2l4XCIpICoqKi9cclxuXHRcdFx0XHRcdC5jbG9zZS1hZHZhbmNlZCB7XHJcblx0XHRcdFx0XHRcdC50aXRsZSB7fVxyXG5cdFx0XHRcdFx0XHQudGl0bGU6OmFmdGVyIHt9XHJcblxyXG5cdFx0XHRcdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdFx0XHRcdCY6OmJlZm9yZSwgJjo6YWZ0ZXIge31cclxuXHRcdFx0XHRcdFx0XHQmOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0XHQmOjphZnRlciB7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qIERhbnMgcG9waW4gKi9cclxuXHRcdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQge31cclxuXHRcdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBTVFJVQ1RVUkUgR0VORVJBTEUgKioqL1xyXG5cdFx0XHRcdFx0I21haW4ge3BhZGRpbmctYm90dG9tOjA7fVxyXG5cdFx0XHRcdFx0I21haW4uemluZGV4IHt6LWluZGV4OjExICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdFx0LndyYXAsIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDVyZW0pICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdFx0LnJldmVhbCAud3JhcCwgLnJldmVhbCAuZ3JpZC1jb250YWluZXIge21heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7IHBhZGRpbmc6MCAhaW1wb3J0YW50OyB9XHJcblxyXG5cdFx0XHRcdC8qKiogSEVBREVSICoqKi9cclxuXHRcdFx0XHRcdCNoZWFkZXIge3RvcDppbmhlcml0OyBib3R0b206MDsgaGVpZ2h0OjAuMDAwMDAxcmVtO31cclxuXHRcdFx0XHRcdCNob21lICNkYXRhLXN0aWNreS1oZWFkZXI6bm90KC5pcy1zdHVjayksICNkYXRhLXN0aWNreS1oZWFkZXIge2hlaWdodDptYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIG1lZGl1bSk7IHRvcDphdXRvICFpbXBvcnRhbnQ7IGJvdHRvbTowICFpbXBvcnRhbnQ7IHBvc2l0aW9uOmZpeGVkOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTsgYm9yZGVyLWJvdHRvbTowLjFyZW0gc29saWQgJGNpbV9saWdodF9ncmF5OyB0cmFuc2Zvcm06bm9uZTt9XHJcblx0XHRcdFx0XHQjbWVudV9yaWdodCB7QGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbnVsbCk7IHBhZGRpbmctdG9wOjA7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogU0VBUkNIIEJVVFRPTiAqKiovXHJcblxyXG5cdFx0XHRcdFx0LyoqKiBMT0dPICoqKi9cclxuXHRcdFx0XHRcdFx0I2xvZ28gc3ZnIHttYXgtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIG1lZGl1bSk7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogVE9PTFMgSEVBREVSIExJTksgKioqL1xyXG5cdFx0XHRcdFx0XHQjdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaSA+ICoge2hlaWdodDogMy4ycmVtOyB3aWR0aDozLjJyZW07fVxyXG5cdFx0XHRcdFx0XHQjdG9vbHNfaGVhZGVyX2xpbmssICN0b29sc19oZWFkZXJfbGluayA+IC5ncmlkLXgge2hlaWdodDoxMDAlOyB9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBIRUFERVIgVE9PTFMgKioqL1xyXG5cdFx0XHRcdFx0XHQjbGVmdG1lbnVfY29udCAjcmVzZWF1eF9zb2NpYXV4X3NpZGViYXIge3BhZGRpbmc6MXJlbSAzcmVtO2JhY2tncm91bmQtY29sb3I6ICRjaW1fbGlnaHRfZ3JheX1cclxuXHRcdFx0XHRcdFx0I2xlZnRtZW51X2NvbnQgLmplX3N1aXNfY29udGFpbmVyIHtwYWRkaW5nOjFyZW0gM3JlbSAzcmVtIDNlbTt9XHJcblx0XHRcdFx0XHRcdCNsZWZ0bWVudV9jb250ICNyZXNlYXV4X3NvY2lhdXhfc2lkZWJhciB7XHJcblx0XHRcdFx0XHRcdFx0bGkgYSB7ZGlzcGxheTpibG9jazsgd2lkdGg6Mi41cmVtOyBoZWlnaHQ6Mi41cmVtO2JhY2tncm91bmQtc2l6ZTogYXV0byAxLjhyZW07fVxyXG5cdFx0XHRcdFx0XHRcdGxpIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMi4ycmVtO31cclxuXHRcdFx0XHRcdFx0XHQucmVzZWF1X2ZhY2Vib29rIGEge0BpbmNsdWRlIHBpY3RvX2ZhY2Vib29rKCRjaW1fYmxhY2spO31cclxuXHRcdFx0XHRcdFx0XHQucmVzZWF1X3R3aXR0ZXIgYSB7QGluY2x1ZGUgcGljdG9fdHdpdHRlcigkY2ltX2JsYWNrKTt9XHJcblx0XHRcdFx0XHRcdFx0LnJlc2VhdV9pbnN0YWdyYW0gYSB7ZmlsdGVyOmJyaWdodG5lc3MoMTAwKSBpbnZlcnQoMTAwJSk7fVxyXG5cdFx0XHRcdFx0XHRcdC5yZXNlYXVfeW91dHViZSBhIHtAaW5jbHVkZSBwaWN0b195b3V0dWJlKCRjaW1fYmxhY2spO2JhY2tncm91bmQtc2l6ZTogMnJlbSBhdXRvO31cclxuXHRcdFx0XHRcdFx0XHQucmVzZWF1X3lvdXR1YmUgYTppcyg6aG92ZXIsIDpmb2N1cykge2JhY2tncm91bmQtc2l6ZTogMi41cmVtIGF1dG87fVxyXG5cdFx0XHRcdFx0XHRcdC5yZXNlYXVfdmltZW8gYSB7QGluY2x1ZGUgcGljdG9fdmltZW8oJGNpbV9ibGFjayk7fVxyXG5cdFx0XHRcdFx0XHRcdC5yZXNlYXVfbGlua2VkaW4gYSB7QGluY2x1ZGUgcGljdG9fbGlua2VkaW4oJGNpbV9ibGFjayk7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdC8qKiogUkVTRUFVWCAqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogUE9QSU5TICoqKi9cclxuXHRcdFx0XHRcdC8qKiogU1RZTEUgR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHt0b3A6MnJlbTsgcmlnaHQ6MnJlbTt9XHJcblx0XHRcdFx0XHRcdC5yZXZlYWwsIC5yZXZlYWwuc2lkZWJhciwgLnNlYXJjaF9hcmVhX2NvbnQuaXNfc2VhcmNoLCAucmV2ZWFsLmZ1bGwge3BhZGRpbmc6IDhyZW0gM3JlbSAzcmVtIDNyZW07fVxyXG5cclxuXHRcdFx0XHRcdFx0LyogdGl0cmUgKi9cclxuXHRcdFx0XHRcdFx0XHQucmV2ZWFsIC50aXRyZV9wb3BpbiB7bWFyZ2luLWJvdHRvbTozcmVtO31cclxuXHRcdFx0XHRcdFx0LyogZm9ybSAqL1xyXG5cclxuXHRcdFx0XHRcdC8qKiogUE9QSU4gU0lERUJBUiArIHNlbnNhdGlvbiBwb3BpbiByZWNoZXJjaGUgKioqL1xyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBPVkVSTEFZICoqKi9cclxuXHJcblx0XHRcdFx0XHQvKioqIFBPUElOIEZVTEwgKyBwb3BpbiByZWNoZXJjaGUgKioqL1xyXG5cclxuXHRcdFx0XHQvKioqIE1FTlUgUFJJTkNJUEFMICoqKi9cclxuXHRcdFx0XHRcdC8qKiogU1RSVUNUVVJFIENBTlZBUyAqKiovXHJcblx0XHRcdFx0XHQub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHsvKnRyYW5zZm9ybTp0cmFuc2xhdGVYKC0je21hcC1kZWVwLWdldCgkb2ZmY2FudmFzLXNpemVzLCBtZWRpdW0pfSk7IHdpZHRoOiN7bWFwLWRlZXAtZ2V0KCRvZmZjYW52YXMtc2l6ZXMsIG1lZGl1bSl9OyovIGhlaWdodDpjYWxjKDEwMCUgLSAje21hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbWVkaXVtKX0pOyB0b3A6MCAhaW1wb3J0YW50O31cclxuXHJcblx0XHRcdFx0XHQvKioqIE1FTlUgT1ZFUkxBUCBUUkFOU0lUSU9OICoqKi9cclxuXHRcdFx0XHRcdFx0Lm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbixcclxuXHRcdFx0XHRcdFx0Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcclxuXHRcdFx0XHRcdFx0Lm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2guaXMtb3BlbiB7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKTsgei1pbmRleDoxMDA0OyBvdmVyZmxvdzp2aXNpYmxlO31cclxuXHRcdFx0XHRcdFx0Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7dHJhbnNmb3JtOm5vbmU7fVxyXG5cdFx0XHRcdFx0XHQub2ZmLWNhbnZhcy1jb250ZW50IHt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O31cclxuXHJcblx0XHRcdFx0XHQvKioqIE9WRVJMQVkgKioqL1xyXG5cdFx0XHRcdFx0XHQuanMtb2ZmLWNhbnZhcy1leGl0LCAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHsvKmJhY2tncm91bmQ6dHJhbnNwYXJlbnRpemUoZGFya2VuKHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKSwgMTAlKSwgMC4yKTsqLyBiYWNrZHJvcC1maWx0ZXI6Ymx1cigxcmVtKTsgdG9wOjAgIWltcG9ydGFudDsgei1pbmRleDoxMDAzOyBoZWlnaHQ6Y2FsYygxMDAlIC0gI3ttYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIG1lZGl1bSl9KTsgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogTUVOVSAqKiovXHJcblx0XHRcdFx0XHRcdCNsZWZ0bWVudV9jb250IHtoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOnN0cmV0Y2g7IGJhY2tncm91bmQtY29sb3I6ICRjaW1fYmxhY2s7fVxyXG5cdFx0XHRcdFx0XHQjc21hcnRfbWVudSB7ZmxleDoxIDEgMDt9XHJcblx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24ge21heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OjEwMCUgIWltcG9ydGFudDsgei1pbmRleDoxO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogR0VORVJJUVVFIChwb3VyIHRvdXMgbGVzIG5pdmVhdXggZHUgbWVudSkgKioqL1xyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwge2hlaWdodDoxMDAlOyBwYWRkaW5nOjEuNXJlbSAzcmVtOyBvdmVyZmxvdy14OmhpZGRlbjsgb3ZlcmZsb3cteTphdXRvOyBtYXJnaW46MDsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdFx0XHRcdFx0XHQjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duIHVsLm92ZXJmbG93IHtvdmVyZmxvdy15OmhpZGRlbjt9XHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bCBsaSArIGxpIHtib3JkZXItdG9wOjAuMnJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gbGkgYSB7Y29sb3I6JGNpbV9ibGFjazsgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsgZm9udC1zaXplOjFlbTsgbGluZS1oZWlnaHQ6MS4yOyBwYWRkaW5nOjEuNXJlbSAzLjVyZW0gMS41cmVtIDA7IGZvbnQtZmFtaWx5OiRib2xkO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogTEVWRUwgMSAqKiovXHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biA+IHVsIHtkaXNwbGF5OmJsb2NrOyB0b3A6MDsgLypiYWNrZ3JvdW5kOiRkZWZhdWx0X2NvbG9yOyovfVxyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gPiB1bCA+IGxpIHtmb250LXNpemU6MnJlbTt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIExFVkVMIDIgKioqL1xyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwuc291c19tZW51IHt6LWluZGV4OjI7IHBhZGRpbmctdG9wOjhyZW07IC8qYmFja2dyb3VuZDpkYXJrZW4oJGRlZmF1bHRfY29sb3IsIDUlKTsqL31cclxuXHRcdFx0XHRcdFx0XHQjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duID4gdWwgbGkubGV2ZWwyIHtmb250LXNpemU6MS44cmVtO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogTEVWRUwgMyAqKiovXHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bC5zbSB7ei1pbmRleDozOyBwYWRkaW5nLXRvcDo4cmVtOyAvKmJhY2tncm91bmQ6ZGFya2VuKCRkZWZhdWx0X2NvbG9yLCAxMCUpOyovfVxyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gPiB1bCBsaS5sZXZlbDMge2ZvbnQtc2l6ZToxLjhyZW07fVxyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBBRkZJQ0hBR0UgRFUgTk9NIERFIExBIFJVQlJJUVVFIFBBUkVOVCAqKiovXHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLm1lbnUudmVydGljYWwgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoycmVtOyBoZWlnaHQ6MXJlbTsgcmlnaHQ6MDsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IGJvcmRlcjowOyBtYXJnaW46MDsgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47IEBpbmNsdWRlIHRoZV9jaGV2cm9uKCRjaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gPiB1bCBsaS5pcy1zdWJtZW51LXBhcmVudC1pdGVtIHtmb250LXNpemU6MnJlbTsgbGluZS1oZWlnaHQ6MTsgYm9yZGVyOjA7IHBhZGRpbmctYm90dG9tOjEuNXJlbTt9XHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biA+IHVsIGxpLmlzLXN1Ym1lbnUtcGFyZW50LWl0ZW0gYSB7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjokY2ltX2JsYWNrO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogQlROIFwiUkVUT1VSXCIgKioqL1xyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwgLmpzLWRyaWxsZG93bi1iYWNrIHtmb250LXNpemU6MS42cmVtOyBsaW5lLWhlaWdodDoxOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgd2lkdGg6MTAwJTsgYmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7fVxyXG5cdFx0XHRcdFx0XHRcdCNvZmZDYW52YXNMZWZ0IC5pcy1kcmlsbGRvd24gdWwgLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7bGluZS1oZWlnaHQ6MTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBwYWRkaW5nOjEuNXJlbSAzcmVtOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblx0XHRcdFx0XHRcdFx0I29mZkNhbnZhc0xlZnQgLmlzLWRyaWxsZG93biB1bCAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge2NvbnRlbnQ6Jyc7IHdpZHRoOjNyZW07IGhlaWdodDoycmVtOyBkaXNwbGF5OmlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246dGV4dC10b3A7ICBtYXJnaW4tcmlnaHQ6MXJlbTsgYm9yZGVyOjA7IGJvcmRlci1yYWRpdXM6NTAlOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gYXV0byAxcmVtOyBAaW5jbHVkZSBidG5fYmFjaygkY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHJcblx0XHRcdFx0XHQvKioqIEhFQURFUiAqKiovXHJcblx0XHRcdFx0XHRcdC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2ggI2hvbWUgI2hlYWRlciAjZGF0YS1zdGlja3ktaGVhZGVyOm5vdCguaXMtc3R1Y2spLCAjaGVhZGVyICNkYXRhLXN0aWNreS1oZWFkZXIsXHJcblx0XHRcdFx0XHRcdC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAgI2hvbWUgI2hlYWRlciAjZGF0YS1zdGlja3ktaGVhZGVyOm5vdCguaXMtc3R1Y2spLCAjaGVhZGVyICNkYXRhLXN0aWNreS1oZWFkZXIge2xlZnQ6MCAhaW1wb3J0YW50O31cclxuXHRcdFx0XHRcdFx0LyogQmFuZGVhdSAqL1xyXG5cdFx0XHRcdFx0XHQvKi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtY2xvc2UuaGFzLXRyYW5zaXRpb24tcHVzaCAuYmFuZGVhdV9wYWdlLCovXHJcblx0XHRcdFx0XHRcdC8qLm9mZi1jYW52YXMtY29udGVudC5pcy1jbG9zZS5oYXMtdHJhbnNpdGlvbi1vdmVybGFwIC5iYW5kZWF1X3BhZ2Uge3RyYW5zZm9ybTpub25lO30qL1xyXG5cdFx0XHRcdFx0XHQub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIC5iYW5kZWF1X3BhZ2UsXHJcblx0XHRcdFx0XHRcdC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAgLmJhbmRlYXVfcGFnZSB7dHJhbnNmb3JtOm5vbmU7fVxyXG5cclxuXHRcdFx0XHQvKioqIEJBTkRFQVUgSU1BR0UgKioqL1xyXG5cdFx0XHRcdFx0I2hvbWUgLmJhbmRlYXVfcGFnZSB7aGVpZ2h0OjI1cmVtOyAvKm1pbi1oZWlnaHQ6aW5oZXJpdDsqL31cclxuXHRcdFx0XHRcdCNob21lIC5iYW5kZWF1X3BhZ2UgLmltZyBpbWcge21heC1oZWlnaHQ6MTA1JTsgbWF4LXdpZHRoOjIwMCU7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogR08gVE8gTkVYVCAqKiovXHJcblx0XHRcdFx0XHRcdCNnb190b19uZXh0IHt9XHJcblxyXG5cdFx0XHRcdC8qKiogRk9PVEVSICoqKi9cclxuXHRcdFx0XHRcdCNmb290ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBtaW4taGVpZ2h0OmluaXRpYWw7fVxyXG5cdFx0XHRcdFx0I2luZm9fZm9vdGVyIHtwYWRkaW5nOjMuNXJlbSAwIDNyZW0gMDt9XHJcblx0XHRcdFx0XHQjZm9vdGVyIC5hcHBsaV9mb290ZXIgLmJ0bl9saWVuIHt3aGl0ZS1zcGFjZTppbml0aWFsO31cclxuXHRcdFx0XHRcdCNpbmZvX2Zvb3RlciAueGxhcmdlLW9mZnNldC0xIHt0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHRcdCNpbmZvX2Zvb3RlciAueGxhcmdlLW9mZnNldC0xIC5ncmlkLXgge3RleHQtYWxpZ246bGVmdDt9XHJcblxyXG5cdFx0XHRcdFx0I2JhY2tfdG9fdG9wIHAgYSB7bWF4LXdpZHRoOjcuNHJlbTsgbWF4LWhlaWdodDo3LjRyZW07IHdpZHRoOjEwdnc7IGhlaWdodDoxMHZ3OyBtaW4td2lkdGg6NXJlbTsgbWluLWhlaWdodDo1cmVtO31cclxuXHJcblx0XHRcdFx0XHQjbWVudV9mb290ZXIgdWwge3BhZGRpbmc6IDFyZW0gMDt9XHJcblx0XHRcdFx0XHQjbWVudV9mb290ZXIgdWwgbGkge3BhZGRpbmc6MC41cmVtIDAuNXJlbSAwLjVyZW0gMXJlbTsgZm9udC1zaXplOjEuNGVtO31cclxuXHRcdFx0XHRcdCNtZW51X2Zvb3RlciB1bCBsaSBhIHtwYWRkaW5nOjAgMC41cmVtO31cclxuXHRcdFx0XHRcdCNtZW51X2Zvb3RlciB1bCBsaTo6YmVmb3JlIHt0b3A6LTAuMXJlbTt9XHJcblx0XHRcdFx0XHQjbWVudV9mb290ZXIgdWwgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7Y29udGVudDpcIlwiO31cclxuXHJcblx0XHRcdFx0LyoqKiBGSUwgRCdBUklBTkUgKioqL1xyXG5cdFx0XHRcdFx0I2ZpbF9hcmlhbmUge31cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogSE9NRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHQjaG9tZSAjaW1nX2JkcCB7cmlnaHQ6LTMwcmVtOyB3aWR0aDphdXRvO31cclxuXHRcdFx0XHQjaW1nX2JkcCBpbWcge21heC13aWR0aDpub25lOyB3aWR0aDphdXRvO31cclxuXHRcdFx0XHQuY29udGVudF9mcm9tX3BhZ2UgLmNvbnRlbnRfcGFnZTo6YmVmb3JlLCAuY29udGVudF9mcm9tX3BhZ2UgLmNvbnRlbnRfcGFnZSB+IC5ibG9jX2hvbWU6OmJlZm9yZSB7YmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgcmlnaHQgMTFyZW07fVxyXG5cclxuXHRcdFx0XHQvKioqIFRBR1MgKioqL1xyXG5cclxuXHRcdFx0XHQvKioqIEJMT0NTIEhPTUUgLSBUUkFNRSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfaG9tZSA+IHNwYW4gKyAuYmxvY19ob21lOm5vdCgjYWNjZXNfcmFwaWRlcykge3BhZGRpbmctdG9wOjA7fVxyXG5cdFx0XHRcdFx0LmJsb2NfaG9tZSB7cGFkZGluZy1ib3R0b206NHJlbTsgcGFkZGluZy10b3A6M3JlbTt9XHJcblx0XHRcdFx0XHQuYmxvY19ob21lIC5idG5fYWxsIHttYXJnaW4tdG9wOjRyZW07fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogVElUUkUgKioqL1xyXG5cdFx0XHRcdFx0XHQuYmxvY19ob21lIC50aXRyZV9ibG9jIHttYXJnaW4tYm90dG9tOjEuNXJlbTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge2ZvbnQtc2l6ZTo0LjVlbTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBTT1VTLVRJVFJFICoqKi9cclxuXHRcdFx0XHRcdFx0LmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSB7Zm9udC1zaXplOjRyZW07fVxyXG5cdFx0XHRcdFx0XHQuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUgc3BhbiwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUgc3BhbiB7Zm9udC1zaXplOjNyZW07fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQlROIEFMTCAqKiovXHJcblx0XHRcdFx0XHRcdC5idG5fYWxsX2Jsb2Mge31cclxuXHRcdFx0XHRcdFx0LmJ0bl9hbGxfYmxvYyAuYnRuX2FsbCB7fVxyXG5cclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgVFlQRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC5jb250ZW50X2Zyb21fcGFnZSB7bWFyZ2luLXRvcDowO31cclxuXHJcblx0XHRcdFx0I3BhZ2UgLmJhbmRlYXVfcGFnZSwgI2JhbmRlYXVfcGFnZV9wb3BpbiB7XHJcblx0XHRcdFx0XHQuY29weXJpZ2h0IHt0cmFuc2Zvcm06bm9uZTsgcmlnaHQ6LTIuNXJlbTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWFnZSBEQU5TIGxlIHdyYXAgKioqL1xyXG5cdFx0XHRcdCR4eU9uemU6IGNhbGMoKDEwMHZ3IC0gNXJlbSkgKiAxMSAvIDEyKTtcclxuXHRcdFx0XHQjcGFnZSAuYmFuZGVhdV9wYWdlIHtcclxuXHRcdFx0XHRcdC8qKiogTGFyZ2V1ciBkZSBsJ2ltYWdlIEhPUlMgZHUgd3JhcCAqKiovXHJcblx0XHRcdFx0XHRcdCRvdXRXcmFwOiAyLjVyZW07XHJcblx0XHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xyXG5cdFx0XHRcdFx0XHRpbWcsIC5kZWZhdWx0X2ltZyB7d2lkdGg6Y2FsYygjeyR4eU9uemV9ICsgI3skb3V0V3JhcH0pOyBoZWlnaHQ6Y2FsYygxMDAlIC0gI3ttYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIG1lZGl1bSl9KTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQjYmFuZGVhdV9wYWdlX3BvcGluIHtcclxuXHRcdFx0XHRcdC8qKiogTGFyZ2V1ciBkZSBsJ2ltZyAqKiovXHJcblx0XHRcdFx0XHRcdGltZywgLmRlZmF1bHRfaW1nIHt3aWR0aDpjYWxjKCN7JHh5T256ZX0gKyAxLjVyZW0pOyBoZWlnaHQ6Y2FsYygxMDAlIC0gI3ttYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIG1lZGl1bSl9KTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKioqIEhFQUQgUEFHRSAqKiovXHJcblx0XHRcdFx0XHQvKioqIFRJVFJFIFBBR0UgJiBBQ0NST0NIRSBQQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0KjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnRpdHJlX3BhZ2UgKjppcyhoMSwgcCkge2ZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDEsIGZvbnQtc2l6ZSk7fVxyXG5cdFx0XHRcdFx0XHQqOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAucXVvdGUgKjppcyhoMiwgcCkge2ZvbnQtc2l6ZToyZW07fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9xdW90ZSB7cGFkZGluZzo0cmVtIDVyZW07fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0Lmxpc3RlX2J0biB7fVxyXG5cclxuXHRcdFx0XHQvKioqIFBBUkFNIFRYVCAqKiovXHJcblx0XHRcdFx0XHQvKioqIFRJVFJFUyAqKiovXHJcblx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIGgyIHtmb250LXNpemU6Mi41ZW07fVxyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSBoMyB7Zm9udC1zaXplOjJlbTt9XHJcblx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIGg0IHtmb250LXNpemU6MS42ZW07fVxyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSBoMiwgLmNvbnRlbnRfcGFnZSBoMywgLmNvbnRlbnRfcGFnZSBoNCB7bWFyZ2luLXRvcDoycmVtOyBtYXJnaW4tYm90dG9tOjEuNXJlbTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBTS0lOIExJU1QgKioqL1xyXG5cdFx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIHVsLCAuY29udGVudF9wYWdlIG9sIHt9XHJcblx0XHRcdFx0XHRcdC8vIC5jb250ZW50X3BhZ2UgdWwgbGksIC5jb250ZW50X3BhZ2Ugb2wgbGkge31cclxuXHJcblx0XHRcdFx0XHQvKioqIFNLSU4gVEFCTEVBVVggKioqL1xyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRhYmxlIGNhcHRpb24ge2ZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDMsIGZvbnQtc2l6ZSk7fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRoIHtwYWRkaW5nOjFyZW07IGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgcCwgZm9udC1zaXplKTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCTE9DS1FVT1RFICoqKi9cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSBibG9ja3F1b3RlIHtmb250LXNpemU6MmVtO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogQkxPQyBDSVRBVElPTiAqKiovXHJcblx0XHRcdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiB7fVxyXG5cclxuXHJcblx0XHRcdFx0LyoqKiBTVFlMRSBSVEUgKioqL1xyXG5cdFx0XHRcdFx0LmNlLXRleHRwaWMgLmNlLWdhbGxlcnkge2Zsb2F0Om5vbmU7fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSAuY3NjLXRleHRwaWMtaW1hZ2UsIC5jb250ZW50X3BhZ2UgZmlndXJlLmltYWdlIHttYXJnaW46MDt9XHJcblxyXG5cdFx0XHRcdC8qKiogR1JJRCBFTEVNRU5UICoqKi9cclxuXHRcdFx0XHRcdCNjb2xfbGVmdF9pbm5lciA+IC5ncmlkLXggey8qbWFyZ2luLXRvcDozcmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIEJMT0MgVklERU8gKioqL1xyXG5cdFx0XHRcdFx0LmJsb2NfdmlkZW8gey8qbWFyZ2luLWJvdHRvbTozcmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIENPTE9OTkUgQ09OVEVYVFVFTExFICoqKi9cclxuXHRcdFx0XHRcdC5jb2xfcmlnaHQge29yZGVyOi0xOyBtYXJnaW4tYm90dG9tOjJyZW07fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQkxPQ1MgQ09MIC0gVFJBTUUgR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdFx0LmJsb2NfY29sIHt9XHJcblx0XHRcdFx0XHRcdC5jb2xfbGVmdCAuYmxvY19jb2wge31cclxuXHRcdFx0XHRcdFx0LmNvbF9yaWdodCAuYmxvY19jb2wge31cclxuXHRcdFx0XHRcdFx0LyouYmxvY19jb2wgLnRpdHJlX2Jsb2Mge3BhZGRpbmc6MS41cmVtIDJyZW0gMCAycmVtO30qL1xyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wgLnRpdHJlX2Jsb2MgLnRpdHJlIHtmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGgyLCBmb250LXNpemUpO31cclxuXHRcdFx0XHRcdFx0LyouYmxvY19jb2wgLmNvbnRlbnVfYmxvYyAuc3VidGl0bGUge2ZvbnQtc2l6ZToxLjhlbTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2NvbCAuY29udGVudV9ibG9jIHtwYWRkaW5nOjAgMnJlbTt9Ki9cclxuXHJcblx0XHRcdFx0LyoqKiBCTE9DUyBCQVMgREUgUEFHRSAqKiovXHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIExJU1RFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0I3BhZ2UubGlzdCAuaGVhZF9wYWdlLCAjcGFnZS5kYXNoYm9hcmQgLmhlYWRfcGFnZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOjA7XHJcblx0XHRcdFx0XHQuY29udGFpbl9pbmZvczo6YmVmb3JlIHt3aWR0aDo4MXZ3O31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogUkVTVUxUQVRTICoqKi9cclxuXHRcdFx0XHRcdCN6b25lX3Jlc3VsdHMgey8qcGFkZGluZy1ib3R0b206NHJlbTsqL31cclxuXHRcdFx0XHRcdCNsaXN0X2l0ZW1zIHsvKnBhZGRpbmctdG9wOmNhbGMoICN7bWFwLWRlZXAtZ2V0KCRtb3RldXJfaGVpZ2h0LCBtZWRpdW0pfSArIDEuNXJlbSk7Ki8gcGFkZGluZy10b3A6M3JlbTsgaGVpZ2h0OmluaGVyaXQ7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogSVRFTSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdFx0XHQvKiAvLy8vLyBBVFRFTlRJT04gXFxcXFxcXFxcXCBvbiBpbnZlcnNlIGxlcyBwb3NpdGlvbnMgcmVsYXRpdmUgZXQgYWJzb2x1ZSBkZXMgaXRlbXMgcG91ciBxdWUgbGUgdGV4dGUgc29pdCBkYW5zIGxlIGZsdXggKHJlbGF0aXZlKSBldCBxdWUgbCdpbWFnZSBzb2l0IGxpbWl0ZWUgKGFic29sdXRlKSovXHJcblx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gey8qbWFyZ2luLWJvdHRvbTozcmVtOyovfVxyXG5cdFx0XHRcdFx0XHQubGlzdF9pdGVtLmJhbmRlYXVfaXRlbSA+IC5saW5rIHt9XHJcblx0XHRcdFx0XHRcdC5saXN0X2l0ZW0uYmFuZGVhdV9wb3J0cmFpdCA+IC5saW5rIHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIElNQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0XHQvKiAvLy8vLyBBVFRFTlRJT04gXFxcXFxcXFxcXCBlbGxlcyBwYXNzZW50IGVuIGFic29sdWUgb24gbGltaXRlIGxldXJzIGRpbWVuc2lvbnMgZXQgb24gZ2VyZSBsZXMgcHJvcG9ydGlvbnMgOiBsZSB3aWR0aCBzZXJhIGEgMTAwJSAob24gbWV0IDEwNSUgcGFyIHNlY3VyaXRlKSBtYWlzIGxhIGhhdXRldXIgcGV1dCBiY3AgZXZvbHVlciBvbiBtZXQgMjAwJSwgMjUwJSBlbiBwb3J0cmFpdCovXHJcblx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbSAuaW1nIHt9XHJcblx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbSAuaW1nIGltZyB7fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQubGlzdF9pdGVtLmJhbmRlYXVfcG9ydHJhaXQgLmltZyB7fVxyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0uYmFuZGVhdV9wb3J0cmFpdCAuaW1nIGltZyB7fVxyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBaT05FIFRFWFRFICoqKi9cclxuXHRcdFx0XHRcdFx0XHQvKiBwb3VyIGl0ZW0gY2xhc3NpcXVlIHNhbnMgaW1nID4gZXguIEFTU09DSUFUSU9OICovXHJcblx0XHRcdFx0XHRcdFx0XHQubGlzdF9pdGVtIC50eHQgey8qcGFkZGluZzoxLjVyZW0gMS41cmVtOyBtaW4taGVpZ2h0OmluaXRpYWw7IGhlaWdodDoxMDAlOyovfVxyXG5cdFx0XHRcdFx0XHRcdC8qIHBvdXIgYmFuZGVhdSBpdGVtIGF2ZWMgaW1nID4gZXguIEFHRU5EQSAqL1xyXG5cdFx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbS5iYW5kZWF1X2l0ZW0gLnR4dCB7LypwYWRkaW5nOjEuNXJlbSAxLjVyZW07IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OmluaXRpYWw7IG1heC1oZWlnaHQ6aW5pdGlhbDsgcG9zaXRpb246cmVsYXRpdmU7IGJvdHRvbTppbml0aWFsOyBsZWZ0OmluaXRpYWw7Ki99XHJcblx0XHRcdFx0XHRcdFx0LyogcG91ciBiYW5kZWF1IGl0ZW0gYXZlYyBpbWcgZm9ybWF0IHBvcnRyYWl0ID4gZXguIEVMVVMgKi9cclxuXHRcdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0uYmFuZGVhdV9wb3J0cmFpdCAudHh0IHsvKm1pbi1oZWlnaHQ6aW5pdGlhbDsqL31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogREFURVMgKioqL1xyXG5cclxuXHRcdFx0XHRcdFx0XHQvKioqIEdFTkVSSVFVRSAqKiovXHJcblx0XHRcdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4ge3BhZGRpbmc6MXJlbTt9XHJcblx0XHRcdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfZGF5X25iIHtmb250LXNpemU6M2VtO31cclxuXHRcdFx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9tb250aCB7Zm9udC1zaXplOjEuNmVtOyBsaW5lLWhlaWdodDoxO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogVElUUkUgKioqL1xyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gLnRpdHJlLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0gLnRpdHJlIHtmb250LXNpemU6MmVtO31cclxuXHRcdFx0XHRcdFx0XHQubGlzdF9pdGVtIC50aXRyZSBhLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0gLnRpdHJlIGEge31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogREVTQ1JJUFRJT04gKioqL1xyXG5cdFx0XHRcdFx0XHRcdC8qIEdlc3Rpb24gZGVzIGVsZW1lbnRzIGFmZmljaGVzIGF1IHN1cnZvbCBkZXMgaXRlbSAqL1xyXG5cdFx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbSAuc2hvd29uaG92ZXIge2hlaWdodDphdXRvOyB0cmFuc2Zvcm06c2NhbGVZKDEpOyBvdmVyZmxvdzppbml0aWFsOyBtYXgtaGVpZ2h0Om5vbmU7IG9wYWNpdHk6MTt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIExJRVUgKioqL1xyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gLmxpZXUge31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogQ0FURUdPUklFICoqKi9cclxuXHRcdFx0XHRcdFx0XHQuY2F0LCAubGlzdF9pdGVtIC5jYXQge2ZvbnQtc2l6ZToxLjJlbTsgbGluZS1oZWlnaHQ6MWVtO31cclxuXHRcdFx0XHRcdFx0XHQuY2F0IHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIEVOIFNBVk9JUiBQTFVTICoqKi9cclxuXHRcdFx0XHRcdFx0XHQvKi5saXN0X2l0ZW0gLmJ0bl90eHQge3BhZGRpbmctdG9wOjIuM3JlbTsgcmlnaHQ6aW5oZXJpdDsgbGVmdDotM3JlbTsgd2lkdGg6Y2FsYygxMDAlICsgNnJlbSk7fVxyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gLmJ0bl90eHQgc3BhbiB7cGFkZGluZzowIDMuNXJlbSAwIDA7fSovXHJcblxyXG5cdFx0XHRcdFx0LyoqKiBJVEVNUyBTVUJQQUdFUyAvLyBQQUdFIENBUlJFRk9VUiAqKiovXHJcblx0XHRcdFx0XHRcdC8qLmxpc3RfaXRlbS5zdWJwYWdlLmJhbmRlYXVfaXRlbSA+IC5saW5rLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0uc3VicGFnZS5iYW5kZWF1X2l0ZW0gPiAubGluayB7cGFkZGluZy1ib3R0b206MDsgcGFkZGluZy10b3A6MTVyZW07IGhlaWdodDoxMDAlO31cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbS5iYW5kZWF1X2l0ZW0uc3VicGFnZSAuaW1nLCAuY29udGVudF9wYWdlIC5jb250ZW50IC5saXN0X2l0ZW0uc3VicGFnZSAuaW1nIHtoZWlnaHQ6MjJyZW07fSovXHJcblxyXG5cdFx0XHRcdFx0LyoqKiBJVEVNUyBSRUNIRVJDSEUgR0VORVJBTEUgKioqL1xyXG5cdFx0XHRcdFx0XHQubGlzdF9pdGVtLnNlYXJjaCAudHh0IHttaW4taGVpZ2h0OmluaXRpYWw7fVxyXG5cdFx0XHRcdFx0XHQubGlzdF9pdGVtLnNlYXJjaCAudHlwZSB7Lypmb250LXNpemU6MS4xZW07IGxpbmUtaGVpZ2h0OjEuMWVtOyBtYXJnaW4tYm90dG9tOjEuNXJlbTsqL31cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbS5zZWFyY2ggLnR5cGU6OmFmdGVyIHsvKmxlZnQ6MDsgdG9wOjUwJTsgd2lkdGg6MTAwJTsgaGVpZ2h0OjAuMXJlbTsqL31cclxuXHRcdFx0XHRcdFx0LnR5cGUgc3BhbiB7LypwYWRkaW5nOjAuM3JlbSAwLjVyZW07Ki99XHJcblx0XHRcdFx0XHRcdC8qIHNraW4gKyB2aXNpYmxlIGF1IHN1cnZvbCBhdmVjIGJvcmRlciAqL1xyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0uc2VhcmNoIC50eHQge3RyYW5zaXRpb246bm9uZTt9XHJcblx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbS5zZWFyY2g6aG92ZXIgLnR4dCxcclxuXHRcdFx0XHRcdFx0XHQubGlzdF9pdGVtLnNlYXJjaCA+IC5saW5rOmhvdmVyIC50eHQge2JveC1zaGFkb3c6bm9uZTsgYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O31cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHQjcG9waW5fZGV0YWlsIHtcclxuXHRcdFx0XHRcdHdpZHRoOjEwMHZ3OyBtYXgtd2lkdGg6MTAwdnc7IHRvcDowICFpbXBvcnRhbnQ7IGxlZnQ6MDsgcGFkZGluZzowIDEuNXJlbSAxMHJlbSAxLjVyZW07IGJhY2tkcm9wLWZpbHRlcjppbml0aWFsOyBiYWNrZ3JvdW5kOiRjaW1fd2hpdGU7IG1pbi1oZWlnaHQ6MTAwJTtcclxuXHRcdFx0XHRcdC5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXI6OmJlZm9yZSB7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0XHRcdFx0Ly8gLmJsb2NfY29sIC50aXRyZV9ibG9jIC50aXRyZSB7Zm9udC1zaXplOjFlbTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKioqIE5BVklHQVRJT04gKioqL1xyXG5cdFx0XHRcdFx0LnBvcGluX2RldGFpbC5yZXZlYWwge21heC13aWR0aDoxMDAlOyB3aWR0aDoxMDAlOyBib3JkZXItcmFkaXVzOjA7IG1pbi1oZWlnaHQ6MDsgaGVpZ2h0OmF1dG87fVxyXG5cdFx0XHRcdFx0LnBvcGluX2RldGFpbDo6YWZ0ZXIge2NvbnRlbnQ6Jyc7IHBvc2l0aW9uOmZpeGVkOyBib3R0b206MDsgbGVmdDowOyB3aWR0aDoxMDAlOyBoZWlnaHQ6Ny41cmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbWVkaXVtX2dyYXk7IHotaW5kZXg6Mzt9XHJcblx0XHRcdFx0XHQjcG9waW5fZGV0YWlsID4gLndyYXBfcG9waW4gPiAuY2xvc2UtYnV0dG9uIHtwb3NpdGlvbjpmaXhlZDsgcmlnaHQ6NTAlOyB0b3A6YXV0bzsgYm90dG9tOjEuMjVyZW07IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7IHdpZHRoOjVyZW07IGhlaWdodDo1cmVtOyBib3JkZXItcmFkaXVzOjUwJTsgYm9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTsgYmFja2dyb3VuZC1zaXplOjNyZW0gYXV0bzsgei1pbmRleDo2O31cclxuXHJcblx0XHRcdFx0LyoqKiBBUlJPV1MgTkFWIFBPUElOICoqKi9cclxuXHRcdFx0XHRcdC53cmFwX2Fycm93IHt0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50OyB0b3A6YXV0bzsgYm90dG9tOjEuMjVyZW07IHdpZHRoOjVyZW07IGhlaWdodDo1cmVtO31cclxuXHRcdFx0XHRcdC53cmFwX2Fycm93LnByZXYge2xlZnQ6Y2FsYyg1MHZ3IC0gOXJlbSkgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0XHQud3JhcF9hcnJvdy5uZXh0IHtyaWdodDpjYWxjKDUwdncgLSA5cmVtKSAhaW1wb3J0YW50O31cclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9URVVSIERFIFJFQ0hFUkNIRSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogUEFHSU5BVElPTiAqKiovXHJcblx0XHRcdFx0XHQubmJfcGFnZXNfdG90YWxfaW5mb3Mge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24ge21hcmdpbi10b3A6MnJlbTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiBsaSB7Zm9udC1zaXplOjEuNGVtOyBsaW5lLWhlaWdodDoxLjRlbTt9XHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9EVUxFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBCQU5ERUFVIElFMTEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0XHRcdCNwb3Bpbl9uYXZpZ2F0ZXVycyAud3JhcCB7bWFyZ2luOjAgYXV0bzt3aWR0aDo5MCU7IHBhZGRpbmctdG9wOjJyZW07fVxyXG5cdFx0XHRcdFx0I3BvcGluX25hdmlnYXRldXJzIGEsICNwb3Bpbl9uYXZpZ2F0ZXVycyBidXR0b24ge3BhZGRpbmc6MC4ycmVtIDA7fVxyXG5cdFx0XHRcdFx0I3BvcGluX25hdmlnYXRldXJzIGJ1dHRvbiB7Zm9udC1zaXplOjEuNWVtO3BhZGRpbmc6MXJlbTt9XHJcblx0XHR9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKiBTTUFMTCBkZSA2MzkgYSAzMjAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogTk9STUFMSVNBVElPTiAqKiovXHJcblx0XHRcdFx0XHRwLCB1bCBsaSwgb2wgbGksIG1haW4gcCwgbWFpbiB1bCBsaSwgbWFpbiBvbCBsaSB7Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIHAsIGZvbnQtc2l6ZSk7IGxpbmUtaGVpZ2h0Om1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIHAsIGxpbmUtaGVpZ2h0KTt9XHJcblx0XHRcdFx0XHRwLCB1bCwgb2wsIG1haW4gcCwgbWFpbiB1bCwgbWFpbiBvbCB7LyptYXJnaW4tYm90dG9tOjJyZW07Ki99XHJcblxyXG5cdFx0XHRcdC8qKiogRk9STVVMQUlSRVMgKioqL1xyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSBmb3JtIHtwYWRkaW5nOjEuNXJlbTt9XHJcblx0XHRcdFx0XHRsZWdlbmQsIC5saWtlX2xlZ2VuZCB7Zm9udC1zaXplOjIuMmVtO31cclxuXHRcdFx0XHRcdC8vIGxhYmVsLCAuaW5wdXQtZ3JvdXAtbGFiZWwsIC5wb3dlcm1haWxfbGFiZWwucG93ZXJtYWlsX3JhZGlvX2xlZ2VuZCwgLnBvd2VybWFpbF9sYWJlbCwgLmxhYmVsIHtmb250LXNpemU6MS40ZW07fVxyXG5cdFx0XHRcdFx0Ly8gaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSB7fVxyXG5cdFx0XHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3ggbGFiZWwsIC5saWduZV9mb3JtLnJhZGlvIGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge2ZvbnQtc2l6ZToxLjRlbTsgfVxyXG5cdFx0XHRcdFx0Ly8gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2ZpbHRlcnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2ZpbHRlcnMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7fVxyXG5cclxuXHRcdFx0XHQvKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gTElFTiAqKiovXHJcblx0XHRcdFx0XHRcdC5idG5fbGllbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ge1xyXG5cdFx0XHRcdFx0XHRcdD4gKiB7cGFkZGluZzowLjVyZW0gMS41cmVtO31cclxuXHJcblx0XHRcdFx0XHRcdFx0LyoqKiArUGljdG8gcmlnaHQgKioqL1xyXG5cdFx0XHRcdFx0XHRcdCYucGljdG9fcmlnaHQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOjEuNHJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdD4gKiB7cGFkZGluZy1yaWdodDozcmVtOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEuMnJlbSBjZW50ZXI7fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OIEFMTCAqKiovXHJcblx0XHRcdFx0XHRcdC8vIC5idG5fYWxsID0+IFwidm9pciB0b3V0ZXMgbGVzIGFjdHVhbGl0w6lzXCJcclxuXHRcdFx0XHRcdFx0LmJ0bl9hbGwsIC5jb250ZW50X3BhZ2UgLmJ0bl9hbGwsXHJcblx0XHRcdFx0XHRcdC5idG5fYmFjaywgLmNvbnRlbnRfcGFnZSAuYnRuX2JhY2sge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XHJcblx0XHRcdFx0XHRcdFx0PiAqIHtwYWRkaW5nOjFyZW19XHJcblx0XHRcdFx0XHRcdFx0PiAqIHNwYW4ge3BhZGRpbmctcmlnaHQ6MS41cmVtO31cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5idG5fYWxsLCAuY29udGVudF9wYWdlIC5idG5fYWxsIHtcclxuXHRcdFx0XHRcdFx0XHQvLyA+ICoge0BpbmNsdWRlIGFuaW1fYnRuYWxsKCR3aWR0aDoxcmVtLCAkaGVpZ2h0OjAuOHJlbSwgJHRvcDpjYWxjKDUwJSAtIDAuMnJlbSksICRwYWRkaW5nOjJyZW0sICRzdGFydDpyaWdodCk7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OIEFERCAqKiovXHJcblx0XHRcdFx0XHRcdC5idG5fYWRkLCAuY29udGVudF9wYWdlIC5idG5fYWRkIHtcclxuXHRcdFx0XHRcdFx0XHRhIHt9XHJcblx0XHRcdFx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW4ge31cclxuXHRcdFx0XHRcdFx0XHRzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OIFRYVCAqKiovXHJcblx0XHRcdFx0XHRcdC5idG5fdHh0LCAuY29udGVudF9wYWdlIC5idG5fdHh0IHtcclxuXHRcdFx0XHRcdFx0XHRhIHt9XHJcblx0XHRcdFx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cykgc3Bhbjo6YmVmb3JlIHt9XHJcblx0XHRcdFx0XHRcdFx0c3BhbiB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW46OmJlZm9yZSB7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCT1VUT04gUkVUT1VSICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XHJcblx0XHRcdFx0XHRcdFx0YSB7fVxyXG5cdFx0XHRcdFx0XHRcdGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW46OmJlZm9yZSB7fVxyXG5cdFx0XHRcdFx0XHRcdHNwYW4ge31cclxuXHRcdFx0XHRcdFx0XHRzcGFuOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQk9VVE9OUyBCVVRUT04gKioqL1xyXG5cdFx0XHRcdFx0XHQuYnV0dG9uIHt9XHJcblx0XHRcdFx0XHRcdC5idXR0b24gc3BhbiB7fVxyXG5cdFx0XHRcdFx0XHQuYnV0dG9uOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQkFMSVNFUyA8cD4gQ09NTUUgVU4gQlVUVE9OICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ1dHRvbl9saWtlLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSB7XHJcblx0XHRcdFx0XHRcdFx0YSB7fVxyXG5cdFx0XHRcdFx0XHRcdGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge31cclxuXHRcdFx0XHRcdFx0XHRzcGFuIHt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvKioqIEJPVVRPTlMgRE9DVU1FTlRTICoqKi9cclxuXHJcblx0XHRcdFx0XHQuYnRuX2tpb3NxdWUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcclxuXHRcdFx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge31cclxuXHRcdFx0XHRcdFx0XHRhIHt9XHJcblx0XHRcdFx0XHRcdFx0YTo6YmVmb3JlIHt9XHJcblx0XHRcdFx0XHRcdFx0Ji50ZWxlY2hhcmdlciBhOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0XHQmLmZldWlsbGV0ZXIgYTo6YmVmb3JlIHt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBCT1VUT05TIENMT1NFICoqKi9cclxuXHRcdFx0XHRcdC8qKiogQlROIENMT1NFICh2ZXJzaW9uIHBldGl0ZSBjcm9peCBcIlhcIiBzYW5zIGZvbmQpICoqKi9cclxuXHRcdFx0XHRcdC5idG5fY2xvc2Uge1xyXG5cdFx0XHRcdFx0XHQmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0XHRzcGFuIHt9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKioqL1xyXG5cdFx0XHRcdFx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblx0XHRcdFx0XHRcdHNwYW4ge31cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAoZGFucyBwb3BpbikgKioqL1xyXG5cdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcclxuXHRcdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykge31cclxuXHRcdFx0XHRcdFx0c3BhbiB7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluIGZ1bGxzY3JlZW4pICoqKi9cclxuXHRcdFx0XHRcdC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggLmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qKiogQ0xPU0UgQlVUVE9OIEFEVkFOQ0VEIChcIkZFUk1FUiArIGNyb2l4XCIgb3UgXCJURVhURSArIGNyb2l4XCIpICoqKi9cclxuXHRcdFx0XHRcdC5jbG9zZS1hZHZhbmNlZCB7XHJcblx0XHRcdFx0XHRcdC50aXRsZSB7fVxyXG5cdFx0XHRcdFx0XHQudGl0bGU6OmFmdGVyIHt9XHJcblxyXG5cdFx0XHRcdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdFx0XHRcdCY6OmJlZm9yZSwgJjo6YWZ0ZXIge31cclxuXHRcdFx0XHRcdFx0XHQmOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdFx0XHQmOjphZnRlciB7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC8qIERhbnMgcG9waW4gKi9cclxuXHRcdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQge31cclxuXHRcdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRcdFx0LyoqKiBTVFJVQ1RVUkUgR0VORVJBTEUgKioqL1xyXG5cdFx0XHRcdFx0LndyYXAsIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDJyZW0pICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSB7fVxyXG5cclxuXHRcdFx0XHQvKioqIEhFQURFUiAqKiovXHJcblx0XHRcdFx0XHQjaG9tZSAjZGF0YS1zdGlja3ktaGVhZGVyOm5vdCguaXMtc3R1Y2spLCAjZGF0YS1zdGlja3ktaGVhZGVyIHtoZWlnaHQ6bWFwLWRlZXAtZ2V0KCRoZWFkZXJfaGVpZ2h0LCBzbWFsbCk7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQlVSR0VSIEJVVFRPTiAqKiovXHJcblx0XHRcdFx0XHRcdC5oYW1idXJnZXIge21hcmdpbi1sZWZ0OjA7fVxyXG5cdFx0XHRcdFx0XHQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHt3aWR0aDoyLjdyZW07IGhlaWdodDowLjJyZW07fVxyXG5cdFx0XHRcdFx0XHQuaGFtYnVyZ2VyLS1zcHJpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHt0b3A6LTAuN3JlbTt9XHJcblx0XHRcdFx0XHRcdC5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7dG9wOjAuN3JlbTt9XHJcblx0XHRcdFx0XHRcdC8qIGV0YXQgYWN0aWYgKi9cclxuXHRcdFx0XHRcdFx0XHQuaGFtYnVyZ2VyLS1zcHJpbmcgLm1lbnVfdGl0bGUge2NvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRyZWd1bGFyOyBmb250LXNpemU6MS4yZW07IGJvdHRvbTowLjVyZW07fVxyXG5cdFx0XHRcdFx0XHQvKiBCdXJnZXIgb3BlbiBtZW51IHNtYXJ0ICovXHJcblx0XHRcdFx0XHRcdFx0I2J0bl9vcGVuX21lbnVfc21hcnQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIsICNidG5fb3Blbl9tZW51X3NtYXJ0LmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgI2J0bl9vcGVuX21lbnVfc21hcnQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7d2lkdGg6Mi43cmVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIFNFQVJDSCBCVVRUT04gKioqL1xyXG5cdFx0XHRcdFx0XHQvLyAjYnRuX3NlYXJjaCB7d2lkdGg6NXJlbTsgaGVpZ2h0OjVyZW07IHBvc2l0aW9uOmFic29sdXRlOyByaWdodDowOyB0b3A6MDt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBBQ0NFU1NJQklMSVRFICoqKi9cclxuXHRcdFx0XHRcdFx0I2FjY2Vzc2kge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBMT0dPICoqKi9cclxuXHRcdFx0XHRcdFx0I2xvZ28gYSB7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0XHRcdFx0XHQjbG9nbyBzdmcsICNsb2dvIGltZyB7d2lkdGg6YXV0bzsgbWF4LXdpZHRoOjdyZW07IG1heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMC44cmVtKTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBUT09MUyBIRUFERVIgTElOSyAqKiovXHJcblx0XHRcdFx0XHRcdCN0b29sc19oZWFkZXJfbGluayAudG9vbHNfaGVhZGVyIGxpIHtwYWRkaW5nLXJpZ2h0OjFyZW07IHBhZGRpbmctbGVmdDoxcmVtO31cclxuXHRcdFx0XHRcdFx0I3Rvb2xzX2hlYWRlcl9saW5rIC50b29sc19oZWFkZXIgbGkgPiAqIHtoZWlnaHQ6IDIuOHJlbTsgd2lkdGg6Mi44cmVtO31cclxuXHJcblxyXG5cclxuXHJcblx0XHRcdFx0LyoqKiBQT1BJTlMgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBTVFlMRSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdFx0XHQucmV2ZWFsIHt3aWR0aDoxMDAlOyB0b3A6MCAhaW1wb3J0YW50O31cclxuXHJcblx0XHRcdFx0XHRcdC8qIHRpdHJlICovXHJcblx0XHRcdFx0XHRcdC5yZXZlYWwgLnRpdHJlX2Jsb2MsIC50aXRyZV9wb3BpbiAudGl0cmVfYmxvYyB7Zm9udC1zaXplOjIuNWVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIFBPUElOIEZVTEwgKioqL1xyXG5cdFx0XHRcdFx0XHQucmV2ZWFsLmZ1bGwge31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogVElUUkUgKioqL1xyXG5cdFx0XHRcdFx0XHRcdC5yZXZlYWwuZnVsbCAudGl0cmVfcG9waW4ge31cclxuXHRcdFx0XHRcdFx0XHQucmV2ZWFsLmZ1bGwgLnRpdHJlX2Jsb2MsIC5yZXZlYWwuZnVsbCBsZWdlbmQudGl0cmVfYmxvYywgLnNlYXJjaF9hcmVhX2NvbnQgLnRpdHJlX3BvcGluIC50aXRyZV9ibG9jIHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIENPTlRFTlUgKioqL1xyXG5cdFx0XHRcdFx0XHRcdC5yZXZlYWwuZnVsbCAud3JhcF9wb3BpbiB7fVxyXG5cdFx0XHRcdFx0XHRcdC5yZXZlYWwuZnVsbCAud3JhcF9wb3BpbiA+IC5jb250ZW50IHt9XHJcblxyXG5cdFx0XHRcdC8qKiogTUVOVSBQUklOQ0lQQUwgKioqL1xyXG5cdFx0XHRcdFx0LyoqKiBTVFJVQ1RVUkUgQ0FOVkFTICoqKi9cclxuXHRcdFx0XHRcdFx0Ly8gLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMHZ3KTsgd2lkdGg6MTAwdnc7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogTUVOVSBPVkVSTEFQIFRSQU5TSVRJT04gKioqL1xyXG5cdFx0XHRcdFx0XHQub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDB2dyk7IHdpZHRoOjEwMHZ3O31cclxuXHJcblx0XHRcdFx0XHQvKioqIEJUTiBDTE9TRSBNRU5VIFNNQVJUICoqKi9cclxuXHRcdFx0XHRcdFx0I2J0bl9jbG9zZV9tZW51X3NtYXJ0IHtsZWZ0Oi0xMDB2dzt9XHJcblx0XHRcdFx0XHRcdC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gI2J0bl9jbG9zZV9tZW51X3NtYXJ0LFxyXG5cdFx0XHRcdFx0XHQub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaC5pcy1vcGVuICNidG5fY2xvc2VfbWVudV9zbWFydCB7bGVmdDoxMDB2dzsgd2lkdGg6NXJlbTsgaGVpZ2h0OjVyZW07IGZvbnQtc2l6ZTo1cmVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIE1FTlUgKioqL1xyXG5cdFx0XHRcdFx0XHQvKioqIEdFTkVSSVFVRSAocG91ciB0b3VzIGxlcyBuaXZlYXV4IGR1IG1lbnUpICoqKi9cclxuXHRcdFx0XHRcdFx0XHQvLyAjb2ZmQ2FudmFzTGVmdCAuaXMtZHJpbGxkb3duID4gdWwgPiBsaSB7Zm9udC1zaXplOjEuNnJlbTt9XHJcblxyXG5cdFx0XHRcdC8qKiogQkFOREVBVSBJTUFHRSAqKiovXHJcblx0XHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWFnZSBEQU5TIGxlIHdyYXAgKioqL1xyXG5cdFx0XHRcdFx0XHQkeHlPbnplOiBjYWxjKCgxMDB2dyAtIDEuNXJlbSkgKiAxMSAvIDEyKTtcclxuXHRcdFx0XHRcdFx0I3BhZ2UgLmJhbmRlYXVfcGFnZSB7XHJcblx0XHRcdFx0XHRcdFx0LyoqKiBMYXJnZXVyIGRlIGwnaW1hZ2UgSE9SUyBkdSB3cmFwICoqKi9cclxuXHRcdFx0XHRcdFx0XHRcdCRvdXRXcmFwOiAxLjVyZW07XHJcblx0XHRcdFx0XHRcdFx0LyoqKiBMYXJnZXVyIGRlIGwnaW1nICoqKi9cclxuXHRcdFx0XHRcdFx0XHRcdGltZywgLmRlZmF1bHRfaW1nIHt3aWR0aDpjYWxjKCN7JHh5T256ZX0gKyAjeyRvdXRXcmFwfSk7IGhlaWdodDpjYWxjKDEwMCUgLSAje21hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgc21hbGwpfSk7fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQuY29weXJpZ2h0IHtyaWdodDotMXJlbTt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBGT09URVIgKioqL1xyXG5cdFx0XHRcdFx0I2Zvb3RlciAuYXBwbGlfZm9vdGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHRcdFx0I2Zvb3RlciAucmVzZWF1eF9zb2NpYXV4IHttYXJnaW4tYm90dG9tOjFyZW07IG1hcmdpbi10b3A6MXJlbTt9XHJcblxyXG5cdFx0XHRcdC8qKiogRklMIEQnQVJJQU5FICoqKi9cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogSE9NRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHQjaG9tZSAjaW1nX2JkcCB7cmlnaHQ6LTUwcmVtO31cclxuXHJcblx0XHRcdFx0LyoqKiBUQUdTICoqKi9cclxuXHRcdFx0XHRcdCN0YWdzIGxpIGEge3BhZGRpbmc6MXJlbTt9XHJcblxyXG5cdFx0XHRcdC8qKiogQkxPQ1MgSE9NRSAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXHJcblx0XHRcdFx0XHQuYmxvY19ob21lIHtwYWRkaW5nLWJvdHRvbToycmVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIFRJVFJFICoqKi9cclxuXHRcdFx0XHRcdFx0LmJsb2NfaG9tZSAudGl0cmVfYmxvYyB7cGFkZGluZy10b3A6NHJlbTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge2ZvbnQtc2l6ZToyLjNlbTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSBzcGFuLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSBzcGFuIHtmb250LXNpemU6MWVtO31cclxuXHRcdFx0XHRcdFx0LmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlOjphZnRlciB7YmFja2dyb3VuZC1zaXplOjJyZW0gYXV0bzsgYmFja2dyb3VuZC1wb3NpdGlvbjpjYWxjKDEwMCUgLSAycmVtKSAtMC40cmVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIFNPVVMtVElUUkUgKioqL1xyXG5cdFx0XHRcdFx0XHQuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUsIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHtmb250LXNpemU6M3JlbTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuIHtmb250LXNpemU6MnJlbTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCVE4gQUxMICoqKi9cclxuXHRcdFx0XHRcdFx0LmJ0bl9hbGxfYmxvYyB7fVxyXG5cdFx0XHRcdFx0XHQuYnRuX2FsbF9ibG9jIC5idG5fYWxsIHtmb250LXNpemU6MS42ZW07IHBhZGRpbmctdG9wOjIuNXJlbTsgbWFyZ2luLWJvdHRvbTo0LjVyZW07fVxyXG5cclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgVFlQRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0XHRcdC8qKiogSEVBRCBQQUdFICoqKi9cclxuXHRcdFx0XHRcdC8vIC5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIge3BhZGRpbmctYm90dG9tOjIwcmVtO31cclxuXHRcdFx0XHRcdC5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmNvbnRhaW5faW5mb3Mge21pbi1oZWlnaHQ6MDt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBUSVRSRSBQQUdFICYgQUNDUk9DSEUgUEFHRSAqKiovXHJcblx0XHRcdFx0XHRcdC50aXRyZV9wYWdlIHsvKnBhZGRpbmc6MCAxLjVyZW0gMS41cmVtIDEuNXJlbTsqL31cclxuXHRcdFx0XHRcdFx0KjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnRpdHJlX3BhZ2UgKjppcyhoMSwgcCkge2ZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMSwgZm9udC1zaXplKTsgLypsaW5lLWhlaWdodDoxLjJlbTsqL31cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcXVvdGUge3BhZGRpbmc6MnJlbTt9XHJcblx0XHRcdFx0XHRcdCo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7Zm9udC1zaXplOjEuOGVtOyBsaW5lLWhlaWdodDoxLjI7fVxyXG5cclxuXHRcdFx0XHRcdC8qKiogQlROIERBTlMgSEVBRF9QQUdFICoqKi9cclxuXHRcdFx0XHRcdFx0Lmxpc3RlX2J0biB7fVxyXG5cclxuXHRcdFx0XHQvKioqIFBBUkFNIFRYVCAqKiovXHJcblx0XHRcdFx0XHQvKioqIFRJVFJFUyAqKiovXHJcblx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIGgyIHtmb250LXNpemU6Mi41ZW07fVxyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSBoMyB7Zm9udC1zaXplOjJlbTt9XHJcblx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIGg0IHtmb250LXNpemU6MS42ZW07fVxyXG5cdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSBoMiwgLmNvbnRlbnRfcGFnZSBoMywgLmNvbnRlbnRfcGFnZSBoNCB7bWFyZ2luLXRvcDoycmVtOyBtYXJnaW4tYm90dG9tOjEuNXJlbTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBTS0lOIExJU1QgKioqL1xyXG5cdFx0XHRcdFx0XHQvLyAuY29udGVudF9wYWdlIHVsLCAuY29udGVudF9wYWdlIG9sIHt9XHJcblx0XHRcdFx0XHRcdC8vIC5jb250ZW50X3BhZ2UgdWwgbGksIC5jb250ZW50X3BhZ2Ugb2wgbGkge31cclxuXHJcblx0XHRcdFx0XHQvKioqIFNLSU4gVEFCTEVBVVggKioqL1xyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRhYmxlIHtvdmVyZmxvdy14OmF1dG87IGRpc3BsYXk6YmxvY2s7IG1heC13aWR0aDoxMDAlO31cclxuXHRcdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSB0YWJsZSBjYXB0aW9uIHtmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDMsIGZvbnQtc2l6ZSk7IHBhZGRpbmc6MC41cmVtIDFyZW07fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIHRoLCAuY29udGVudF9wYWdlIHRkIHtmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgcCwgZm9udC1zaXplKTt9XHJcblxyXG5cdFx0XHRcdFx0LyoqKiBCTE9DS1FVT1RFICoqKi9cclxuXHRcdFx0XHRcdFx0YmxvY2txdW90ZSB7cGFkZGluZy1sZWZ0OjJyZW07IHBhZGRpbmctdG9wOjRyZW07fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIGJsb2NrcXVvdGUge2JhY2tncm91bmQtcG9zaXRpb246MnJlbSB0b3A7IGJhY2tncm91bmQtc2l6ZTo0cmVtIGF1dG87fVxyXG5cdFx0XHRcdFx0XHQuY29udGVudF9wYWdlIGJsb2NrcXVvdGU6OmJlZm9yZSB7bGVmdDowO31cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogQkxPQyBDSVRBVElPTiAqKiovXHJcblx0XHRcdFx0XHRcdFx0Ly8gLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiB7fVxyXG5cclxuXHRcdFx0XHQvKioqIFNLSU4gTEVHRU5ERSBMSUVOIElNRyAqKiovXHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5jc2MtdGV4dHBpYy1pbWFnZSwgLmNvbnRlbnRfcGFnZSBmaWd1cmUuaW1hZ2Ugey8qbWFyZ2luLWJvdHRvbToycmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKiBHUklEIEVMRU1FTlQgKi9cclxuXHRcdFx0XHRcdCNjb2xfbGVmdF9pbm5lciA+IC5ncmlkLXggey8qbWFyZ2luLXRvcDoycmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIEJMT0MgVklERU8gKioqL1xyXG5cdFx0XHRcdFx0LmJsb2NfdmlkZW8gey8qbWFyZ2luLWJvdHRvbToycmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIENPTE9OTkUgQ09OVEVYVFVFTExFICoqKi9cclxuXHRcdFx0XHRcdC8qKiogQkxPQ1MgQ09MIC0gVFJBTUUgR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdFx0LmJsb2NfY29sIHt9XHJcblx0XHRcdFx0XHRcdC5jb2xfbGVmdCAuYmxvY19jb2wgey8qbWFyZ2luLWJvdHRvbToycmVtOyovfVxyXG5cdFx0XHRcdFx0XHQuY29sX3JpZ2h0IC5ibG9jX2NvbCB7fVxyXG5cdFx0XHRcdFx0XHQuYmxvY19jb2wgLnRpdHJlX2Jsb2Mgey8qcGFkZGluZzoxLjVyZW0gMnJlbSAwIDJyZW07Ki99XHJcblx0XHRcdFx0XHRcdC5ibG9jX2NvbCAudGl0cmVfYmxvYyAudGl0cmUge2ZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMiwgZm9udC1zaXplKTt9XHJcblx0XHRcdFx0XHRcdC5ibG9jX2NvbCAuY29udGVudV9ibG9jIC5zdWJ0aXRsZSB7Lypmb250LXNpemU6MS43ZW07Ki99XHJcblx0XHRcdFx0XHRcdC5ibG9jX2NvbCAuY29udGVudV9ibG9jIHsvKnBhZGRpbmc6MCAycmVtOyovfVxyXG5cclxuXHRcdFx0XHQvKioqIEJMT0NTIEJBUyBERSBQQUdFICoqKi9cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgTElTVEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHQjcGFnZS5saXN0IC5oZWFkX3BhZ2UgLmNvbnRhaW5faW5mb3M6OmJlZm9yZSwgI3BhZ2UuZGFzaGJvYXJkIC5oZWFkX3BhZ2UgLmNvbnRhaW5faW5mb3M6OmJlZm9yZSB7d2lkdGg6MTAwdnc7fVxyXG5cclxuXHRcdFx0XHQvKioqIE1BUCAqKiovXHJcblx0XHRcdFx0XHQjc2Vjb25kX2Rpc3BsYXkge21pbi1oZWlnaHQ6NDVyZW07fVxyXG5cclxuXHRcdFx0XHQvKioqIFJFU1VMVEFUUyAqKiovXHJcblx0XHRcdFx0XHQvLyAud3JhcF9yZXN1bHQge3Bvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW4tdG9wOi0ycmVtO31cclxuXHJcblx0XHRcdFx0XHQvKioqIElURU0gR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdFx0I3BhZ2UubGlzdCAubGlzdF9pdGVtLCAjcGFnZS5jYXJ0b190cGwgLmxpc3RfaXRlbSB7bWFyZ2luLWJvdHRvbToxLjVyZW07IHBhZGRpbmctYm90dG9tOjEuNXJlbTsgYm9yZGVyLWJvdHRvbTowLjFyZW0gc29saWQgcmdiYSgkY2ltX21lZGl1bV9ncmF5LCAwLjQpOyB3aWR0aDoxMDAlO31cclxuXHRcdFx0XHRcdFx0I3BhZ2UubGlzdCAubGlzdF9pdGVtID4gLmxpbmssICNwYWdlLmNhcnRvX3RwbCAubGlzdF9pdGVtID4gLmxpbmsge2ZsZXgtZmxvdzpjb2x1bW4tcmV2ZXJzZTsgYWxpZ24taXRlbXM6c3RyZXRjaDsganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7fVxyXG5cdFx0XHRcdFx0XHQjcGFnZS5saXN0IC5saXN0X2l0ZW0gPiAubGluayA+ICoge2ZsZXg6MCAwIGF1dG87IHdpZHRoOmNhbGMoMTAwJSAtIDNyZW0pOyB9XHJcblx0XHRcdFx0XHRcdCNwYWdlLmNhcnRvX3RwbCAubGlzdF9pdGVtID4gLmxpbmsgPiAqIHtmbGV4OjAgMCBhdXRvOyB3aWR0aDoxMDAlOyB9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIElNQUdFIChlbGxlcyBwYXNzZW50IGVuIGFic29sdWUgb24gbGltaXRlIGxldXJzIGRpbWVuc2lvbnMpICoqKi9cclxuXHRcdFx0XHRcdFx0XHQvLyAjcGFnZS5saXN0IC5saXN0X2l0ZW0gLmxpbmsgPiAuY2VsbC5zaHJpbmssICNwYWdlLmNhcnRvX3RwbCAubGlzdF9pdGVtIC5saW5rID4gLmNlbGwuc2hyaW5rIHt3aWR0aDpjYWxjKDEwMCUgLSAzcmVtKTsgbWFyZ2luOjAgYXV0bzt9XHJcblxyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gLmRlZmF1bHRfaW1nIHsvKmFzcGVjdC1yYXRpbzppbml0aWFsOyovbWF4LXdpZHRoOjIxcmVtOyBtYXJnaW46MCBhdXRvO31cclxuXHRcdFx0XHRcdFx0XHQubGlzdF9pdGVtIC5pbWcge2JhY2tncm91bmQtY29sb3I6JGNpbV9saWdodF9ncmF5OyB0ZXh0LWFsaWduOmNlbnRlcjsgYXNwZWN0LXJhdGlvOmluaXRpYWw7fVxyXG5cdFx0XHRcdFx0XHRcdC5saXN0IC5saXN0X2l0ZW0gLmltZyB7YXNwZWN0LXJhdGlvOmluaXRpYWw7fVxyXG5cdFx0XHRcdFx0XHRcdC5saXN0X2l0ZW0gLmltZyBpbWcge21hcmdpbjowIGF1dG87fVxyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBaT05FIFRFWFRFICoqKi9cclxuXHRcdFx0XHRcdFx0XHQjcGFnZS5saXN0IC5saXN0X2l0ZW0gLnR4dCwgI3BhZ2UuY2FydG9fdHBsIC5saXN0X2l0ZW0gLnR4dCB7d2lkdGg6MTAwJTsgcGFkZGluZy1ib3R0b206MDsgcGFkZGluZy10b3A6MS41cmVtOyB9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIERBVEVTICoqKi9cclxuXHRcdFx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiB7cGFkZGluZzoxcmVtO31cclxuXHQgICAgXHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHNwYW4udHh0X2RheV9uYiB7Zm9udC1zaXplOjNlbTt9XHJcblx0ICAgIFx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9tb250aCB7Zm9udC1zaXplOjEuMmVtO31cclxuXHRcdFx0XHRcdFx0XHQuY2ltX21hcGJveCAubGlzdF9pdGVtW2NsYXNzKj0nYWdlbmRhJ10uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIge2xlZnQ6MDsgdHJhbnNmb3JtOm5vbmU7fVxyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBUSVRSRSAqKiovXHJcblx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGl0cmUsIC5jb250ZW50X3BhZ2UgLmxpc3RfaXRlbSAudGl0cmUge2ZvbnQtc2l6ZTogMS44ZW0gIWltcG9ydGFudDt9XHJcblx0XHRcdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGl0cmUgYSwgLmNvbnRlbnRfcGFnZSAubGlzdF9pdGVtIC50aXRyZSBhIHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIERFU0NSSVBUSU9OICoqKi9cclxuXHJcblx0XHRcdFx0XHRcdC8qKiogTElFVSAqKiovXHJcblx0XHRcdFx0XHRcdC5saWV1IHsgYmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDA7fVxyXG5cclxuXHRcdFx0XHRcdFx0LyoqKiBDQVRFR09SSUUgKioqL1xyXG5cdFx0XHRcdFx0XHQuY2F0LCAudHlwZSwgLmRhdGVfaW5saW5lLCAubGlldSwgW2NsYXNzKj0nZm9uY3Rpb25fJ10ge2ZvbnQtc2l6ZToxLjJlbTt9XHJcblxyXG5cdFx0XHRcdFx0XHQvKioqIEVOIFNBVk9JUiBQTFVTICoqKi9cclxuXHJcblx0XHRcdFx0XHQvKioqIElURU1TIFNVQlBBR0VTIC8vIFBBR0UgQ0FSUkVGT1VSICoqKi9cclxuXHJcblx0XHRcdFx0XHQvKioqIElURU1TIFJFQ0hFUkNIRSBHRU5FUkFMRSAqKiovXHJcblxyXG5cdFx0XHRcdFx0LyoqKiBJVEVNUyBBR0VOREEgKioqL1xyXG5cdFx0XHRcdFx0XHQvKi5saXN0IC5saXN0X2l0ZW0uYWdlbmRhID4gLmxpbmsge3BhZGRpbmctbGVmdDowO31cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgPiAubGluayB7bWluLWhlaWdodDppbmhlcml0O31cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgLmRhdGVfY29udGFpbmVyIHtvcmRlcjotMjsgbWFyZ2luLWJvdHRvbToycmVtO31cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbVtjbGFzcyo9J2FnZW5kYSddLmhvcml6b250YWwgLmRhdGUge3Bvc2l0aW9uOmluaGVyaXQ7IHRyYW5zZm9ybTpub25lOyB0b3A6YXV0bzt9Ki9cclxuXHRcdFx0XHRcdFx0Lmxpc3RfaXRlbVtjbGFzcyo9YWdlbmRhXS5ob3Jpem9udGFsIC5kYXRlX2NvbnRhaW5lciB7bGVmdDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOyB0b3A6MTJyZW07IH1cclxuXHJcblx0XHRcdFx0XHQvKioqIEtJT1NRVUUgKioqL1xyXG5cdFx0XHRcdFx0XHQua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyB7bWluLWhlaWdodDogMThyZW07XHR9XHJcblx0XHRcdFx0XHRcdC5raW9zcXVlLmxpc3RfaXRlbSAudHh0IC5ncmlkLXgge21hcmdpbjowO31cclxuXHJcblxyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdFx0XHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdFx0XHRcdC8qKiogUE9QSU4gREVUQUlMICoqKi9cclxuXHRcdFx0XHRcdFx0I3BvcGluX2RldGFpbCAjY29udGFpbl9hcmlhbmUge3dpZHRoOmNhbGMoMTAwJSArIDNyZW0pO31cclxuXHRcdFx0XHRcdFx0LyoqKiBMYXJnZXVyIGRlIGwnaW1hZ2UgREFOUyBsZSB3cmFwICoqKi9cclxuXHRcdFx0XHRcdFx0JHh5T256ZTogY2FsYygoMTAwdncgLSAzcmVtKSAqIDExIC8gMTIpO1xyXG5cdFx0XHRcdFx0XHQjYmFuZGVhdV9wYWdlX3BvcGluIHtcclxuXHRcdFx0XHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xyXG5cdFx0XHRcdFx0XHRcdFx0aW1nLCAuZGVmYXVsdF9pbWcge3dpZHRoOmNhbGMoI3skeHlPbnplfSArIDEuNXJlbSk7IGhlaWdodDpjYWxjKDEwMCUgLSAje21hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgc21hbGwpfSk7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCNwb3Bpbl9kZXRhaWwgLnRpdHJlX2Jsb2Mge2ZvbnQtc2l6ZToxZW07fVxyXG5cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKiBNT1RFVVIgREUgUkVDSEVSQ0hFICoqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRcdFx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cdFx0XHRcdC8qKiogUEFHSU5BVElPTiAqKiovXHJcblx0XHRcdFx0XHQubmJfcGFnZXNfdG90YWxfaW5mb3Mge2ZvbnQtc2l6ZToxLjJyZW07fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSAudHgtaW5kZXhlZHNlYXJjaC1icm93c2Vib3ggIHtwb3NpdGlvbjpyZWxhdGl2ZTsgIH1cclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24ge21hcmdpbi10b3A6NHJlbTt9XHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGxpIHtmb250LXNpemU6MS4zcmVtOyBtYXJnaW46MCAwLjNyZW07IHBhZGRpbmc6MC4ycmVtIDAuM3JlbTsgZGlzcGxheTogaW5saW5lLWJsb2NrO31cclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gbGlbY2xhc3NePSdwYWdpbmF0aW9uLSddIHtwYWRkaW5nOjA7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbWFyZ2luOjA7ICB9XHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGxpW2NsYXNzXj0ncGFnaW5hdGlvbi0nXSBhIHt3aWR0aDozLjVyZW07IGhlaWdodDozLjVyZW07fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiBhOjpiZWZvcmUge2JhY2tncm91bmQtc2l6ZTphdXRvIDEuMnJlbTt9XHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWZpcnN0IGE6OmJlZm9yZSxcclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbGFzdCBhOjpiZWZvcmUge2JhY2tncm91bmQtc2l6ZTozLjVyZW0gYXV0byAhaW1wb3J0YW50O31cclxuXHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWZpcnN0IHtsZWZ0OjA7fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyB7bGVmdDo0cmVtO31cclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbGFzdCB7cmlnaHQ6MDt9XHJcblx0XHRcdFx0XHQuY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQge3JpZ2h0OjRyZW07fVxyXG5cclxuXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIE1PRFVMRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHRcdH0iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pIHtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIl19 */
