/**
 * Import Compass and Theme Variables
 */
/* ==========================================================================
   Theme Configuration File
   ========================================================================== */
/**
 * Base Colors
 * 
 * Description:
 * Provides a base for the UI.
 * 
 * Usage:
 * General UI Background, Region Headers, Buttons
 */
/**
 * Highlight Colors
 * 
 * Description:
 * Used for providing emphasis or importance to UI components.
 * 
 * Usage:
 * Region Headers, Primary / Hot Buttons
 */
/**
 * Accent and Status Colors
 * 
 * Description:
 * Used for indicating state-based UI components, status, or accents.
 * 
 * Usage:
 * Warnings, Errors, Danger Text, Success, Focus
 */
/**
 * Application Based Colors
 * 
 * Description:
 * Used for applications within APEX development
 */
/******************************************************************************
Color Variables
******************************************************************************/
/******************************************************************************
Properties
******************************************************************************/
.a-Property-buttonContainer,
.a-Property-labelContainer,
.a-Property-fieldContainer,
.a-Property-unitContainer {
  padding: 4px 8px; }

/******************************************************************************
Property Error
******************************************************************************/
.a-Property.is-error {
  /* Make the text red when it is not focused to bring more attention */ }
  .a-Property.is-error .a-Property-label {
    color: #4C4242; }
  .a-Property.is-error .a-Property-field:not(:focus) {
    color: #FC181B; }
  .a-Property.is-error .icon-error {
    margin-right: 4px;
    color: #FC181B !important; }

/******************************************************************************
Property Warning
******************************************************************************/
.a-Property.is-warning .a-Property-label {
  color: #463403; }

.a-Property.is-warning .icon-warning {
  margin-right: 4px;
  color: #F69F00 !important; }

/******************************************************************************
Label and Pre / Post Text
******************************************************************************/
.a-Property-label,
.a-Property-setItemsHeader-header,
.a-Property-unit {
  font-size: 12px;
  line-height: 16px;
  padding: 4px 0;
  color: #606060; }

.a-Property-checkbox-label,
.a-Property-radio {
  font-size: 12px;
  line-height: 16px;
  color: #606060; }

.a-Property-unit {
  font-size: 11px; }

.a-Property-label--withIcon {
  line-height: 16px;
  padding: 4px 0; }

/******************************************************************************
Property Field - Used for property editor
******************************************************************************/
.a-Property-field {
  font-size: 12px;
  line-height: 16px;
  padding: 4px;
  height: 24px;
  background-color: transparent;
  color: #404040;
  border-radius: 0; }
  .a-Property-field:focus {
    border-color: #399BEA !important;
    background-color: #FFF;
    outline: none;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }

.a-Property-field:not(.a-Property-field--textarea) {
  box-shadow: 4px 0 0 0 #FFF inset, -4px 0 0 0 #FFF inset, 0 -1px 0 0 #E0E0E0 inset; }
  .a-Property-field:not(.a-Property-field--textarea):focus,
  .a-Property.is-active .a-Property-field:not(.a-Property-field--textarea):focus {
    box-shadow: 0 0 0 1px #399BEA inset, 0 1px 2px rgba(0, 0, 0, 0.1); }
  .a-Property.is-error.is-active .a-Property-field:not(.a-Property-field--textarea):focus {
    box-shadow: 0 0 0 1px #FC181B inset, 0 1px 2px rgba(0, 0, 0, 0.1); }
  .a-Property.is-shadow.is-active .a-Property-field:not(.a-Property-field--textarea):focus {
    box-shadow: 0 0 0 1px #FC181B inset, 0 1px 2px rgba(0, 0, 0, 0.1); }

.a-Property.is-variable .a-Icon.icon-variable {
  color: #7FBEF2;
  margin-right: 4px; }

.a-Property.is-variable .a-Property-field {
  box-shadow: 0 0 0 1px rgba(127, 190, 242, 0.5) inset;
  background-color: rgba(127, 190, 242, 0.05);
  border-radius: 2px; }

.a-Property.is-warning .a-Property-field--textarea:focus {
  border-color: #FDB309 !important; }

.a-Property.is-error .a-Property-field--textarea:focus {
  border-color: #FC181B !important; }

/* Property Editor Select List
   ========================================================================== */
.a-Property-field--select {
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 0.01px;
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 32px 24px;
  color: inherit;
  padding-right: 30px;
  text-overflow: ' ';
  overflow: hidden; }

body:not(:-moz-handler-blocked) .a-Property-field--select {
  padding: 2px 24px 2px 2px; }

/* Text Area
   ========================================================================== */
.a-Property-field--textarea,
body .ui-widget .a-Property-field--textarea {
  line-height: 14px;
  font-size: 11px;
  height: auto;
  max-height: 320px;
  font-family: 'Consolas', 'Menlo', monospace;
  border: 1px solid #E0E0E0;
  background-color: #FFF;
  padding: 4px; }

.a-Property-readOnly {
  font-size: 12px;
  line-height: 2;
  font-weight: bold;
  color: #606060; }

.a-Property-field--readOnly {
  box-shadow: none !important; }
  .a-Property-field--readOnly:focus {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset !important; }

.a-Property-setItemsTable-header {
  font-weight: normal; }

.a-Property-setItemsTable .a-Property-field {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

/******************************************************************************
Property Editor in Dialogs
******************************************************************************/
/******************************************************************************
Combo Box Styles
******************************************************************************/
.a-Property-buttonContainer--comboBox .a-Button {
  margin-left: 8px; }

/******************************************************************************
Property Editor Buttons
******************************************************************************/
.a-Property-buttonContainer .a-Button {
  background-color: #FFF; }

/******************************************************************************
Checkbox + Radio Buttons
******************************************************************************/
@-webkit-keyframes checkmark {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  75% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes checkmark {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  75% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.a-Property-checkbox-input[type="checkbox"],
.a-Property-radio-input[type="radio"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  /* Disabled State
   ========================================================================== */
  /* Focus
   ========================================================================== */ }
  .a-Property-checkbox-input[type="checkbox"] + label,
  .a-Property-radio-input[type="radio"] + label {
    position: relative;
    padding-left: 20px;
    padding-right: 8px;
    cursor: pointer; }
    .a-Property-checkbox-input[type="checkbox"] + label:before, .a-Property-checkbox-input[type="checkbox"] + label:after,
    .a-Property-radio-input[type="radio"] + label:before,
    .a-Property-radio-input[type="radio"] + label:after {
      width: 14px;
      height: 14px;
      position: absolute;
      top: 3px;
      left: 0;
      display: block;
      content: '';
      transition: .25s ease; }
    .a-Property-checkbox-input[type="checkbox"] + label:before,
    .a-Property-radio-input[type="radio"] + label:before {
      background-color: #FFFFFF;
      border: 1px solid rgba(0, 0, 0, 0.2);
      z-index: 90; }
    .a-Property-checkbox-input[type="checkbox"] + label:after,
    .a-Property-radio-input[type="radio"] + label:after {
      z-index: 100;
      opacity: 0; }
  .a-Property-checkbox-input[type="checkbox"]:disabled + label,
  .a-Property-radio-input[type="radio"]:disabled + label {
    opacity: .5;
    cursor: default;
    pointer-events: none; }
    .a-Property-checkbox-input[type="checkbox"]:disabled + label:before,
    .a-Property-radio-input[type="radio"]:disabled + label:before {
      opacity: .5; }
  .a-Property-checkbox-input[type="checkbox"]:focus + label:before,
  .a-Property-radio-input[type="radio"]:focus + label:before {
    border-color: #39f;
    box-shadow: rgba(0, 0, 0, 0.1) 0 1px 1px; }
  .a-Property-checkbox-input[type="checkbox"]:focus:checked + label:before,
  .a-Property-radio-input[type="radio"]:focus:checked + label:before {
    border-color: #39f;
    background-color: #39f; }
  .a-Property-checkbox-input[type="checkbox"]:hover:checked + label:after
.a-Property-checkbox-input[type="checkbox"]:focus:checked + label:after,
  .a-Property-radio-input[type="radio"]:hover:checked + label:after
.a-Property-checkbox-input[type="checkbox"]:focus:checked + label:after, .a-Property-checkbox-input[type="checkbox"]:hover:checked + label:after
  .a-Property-radio-input[type="radio"]:focus:checked + label:after,
  .a-Property-radio-input[type="radio"]:hover:checked + label:after
  .a-Property-radio-input[type="radio"]:focus:checked + label:after {
    opacity: 1; }

/******************************************************************************
Checkbox Specific
******************************************************************************/
.a-Property-checkbox-input[type="checkbox"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  /* Unchecked
   ========================================================================== */
  /* Checked
   ========================================================================== */ }
  .a-Property-checkbox-input[type="checkbox"] + label:before {
    border-radius: 2px; }
  .a-Property-checkbox-input[type="checkbox"] + label:after {
    background-size: 16px;
    background-position: 50%;
    background-repeat: no-repeat; }
  .a-Property-checkbox-input[type="checkbox"]:hover + label:after,
  .a-Property-checkbox-input[type="checkbox"]:focus + label:after {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }
  .a-Property-checkbox-input[type="checkbox"]:checked + label:before {
    border-color: #606060;
    background-color: #606060; }
  .a-Property-checkbox-input[type="checkbox"]:checked + label:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHZpZXdCb3g9IjAgMCA0IDQiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yLjc4NyAxLjI4N2wtMS4xNjIgMS4xNjEtLjQxMi0uNDExYy0uMDQ5LS4wNDktLjEyOC0uMDQ5LS4xNzcgMHMtLjA0OS4xMjggMCAuMTc3bC41LjUuMDg5LjAzNi4wODgtLjAzNyAxLjI1LTEuMjVjLjA0OS0uMDQ5LjA0OS0uMTI4IDAtLjE3N3MtLjEyNy0uMDQ4LS4xNzYuMDAxeiIvPjwvc3ZnPg==);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation: checkmark .25s ease-in-out;
            animation: checkmark .25s ease-in-out;
    animation-film-mode: forwards; }

/******************************************************************************
Radio Specific
******************************************************************************/
@-webkit-keyframes radio {
  0% {
    -webkit-transform: scale(3);
            transform: scale(3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes radio {
  0% {
    -webkit-transform: scale(3);
            transform: scale(3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.a-Property-radio-input[type="radio"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  /* Unchecked
   ========================================================================== */
  /* Checked
   ========================================================================== */ }
  .a-Property-radio-input[type="radio"] + label:before {
    border-radius: 16px; }
  .a-Property-radio-input[type="radio"] + label:after {
    width: 4px;
    height: 4px;
    margin: 5px;
    background-color: #FFF;
    border-radius: 100%; }
  .a-Property-radio-input[type="radio"]:checked + label:before {
    border-color: #606060;
    background-color: #606060; }
  .a-Property-radio-input[type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation: radio .15s ease-in-out;
            animation: radio .15s ease-in-out;
    animation-film-mode: forwards; }

/******************************************************************************
Yes / No Buttons
******************************************************************************/
.a-PropertyEditor--stacked .a-Property-radioGroup--yesNo {
  padding: 0 4px; }

.a-Property-radioGroup--yesNo .a-Property-radio {
  margin-right: -1px; }

.a-Property-radioGroup--yesNo .a-Property-radio-input {
  /* Unchecked */
  /* Checked */
  /* Focused */ }
  .a-Property-radioGroup--yesNo .a-Property-radio-input + label {
    transition: background-color .15s ease;
    padding: 2px 8px; }
    .a-Property-radioGroup--yesNo .a-Property-radio-input + label:before, .a-Property-radioGroup--yesNo .a-Property-radio-input + label:after {
      content: initial; }
  .a-Property-radioGroup--yesNo .a-Property-radio-input:checked + label {
    background-color: #E8E8E8;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 0 2px 1px rgba(0, 0, 0, 0.05) inset;
    font-weight: bold; }
  .a-Property-radioGroup--yesNo .a-Property-radio-input:focus + label {
    border-color: #399BEA !important;
    background-color: #E8E8E8;
    outline: none;
    border-radius: 2px;
    box-shadow: 0 0 0 1px #399BEA inset, 0 1px 2px rgba(0, 0, 0, 0.1);
    z-index: 1; }
  .a-Property-radioGroup--yesNo .a-Property-radio-input:not(:checked):hover + label {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.1); }
  .a-Property-radioGroup--yesNo .a-Property-radio-input:hover:active + label {
    box-shadow: 0 0 0 1px #399BEA inset, 0 1px 2px rgba(0, 0, 0, 0.1);
    background-color: #E0E0E0; }
  @media only screen and (max-width: 1024px) {
  .a-Property-buttonContainer,
    .a-Property-labelContainer,
    .a-Property-fieldContainer,
    .a-Property-unitContainer {
    padding: 2px 8px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YW5kYXJkL1Byb3BlcnR5LnNjc3MiLCJzdGFuZGFyZC9fdGhlbWVDb25maWcuc2NzcyIsIi4uL21vZHVsZXMvX2NvbW1vbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDRkg7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7R0FRRztBQXFCSDs7Ozs7Ozs7R0FRRztBQWFIOzs7Ozs7OztHQVFHO0FBcUNIOzs7OztHQUtHO0FEbEdIOzsrRUFFK0U7QUFpQy9FOzsrRUFFK0U7QUFxQi9FOzs7O0VBSUUsaUJBQWlCLEVBVWxCOztBQUVEOzsrRUFFK0U7QUFDL0U7RUFJRSxzRUFBc0UsRUFRdkU7RUFaRDtJQUVJLGVDaEIrQixFRGlCaEM7RUFISDtJQU1JLGVDbEIrQixFRG1CaEM7RUFQSDtJQVNJLGtCQUFrQjtJQUNsQiwwQkFBMEIsRUFDM0I7O0FBR0g7OytFQUUrRTtBQUMvRTtFQUVJLGVDekIrQixFRDBCaEM7O0FBSEg7RUFLSSxrQkFBa0I7RUFDbEIsMEJBQTBCLEVBQzNCOztBQUdIOzsrRUFFK0U7QUFDL0U7OztFQUdFLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGVBL0ZpRCxFQWdHbEQ7O0FBQ0Q7O0VBRUUsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlQXJHaUQsRUFzR2xEOztBQUNEO0VBQ0UsZ0JBQWdCLEVBQ2pCOztBQUNBO0VBQ0Msa0JBQWtCO0VBQ2xCLGVBQWUsRUFDZjs7QUFFRjs7K0VBRStFO0FBQy9FO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixlQUFlO0VBQ2YsaUJBQWlCLEVBUWxCO0VBZkQ7SUFTSSxpQ0FBc0Q7SUFDdEQsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIseUNBQTBCLEVBQzNCOztBQUdIO0VBQ0Usa0ZBRXFDLEVBWXRDO0VBZkQ7O0lBT0ksa0VBQXlFLEVBQzFFO0VBQ0Q7SUFDRSxr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RDBZN0IsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixrRUFBeUU7SUFDekUsV0FBVyxFQUNaO0VBL0JMO0lBaUNNLDhFQUEyRCxFQUM1RDtFQWxDTDtJQW9DTSxrRUFBeUU7SUFDekUsMEJDblo2QixFRG9aOUI7RUUvVkQ7RUZoRko7Ozs7SUFNSSxpQkFBaUIsRUFRcEIsRUFBQSIsImZpbGUiOiJzdGFuZGFyZC9Qcm9wZXJ0eS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEltcG9ydCBDb21wYXNzIGFuZCBUaGVtZSBWYXJpYWJsZXNcbiAqL1xuQGltcG9ydCBcIi4uLy4uL21vZHVsZXMvY29tbW9uXCI7XG5AaW1wb3J0IFwidGhlbWVDb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQ29sb3IgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4kUHJvcGVydHktLWlzLWFjdGl2ZV9fYmc6ICAgICAgICAgICAgICAgICAgICRfaGlnaGxpZ2h0LWJyaWdodC1iZztcbiRQcm9wZXJ0eS0taXMtZm9jdXNlZF9fc2hhZG93OiAgICAgICAgICAgICAgJF9mb2N1cy1zaGFkb3c7XG4kUHJvcGVydHktLWlzLWZvY3VzZWRfX2JvcmRlcjogICAgICAgICAgICAgICRfZm9jdXMtc2hhZG93O1xuXG4kUHJvcGVydHktLWlzLWVycm9yX19iZzogICAgICAgICAgICAgICAgICAgICRfZXJyb3ItYmc7XG4kUHJvcGVydHktLWlzLWVycm9yX19ib3JkZXI6ICAgICAgICAgICAgICAgICRfZXJyb3ItYm9yZGVyO1xuJFByb3BlcnR5LS1pcy1lcnJvci1sYWJlbF9fdGV4dDogICAgICAgICAgICAkX2Vycm9yLXRleHQ7XG4kUHJvcGVydHktLWlzLWVycm9yLS1pcy1mb2N1c2VkX19zaGFkb3c6ICAgICRfZXJyb3Itc2hhZG93O1xuXG4kUHJvcGVydHktLWlzLXdhcm5pbmdfX2JnOiAgICAgICAgICAgICAgICAgICRfd2FybmluZy1iZztcbiRQcm9wZXJ0eS0taXMtd2FybmluZ19fYm9yZGVyOiAgICAgICAgICAgICAgJF93YXJuaW5nLWJvcmRlcjtcbiRQcm9wZXJ0eS0taXMtd2FybmluZy1sYWJlbF9fdGV4dDogICAgICAgICAgJF93YXJuaW5nLXRleHQ7XG4kUHJvcGVydHktLWlzLXdhcm5pbmctLWlzLWZvY3VzZWRfX3NoYWRvdzogICRfd2FybmluZy1zaGFkb3c7XG5cbi8vICRQcm9wZXJ0eS1sYWJlbF9fdGV4dDogICAgICAgICAgICAgICAgICAgICAgICRfYmFzZS10ZXh0O1xuJFByb3BlcnR5LWxhYmVsX190ZXh0OiAgICAgICAgICAgICAgICAgICAgICAjNjA2MDYwO1xuXG4kUHJvcGVydHktZmllbGRfX2JnOiAgICAgICAgICAgICAgICAgICAgICAgICNGOEY4Rjg7XG5cbiRQcm9wZXJ0eS1maWVsZC1ob3Zlcl9fYmc6ICAgICAgICAgICAgICAgICAgJF9iYXNlX2JnO1xuXG4kUHJvcGVydHktZmllbGRfZm9jdXNfX3NoYWRvdzogICAgICAgICAgICAgICRfZm9jdXMtc2hhZG93OyAvLzcwQTVFMFxuJFByb3BlcnR5LWZpZWxkLS1zZWxlY3RfX2JvcmRlcjogICAgICAgICAgICAkX2Jhc2UtZGFyay1ib3JkZXI7XG5cbiRkaWFsb2ctcHJvcGVydHlfX2JvcmRlcjogICAgICAgICAgICAgICAgICAgJF9iYXNlX2xpZ2h0ZXJfYm9yZGVyO1xuXG4kaXNWYXJpYWJsZUNvbG9yOiAkX2hpZ2hsaWdodC1kYXJrLWJnO1xuJGlzVmFyaWFibGVMYWJlbENvbG9yOiAjMjA2Mjk4O1xuXG4kQnV0dG9uX2FjdGl2ZV9fYmc6ICAgICAgICAgICAgJF9idXR0b24tYWN0aXZlLWJnO1xuJEJ1dHRvbl9wcmVzc2VkX19iZzogICAgICAgICAgICRfYnV0dG9uLXByZXNzZWQtYmc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByb3BlcnRpZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmEtUHJvcGVydHkge1xuICAvLyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4xcztcbn1cbi5hLVByb3BlcnR5OmhvdmVyLFxuLmEtUHJvcGVydHkuaXMtYWN0aXZlIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgLy8gLmEtUHJvcGVydHktZmllbGQ6bm90KC5hLVByb3BlcnR5LWZpZWxkLS10ZXh0YXJlYSkge1xuICAvLyAgIGJveC1zaGFkb3c6IDRweCAwIDAgMCAjRjhGOEY4IGluc2V0LFxuICAvLyAgICAgICAgICAgICAgIC00cHggMCAwIDAgI0Y4RjhGOCBpbnNldCxcbiAgLy8gICAgICAgICAgICAgICAwIC0xcHggMCAwICNFMEUwRTAgaW5zZXQ7XG4gIC8vIH1cbn1cbi8vIC5hLVByb3BlcnR5LmlzLWFjdGl2ZSxcbi8vIC5hLVByb3BlcnR5LmlzLWZvY3VzZWQge1xuLy8gICAuYS1Qcm9wZXJ0eS1maWVsZDpub3QoLmEtUHJvcGVydHktZmllbGQtLXRleHRhcmVhKSB7XG4vLyAgICAgY29sb3I6ICRhY3RpdmVDb2xvcjtcbi8vICAgfVxuLy8gfVxuXG4uYS1Qcm9wZXJ0eS1idXR0b25Db250YWluZXIsXG4uYS1Qcm9wZXJ0eS1sYWJlbENvbnRhaW5lcixcbi5hLVByb3BlcnR5LWZpZWxkQ29udGFpbmVyLFxuLmEtUHJvcGVydHktdW5pdENvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGxlc3Qtc2NyZWVucykge1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gIH1cbiAgLy8gQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbC1zY3JlZW5zKSB7XG4gIC8vICAgcGFkZGluZzogNHB4IDhweDtcbiAgLy8gfVxuICAvLyBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bS1zY3JlZW5zKSB7XG4gIC8vICAgcGFkZGluZzogNnB4O1xuICAvLyB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByb3BlcnR5IEVycm9yXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYS1Qcm9wZXJ0eS5pcy1lcnJvciB7XG4gIC5hLVByb3BlcnR5LWxhYmVsIHtcbiAgICBjb2xvcjogJFByb3BlcnR5LS1pcy1lcnJvci1sYWJlbF9fdGV4dDtcbiAgfVxuICAvKiBNYWtlIHRoZSB0ZXh0IHJlZCB3aGVuIGl0IGlzIG5vdCBmb2N1c2VkIHRvIGJyaW5nIG1vcmUgYXR0ZW50aW9uICovXG4gIC5hLVByb3BlcnR5LWZpZWxkOm5vdCg6Zm9jdXMpIHtcbiAgICBjb2xvcjogJFByb3BlcnR5LS1pcy1lcnJvcl9fYm9yZGVyO1xuICB9XG4gIC5pY29uLWVycm9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBjb2xvcjogI0ZDMTgxQiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByb3BlcnR5IFdhcm5pbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5hLVByb3BlcnR5LmlzLXdhcm5pbmcge1xuICAuYS1Qcm9wZXJ0eS1sYWJlbCB7XG4gICAgY29sb3I6ICRQcm9wZXJ0eS0taXMtd2FybmluZy1sYWJlbF9fdGV4dDtcbiAgfVxuICAuaWNvbi13YXJuaW5nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBjb2xvcjogI0Y2OUYwMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkxhYmVsIGFuZCBQcmUgLyBQb3N0IFRleHRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5hLVByb3BlcnR5LWxhYmVsLFxuLmEtUHJvcGVydHktc2V0SXRlbXNIZWFkZXItaGVhZGVyLFxuLmEtUHJvcGVydHktdW5pdCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBjb2xvcjogJFByb3BlcnR5LWxhYmVsX190ZXh0O1xufVxuLmEtUHJvcGVydHktY2hlY2tib3gtbGFiZWwsXG4uYS1Qcm9wZXJ0eS1yYWRpbyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAkUHJvcGVydHktbGFiZWxfX3RleHQ7XG59XG4uYS1Qcm9wZXJ0eS11bml0IHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuIC5hLVByb3BlcnR5LWxhYmVsLS13aXRoSWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiA0cHggMDtcbiB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByb3BlcnR5IEZpZWxkIC0gVXNlZCBmb3IgcHJvcGVydHkgZWRpdG9yXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYS1Qcm9wZXJ0eS1maWVsZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MDQwNDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJFByb3BlcnR5LWZpZWxkX2ZvY3VzX19zaGFkb3cgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XG4gIH1cbn1cblxuLmEtUHJvcGVydHktZmllbGQ6bm90KC5hLVByb3BlcnR5LWZpZWxkLS10ZXh0YXJlYSkge1xuICBib3gtc2hhZG93OiA0cHggMCAwIDAgI0ZGRiBpbnNldCxcbiAgICAgICAgICAgICAgLTRweCAwIDAgMCAjRkZGIGluc2V0LFxuICAgICAgICAgICAgICAwIC0xcHggMCAwICNFMEUwRTAgaW5zZXQ7XG4gICY6Zm9jdXMsXG4gIC5hLVByb3BlcnR5LmlzLWFjdGl2ZSAmOmZvY3VzIHtcbiAgICAvLyBib3JkZXItY29sb3I6ICRQcm9wZXJ0eS1maWVsZF9mb2N1c19fc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRQcm9wZXJ0eS1maWVsZF9mb2N1c19fc2hhZG93IGluc2V0LCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuICB9XG4gIC5hLVByb3BlcnR5LmlzLWVycm9yLmlzLWFjdGl2ZSAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJFByb3BlcnR5LS1pcy1lcnJvcl9fYm9yZGVyIGluc2V0LCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuICB9XG4gIC5hLVByb3BlcnR5LmlzLXNoYWRvdy5pcy1hY3RpdmUgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRQcm9wZXJ0eS0taXMtZXJyb3JfX2JvcmRlciBpbnNldCwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgfVxufVxuXG4vLyBXaGVuIG11bHRpcGxlIGNvbXBvbmVudHMgYXJlIHNlbGVjdGVkLCBmaWVsZHMgd2l0aCB2YXJpYWJsZSBpbmZvcm1hdGlvbiBhcmUgc2hvd24gd2l0aCB0aGUgZm9sbG93aW5nIGJhY2tncm91bmQgY29sb3Jcbi5hLVByb3BlcnR5LmlzLXZhcmlhYmxlIHtcbiAgLmEtSWNvbi5pY29uLXZhcmlhYmxlIHtcbiAgICBjb2xvcjogJGlzVmFyaWFibGVDb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuICAuYS1Qcm9wZXJ0eS1maWVsZCB7XG4gICAgLy8gYm94LXNoYWRvdzogNHB4IDAgMCAwICNGRkYgaW5zZXQsXG4gICAgLy8gICAgICAgICAgICAgLTRweCAwIDAgMCAjRkZGIGluc2V0LFxuICAgIC8vICAgICAgICAgICAgIDAgLTFweCAwIDAgJGlzVmFyaWFibGVDb2xvciBpbnNldDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkaXNWYXJpYWJsZUNvbG9yLCAwLjUpIGluc2V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGlzVmFyaWFibGVDb2xvciwgMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG59XG4vLyBGb2N1cyBjb2xvciBjaGFuZ2VzIHdoZW4gaXQgaXMgaW4gYSB3YXJuaW5nIG9yIGVycm9yIHByb3BlcnR5XG4uYS1Qcm9wZXJ0eS5pcy13YXJuaW5nIC5hLVByb3BlcnR5LWZpZWxkLS10ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogJFByb3BlcnR5LS1pcy13YXJuaW5nX19ib3JkZXIgIWltcG9ydGFudDtcbn1cbi5hLVByb3BlcnR5LmlzLWVycm9yIC5hLVByb3BlcnR5LWZpZWxkLS10ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogJFByb3BlcnR5LS1pcy1lcnJvcl9fYm9yZGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIFByb3BlcnR5IEVkaXRvciBTZWxlY3QgTGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLVByb3BlcnR5LWZpZWxkLS1zZWxlY3Qge1xuICAvLyBib3JkZXI6IDFweCBzb2xpZCAkUHJvcGVydHktZmllbGQtLXNlbGVjdF9fYm9yZGVyO1xuICAvLyBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYS1Qcm9wZXJ0eS1maWVsZC0tc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDI0cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB0ZXh0LW92ZXJmbG93OiAnICc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5ib2R5Om5vdCg6LW1vei1oYW5kbGVyLWJsb2NrZWQpIC5hLVByb3BlcnR5LWZpZWxkLS1zZWxlY3Qge1xuICBwYWRkaW5nOiAycHggMjRweCAycHggMnB4O1xufVxuXG4vKiBUZXh0IEFyZWFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hLVByb3BlcnR5LWZpZWxkLS10ZXh0YXJlYSxcbmJvZHkgLnVpLXdpZGdldCAuYS1Qcm9wZXJ0eS1maWVsZC0tdGV4dGFyZWEge1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDMyMHB4O1xuICBmb250LWZhbWlseTogJ0NvbnNvbGFzJywgJ01lbmxvJywgbW9ub3NwYWNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTBFMEUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA0cHg7XG59XG4uYS1Qcm9wZXJ0eS1yZWFkT25seSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkUHJvcGVydHktbGFiZWxfX3RleHQ7XG59XG5cbi5hLVByb3BlcnR5LWZpZWxkLS1yZWFkT25seSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmEtUHJvcGVydHktc2V0SXRlbXNUYWJsZS1oZWFkZXIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmEtUHJvcGVydHktc2V0SXRlbXNUYWJsZSB7XG4gIC5hLVByb3BlcnR5LWZpZWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Qcm9wZXJ0eSBFZGl0b3IgaW4gRGlhbG9nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLy8gLnVpLWRpYWxvZyAuYS1Qcm9wZXJ0eSB7XG4vLyAgIGJvcmRlci1jb2xvcjogJGRpYWxvZy1wcm9wZXJ0eV9fYm9yZGVyO1xuLy8gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Db21ibyBCb3ggU3R5bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYS1Qcm9wZXJ0eS1idXR0b25Db250YWluZXItLWNvbWJvQm94IC5hLUJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4vLyAuYS1Qcm9wZXJ0eS1idXR0b25Db250YWluZXItLWNvbWJvQm94IC5hLUJ1dHRvbiB7XG4vLyAgIGJveC1zaGFkb3c6IG5vbmU7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwRTBFMDtcbi8vICAgaGVpZ2h0OiAyNHB4O1xuLy8gICBib3JkZXItcmFkaXVzOiAwO1xuLy8gICAuYS1Qcm9wZXJ0eS5pcy1hY3RpdmUgJiB7XG4vLyAgICAgYm9yZGVyLWNvbG9yOiAkUHJvcGVydHktZmllbGRfZm9jdXNfX3NoYWRvd1xuLy8gICB9XG4vLyB9XG4vLyAuYS1Qcm9wZXJ0eS1idXR0b25Db250YWluZXItLWNvbWJvQm94IC5hLUJ1dHRvbjpmb2N1cyxcbi8vIC5hLVByb3BlcnR5LWJ1dHRvbkNvbnRhaW5lci0tY29tYm9Cb3ggLmEtQnV0dG9uOmhvdmVyIHtcbi8vICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuLy8gICBib3JkZXItY29sb3I6ICRQcm9wZXJ0eS1maWVsZF9mb2N1c19fc2hhZG93O1xuLy8gICBjb2xvcjogI0ZGRjtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJFByb3BlcnR5LWZpZWxkX2ZvY3VzX19zaGFkb3c7XG4vLyB9XG5cbi8vIC5hLVByb3BlcnR5LS1zdGFja2VkIC5hLVByb3BlcnR5LWJ1dHRvbkNvbnRhaW5lciAuYS1CdXR0b24ge1xuLy8gICBib3gtc2hhZG93OiBub25lO1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vIH1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByb3BlcnR5IEVkaXRvciBCdXR0b25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYS1Qcm9wZXJ0eS1idXR0b25Db250YWluZXIgLmEtQnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQ2hlY2tib3ggKyBSYWRpbyBCdXR0b25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGNoZWNrbWFyayB7XG4gICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKX1cbiAgICA3NSUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpfVxuICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSl9XG59XG4uYS1Qcm9wZXJ0eS1jaGVja2JveC1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uYS1Qcm9wZXJ0eS1yYWRpby1pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBAaW5jbHVkZSB2aXN1YWxseUhpZGRlbjtcbiAgJiArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2U7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgIHotaW5kZXg6IDkwO1xuXG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbi8qIERpc2FibGVkIFN0YXRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAmOmRpc2FibGVkICsgbGFiZWwge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gIH1cbi8qIEZvY3VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAmOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMzOWY7XG4gICAgYm94LXNoYWRvdzogcmdiYSgwLDAsMCwuMSkgMCAxcHggMXB4O1xuICB9XG4gICY6Zm9jdXM6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzlmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gIH1cbiAgJjpob3ZlcjpjaGVja2VkICsgbGFiZWw6YWZ0ZXJcbiAgJjpmb2N1czpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5DaGVja2JveCBTcGVjaWZpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmEtUHJvcGVydHktY2hlY2tib3gtaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG5cbiAgJiArIGxhYmVsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuLyogVW5jaGVja2VkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAmOmhvdmVyICsgbGFiZWw6YWZ0ZXIsXG4gICY6Zm9jdXMgKyBsYWJlbDphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbi8qIENoZWNrZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICY6Y2hlY2tlZCB7XG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICM2MDYwNjA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MDYwO1xuICAgIH1cbiAgICAmICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJMElpQm9aV2xuYUhROUlqUWlJSFpwWlhkQ2IzZzlJakFnTUNBMElEUWlQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweUxqYzROeUF4TGpJNE4yd3RNUzR4TmpJZ01TNHhOakV0TGpReE1pMHVOREV4WXkwdU1EUTVMUzR3TkRrdExqRXlPQzB1TURRNUxTNHhOemNnTUhNdExqQTBPUzR4TWpnZ01DQXVNVGMzYkM0MUxqVXVNRGc1TGpBek5pNHdPRGd0TGpBek55QXhMakkxTFRFdU1qVmpMakEwT1MwdU1EUTVMakEwT1MwdU1USTRJREF0TGpFM04zTXRMakV5TnkwdU1EUTRMUzR4TnpZdU1EQXhlaUl2UGp3dmMzWm5QZz09KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgYW5pbWF0aW9uOiBjaGVja21hcmsgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgIGFuaW1hdGlvbi1maWxtLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5SYWRpbyBTcGVjaWZpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyByYWRpbyB7XG4gICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgzKX1cbiAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpfVxufVxuLmEtUHJvcGVydHktcmFkaW8taW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG5cbiAgJiArIGxhYmVsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuICB9XG5cbi8qIFVuY2hlY2tlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgJjpob3ZlciArIGxhYmVsOmFmdGVyLFxuICAmOmZvY3VzICsgbGFiZWw6YWZ0ZXIge1xuICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLy8gb3BhY2l0eTogMDtcbiAgfVxuXG4vKiBDaGVja2VkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAmOmNoZWNrZWQge1xuICAgICYgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjA2MDYwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwNjA2MDtcbiAgICB9XG4gICAgJiArIGxhYmVsOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgYW5pbWF0aW9uOiByYWRpbyAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgYW5pbWF0aW9uLWZpbG0tbW9kZTogZm9yd2FyZHM7XG4gICAgfVxuICB9XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5ZZXMgLyBObyBCdXR0b25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYS1Qcm9wZXJ0eS1yYWRpb0dyb3VwLS15ZXNObyB7XG4gIC5hLVByb3BlcnR5RWRpdG9yLS1zdGFja2VkICYge1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuICB9XG4gIC5hLVByb3BlcnR5LXJhZGlvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIH1cbiAgLmEtUHJvcGVydHktcmFkaW8taW5wdXQge1xuICAgIC8qIFVuY2hlY2tlZCAqL1xuICAgICYgKyBsYWJlbCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZTtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIH1cbiAgICAvKiBDaGVja2VkICovXG4gICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJ1dHRvbl9hY3RpdmVfX2JnO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgLjEpIGluc2V0LCAwIDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KSBpbnNldDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAvKiBGb2N1c2VkICovXG4gICAgJjpmb2N1cyArIGxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJFByb3BlcnR5LWZpZWxkX2ZvY3VzX19zaGFkb3cgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCdXR0b25fYWN0aXZlX19iZztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJFByb3BlcnR5LWZpZWxkX2ZvY3VzX19zaGFkb3cgaW5zZXQsIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIgKyBsYWJlbCB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMTUpIGluc2V0LCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIH1cbiAgICAmOmhvdmVyOmFjdGl2ZSArIGxhYmVsIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkUHJvcGVydHktZmllbGRfZm9jdXNfX3NoYWRvdyBpbnNldCwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCdXR0b25fcHJlc3NlZF9fYmc7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRoZW1lIENvbmZpZ3VyYXRpb24gRmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBCYXNlIENvbG9yc1xuICogXG4gKiBEZXNjcmlwdGlvbjpcbiAqIFByb3ZpZGVzIGEgYmFzZSBmb3IgdGhlIFVJLlxuICogXG4gKiBVc2FnZTpcbiAqIEdlbmVyYWwgVUkgQmFja2dyb3VuZCwgUmVnaW9uIEhlYWRlcnMsIEJ1dHRvbnNcbiAqL1xuXG4kX2Jhc2UtYmc6ICAgICAgICAgICAgICAgICAgI0ZGRkZGRjtcbiRfYmFzZS1ib3JkZXI6ICAgICAgICAgICAgICAjRjBGMEYwO1xuJF9iYXNlLXRleHQ6ICAgICAgICAgICAgICAgICM0NDQ0NDQ7XG5cbiRfYmFzZS1kYXJrLWJnOiAgICAgICAgICAgICAjRTRFNEU0O1xuJF9iYXNlX2RhcmtfYnJpZ2h0X2JnOiAgICAgICNFQ0VDRUM7XG4kX2Jhc2VfZGFya19kYXJrX2JnOiAgICAgICAgI0QwRDBEMDtcbiRfYmFzZS1kYXJrLWJvcmRlcjogICAgICAgICAjQkJCQkJCO1xuJF9iYXNlLWRhcmstdGV4dDogICAgICAgICAgICMyMjIyMjI7XG5cbiRfYmFzZV9saWdodF9iZzogICAgICAgICAgICAjRjRGNEY0O1xuJF9iYXNlX2xpZ2h0X2JyaWdodF9iZzogICAgICNGOEY4Rjg7XG4kX2Jhc2VfbGlnaHRfYnJpZ2h0ZXJfYmc6ICAgI0ZBRkFGQTtcbiRfYmFzZV9saWdodF9kYXJrX2JnOiAgICAgICAjRjJGMkYyO1xuJF9iYXNlX2xpZ2h0ZXN0X2JvcmRlcjogICAgICNGMEYwRjA7XG4kX2Jhc2VfbGlnaHRlcl9ib3JkZXI6ICAgICAgI0UwRTBFMDtcbiRfYmFzZV9saWdodF9ib3JkZXI6ICAgICAgICAjQzNDM0MzO1xuJF9iYXNlLWxpZ2h0LXRleHQ6ICAgICAgICAgICM2RjZGNkY7XG5cbi8qKlxuICogSGlnaGxpZ2h0IENvbG9yc1xuICogXG4gKiBEZXNjcmlwdGlvbjpcbiAqIFVzZWQgZm9yIHByb3ZpZGluZyBlbXBoYXNpcyBvciBpbXBvcnRhbmNlIHRvIFVJIGNvbXBvbmVudHMuXG4gKiBcbiAqIFVzYWdlOlxuICogUmVnaW9uIEhlYWRlcnMsIFByaW1hcnkgLyBIb3QgQnV0dG9uc1xuICovXG4kX2hpZ2hsaWdodC1iZzogICAgICAgICAgICAgICAgICNDRkU2RkE7IC8vI0Q2RTZGNzsgLy8jREZFQkZCO1xuJF9oaWdobGlnaHQtYnJpZ2h0LWJnOiAgICAgICAgICAjREVFRkZCOyAvLyNEQkVERkE7IC8vI0U1RUVGQjtcbiRfaGlnaGxpZ2h0LWRhcmstYmc6ICAgICAgICAgICAgIzdGQkVGMjsgLy8jQTZEMkY0OyAvLyNDOEQyRTA7XG4kX2hpZ2hsaWdodC1ib3JkZXI6ICAgICAgICAgICAgICNBRkJFQzg7IC8vIzlFQTlCNztcbiRfaGlnaGxpZ2h0LXRleHQ6ICAgICAgICAgICAgICAgIzQwNDA0MDtcblxuJF9kYXJrLWhpZ2hsaWdodC1iZzogICAgICAgICAgICAjMkQ3QkJCOyAvLyMzMTgyRDg7IC8vIzJFNkZCMFxuJF9kYXJrLWhpZ2hsaWdodC1icmlnaHQtYmc6ICAgICAjMzk4RkRGOyAvLyM1ODhCQkZcbiRfZGFyay1oaWdobGlnaHQtZGFyay1iZzogICAgICAgIzI4NzVEMTsgLy8jMjU1OThDXG4kX2RhcmstaGlnaGxpZ2h0LWJvcmRlcjogICAgICAgICMyMjZBQ0I7IC8vIzIyNTM4NDtcbiRfZGFyay1oaWdobGlnaHQtdGV4dDogICAgICAgICAgI0ZGRkZGRjtcblxuLyoqXG4gKiBBY2NlbnQgYW5kIFN0YXR1cyBDb2xvcnNcbiAqIFxuICogRGVzY3JpcHRpb246XG4gKiBVc2VkIGZvciBpbmRpY2F0aW5nIHN0YXRlLWJhc2VkIFVJIGNvbXBvbmVudHMsIHN0YXR1cywgb3IgYWNjZW50cy5cbiAqIFxuICogVXNhZ2U6XG4gKiBXYXJuaW5ncywgRXJyb3JzLCBEYW5nZXIgVGV4dCwgU3VjY2VzcywgRm9jdXNcbiAqL1xuXG4kX2Rhbmdlci1iZzogICAgICAgICAgICAgICAgI0ZBMDAwMDtcbiRfZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAjQ0EwMDAwO1xuJF9kYW5nZXItdGV4dDogICAgICAgICAgICAgICNGRkZGRkY7XG5cbiRfZXJyb3ItYmc6ICAgICAgICAgICAgICAgICAjRkZFRkVGO1xuJF9lcnJvci10ZXh0OiAgICAgICAgICAgICAgICM0QzQyNDI7XG4kX2Vycm9yLWljb246ICAgICAgICAgICAgICAgI0ZDMTgxQjsgXG4kX2Vycm9yLWJvcmRlcjogICAgICAgICAgICAgI0ZDMTgxQjtcbiRfZXJyb3ItZGltLWJvcmRlcjogICAgICAgICAjRkFCMUI2O1xuJF9lcnJvci1zaGFkb3c6ICAgICAgICAgICAgICNGRURGREY7XG5cbiRfd2FybmluZy1iZzogICAgICAgICAgICAgICAjRkZGOERGO1xuJF93YXJuaW5nLWRpbS1iZzogICAgICAgICAgICNGRkVEQUI7XG4kX3dhcm5pbmctdGV4dDogICAgICAgICAgICAgIzQ2MzQwMztcbiRfd2FybmluZy1pY29uOiAgICAgICAgICAgICAjRkRCMzA5O1xuJF93YXJuaW5nLWJvcmRlcjogICAgICAgICAgICNGREIzMDk7XG4kX3dhcm5pbmctZGltLWJvcmRlcjogICAgICAgI0QyQjg3RDtcbiRfd2FybmluZy1zaGFkb3c6ICAgICAgICAgICAjRkVFREI5O1xuXG4kX2ZvY3VzLXNoYWRvdzogICAgICAgICAgICAgIzM5OUJFQTsgLy8jNDY5NkZDO1xuJF9mb2N1cy1kYW5nZXItc2hhZG93OiAgICAgICNGQzE4MUI7XG4kX2ZvY3VzLXdhcm5pbmctc2hhZG93OiAgICAgI0ZEQjMwOTtcblxuJF9hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICMyRDdCQkI7IC8vIzMxODJEODtcbiRfYWN0aXZlLWRhcmstYmc6ICAgICAgICAgICAjMTQ2RkI4O1xuXG4kX2J1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgI0U4RThFODtcbiRfYnV0dG9uLXByZXNzZWQtYmc6ICAgICAgICAjRTBFMEUwO1xuXG4kX2xpbmstdGV4dDogICAgICAgICAgICAgICAgIzE0NkZCODsgLy8jMUU2RUMyOyAvLyMyNTZmZmJcbiRfbGluay1iZzogICAgICAgICAgICAgICAgICAjMkQ3QkJCOyAvLyMyMDc1Q0Y7XG5cblxuJF9ncmVlbi1iZzogICAgICAgICAgICAgICAgICMyNENCN0Y7XG5cbi8qKlxuICogQXBwbGljYXRpb24gQmFzZWQgQ29sb3JzXG4gKiBcbiAqIERlc2NyaXB0aW9uOlxuICogVXNlZCBmb3IgYXBwbGljYXRpb25zIHdpdGhpbiBBUEVYIGRldmVsb3BtZW50XG4gKi9cblxuJF9hcGV4LWFwcC1idWlsZGVyOiAgICAgICAgICAgICAjMzk5QkVBO1xuJF9hcGV4LWFwcC1idWlsZGVyLWRhcms6ICAgICAgICAjN0M4NzkxO1xuXG4kX2FwZXgtc3FsLXdvcmtzaG9wOiAgICAgICAgICAgICMyNENCN0Y7XG4kX2FwZXgtc3FsLXdvcmtzaG9wLWRhcms6ICAgICAgICM3Qzg3OTE7XG5cbiRfYXBleC10ZWFtLWRldjogICAgICAgICAgICAgICAgI0ZGQkUyQTtcbiRfYXBleC10ZWFtLWRldi1kYXJrOiAgICAgICAgICAgIzdDODc5MTtcblxuJF9hcGV4LXBrZy1hcHBzOiAgICAgICAgICAgICAgICAjRjU0QjIxOyAvLyNGOTQyMkE7IC8vI0Y5NDQ0MztcbiRfYXBleC1wa2ctYXBwcy1kYXJrOiAgICAgICAgICAgIzdDODc5MTtcblxuJF9hcGV4LWluc3RhbmNlLWFkbWluOiAgICAgICAgICAjQkRDM0M3O1xuJF9hcGV4LWluc3RhbmNlLWFkbWluLWRhcms6ICAgICAjN0M4NzkxO1xuXG4kX2FwZXgtd29ya3NwYWNlLWFkbWluOiAgICAgICAgICNCREMzQzc7XG4kX2FwZXgtd29ya3NwYWNlLWFkbWluLWRhcms6ICAgICM3Qzg3OTE7XG5cblxuLy8gIzJEN0JCQlxuXG5cbi8vICRfY29sb3JzOiAjRjFDNDJDLCAjMURCQzlDLCAjMkVDQzcxLCAjMzQ5OERCLCAjOUI1OUI2LCAjMzQ0ODVFLCAjRTY3RTIxLCAjRTc0QzNDLCAjOTVBNUE2LCAjRUNGMEYxLFxuLy8gICAgICAgICAgIG1peCgjRkZGLCAjRjFDNDJDLCAyMCUpLCBtaXgoI0ZGRiwgIzFEQkM5QywgMjAlKSwgbWl4KCNGRkYsICMyRUNDNzEsIDIwJSksIG1peCgjRkZGLCAjMzQ5OERCLCAyMCUpLCBtaXgoI0ZGRiwgIzlCNTlCNiwgMjAlKSwgbWl4KCNGRkYsICMzNDQ4NUUsIDIwJSksIG1peCgjRkZGLCAjRTY3RTIxLCAyMCUpLCBtaXgoI0ZGRiwgI0U3NEMzQywgMjAlKSwgbWl4KCNGRkYsICM5NUE1QTYsIDIwJSksIG1peCgjRkZGLCAjRUNGMEYxLCAyMCUpLFxuLy8gICAgICAgICAgIG1peCgjMDAwLCAjRjFDNDJDLCAyMCUpLCBtaXgoIzAwMCwgIzFEQkM5QywgMjAlKSwgbWl4KCMwMDAsICMyRUNDNzEsIDIwJSksIG1peCgjMDAwLCAjMzQ5OERCLCAyMCUpLCBtaXgoIzAwMCwgIzlCNTlCNiwgMjAlKSwgbWl4KCMwMDAsICMzNDQ4NUUsIDIwJSksIG1peCgjMDAwLCAjRTY3RTIxLCAyMCUpLCBtaXgoIzAwMCwgI0U3NEMzQywgMjAlKSwgbWl4KCMwMDAsICM5NUE1QTYsIDIwJSksIG1peCgjMDAwLCAjRUNGMEYxLCAxMCUpO1xuXG4vLyBpb3MtaW5zcGlyZWQgNyBjb2xvcnNcbiRfY29sb3JzOiAjNTg1NkQ2LCAjMDA3YWZmLCAjMzRhYWRjLCAjNWFjOGZhLCAjNGNkOTY0LCAjZmYyZDU1LCAjZmYzYjMwLCAjZmY5NTAwLCAjZmZjYzAwLCAjOGU4ZTkzLFxuICAgICAgICAgIG1peCgjRkZGLCAjNTg1NkQ2LCAyMCUpLCBtaXgoI0ZGRiwgIzAwN2FmZiwgMjAlKSwgbWl4KCNGRkYsICMzNGFhZGMsIDIwJSksIG1peCgjRkZGLCAjNWFjOGZhLCAyMCUpLCBtaXgoI0ZGRiwgIzRjZDk2NCwgMjAlKSwgbWl4KCNGRkYsICNmZjJkNTUsIDIwJSksIG1peCgjRkZGLCAjZmYzYjMwLCAyMCUpLCBtaXgoI0ZGRiwgI2ZmOTUwMCwgMjAlKSwgbWl4KCNGRkYsICNmZmNjMDAsIDIwJSksIG1peCgjRkZGLCAjOGU4ZTkzLCAyMCUpLFxuICAgICAgICAgIG1peCgjMDAwLCAjNTg1NkQ2LCAxMCUpLCBtaXgoIzAwMCwgIzAwN2FmZiwgMTAlKSwgbWl4KCMwMDAsICMzNGFhZGMsIDEwJSksIG1peCgjMDAwLCAjNWFjOGZhLCAxMCUpLCBtaXgoIzAwMCwgIzRjZDk2NCwgMTAlKSwgbWl4KCMwMDAsICNmZjJkNTUsIDEwJSksIG1peCgjMDAwLCAjZmYzYjMwLCAxMCUpLCBtaXgoIzAwMCwgI2ZmOTUwMCwgMTAlKSwgbWl4KCMwMDAsICNmZmNjMDAsIDEwJSksIG1peCgjMDAwLCAjOGU4ZTkzLCAxMCUpO1xuIiwiQG1peGluIHRyYW5zcGFyZW50RGl2aWRlcnMge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGRiwuNzUpO1xuICAgICAgdG9wOiAwO1xuICAgfVxuICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLC4xNSk7XG4gICAgICBib3R0b206IDA7XG4gICB9XG4gICAmOmJlZm9yZSxcbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAmOmJlZm9yZSxcbiAgICY6YWZ0ZXIge1xuICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgfVxuICAgJjphZnRlciB7XG4gICAgICAgY2xlYXI6IGJvdGg7XG4gICB9XG4gICAqem9vbTogMTtcbn1cblxuQG1peGluIGFwZXg1aWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbkBtaXhpbiB2aXN1YWxseUhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5AbWl4aW4gbm9XcmFwVGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBAbWl4aW4gY2xlYXJmaXgyIHtcbi8vICAgICB6b29tOjE7XG4vLyAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuLy8gICAgICAgICBjb250ZW50OiBcIlxcMDAyMFwiOyBcbi8vICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxuLy8gICAgICAgICBoZWlnaHQ6IDA7IFxuLy8gICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyBcbi8vICAgICB9XG4vLyAgICAgJjphZnRlciB7XG4vLyAgICAgICAgIGNsZWFyOiBib3RoO1xuLy8gICAgIH1cbi8vIH1cblxuLy8gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gU3ByaXRlIE1peGluXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWl4aW4gcGRTcHJpdGUoJHNpemUsICR4LCAkeSwgJHdpZHRoOiAwLCAkaGVpZ2h0OiAwLCAkaW1wOiAnJykge1xuICAkb2Zmc2V0OiAwO1xuICBAaWYgJHNpemUgPT0gMTYge1xuICAgICRvZmZzZXQ6IDIwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDIwIHtcbiAgICAkb2Zmc2V0OiAxNTA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMjQge1xuICAgICRvZmZzZXQ6IDI3MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAzMiB7XG4gICAgJG9mZnNldDogMzcwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDM2IHtcbiAgICAkb2Zmc2V0OiA1NjA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gNjQge1xuICAgICRvZmZzZXQ6IC0xOyAvLzc0MFxuICB9IEBlbHNlIHtcbiAgICAkb2Zmc2V0OiAwO1xuICB9XG4gIFxuICBAaWYgJHdpZHRoICE9IDAge1xuICAgIHdpZHRoOiAjeyR3aWR0aH1weDtcbiAgfVxuICBAaWYgJGhlaWdodCAhPSAwIHtcbiAgICBoZWlnaHQ6ICN7JGhlaWdodH1weDtcbiAgfVxuICBAaWYgJG9mZnNldCA+IDAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0jeyR4KiRzaXplfXB4IC0jeygkeSokc2l6ZSkrJG9mZnNldH1weCAjeyRpbXB9O1xuICB9IEBlbHNlIGlmICRvZmZzZXQgPT0gLTEge1xuICAgIC8vIFdpemFyZCBYLVBvc2l0aW9uIGlzIDUwJVxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAtI3soJHkqJHNpemUpKzc0MH1weCAjeyRpbXB9O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtI3skeH1weCAtI3soJHkpfXB4ICN7JGltcH07XG4gIH1cbn1cblxuLy8gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gRXh0ZW5kaWJsZSBTcHJpdGUgQ2xhc3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiVwZFNwcml0ZSB7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvYXBleF81X3VpLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4kZGlzcGxheS14eHhzOiA2NDBweDtcbiRkaXNwbGF5LXh4czogODAwcHg7XG4kZGlzcGxheS14czogMTAyNHB4O1xuJGRpc3BsYXktc21hbGw6IDEyODBweDtcbiRkaXNwbGF5LW1lZGl1bTogMTY4MHB4O1xuJGRpc3BsYXktbGFyZ2U6IDE5MjBweDtcblxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0geHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4eHMpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gc21hbGxlc3Qtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1sYXJnZSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14cyArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktc21hbGwgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1sYXJnZSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2VzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBFeHRlbmRpYmxlIEljb24gQ2xhc3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiVhLUljb24ge1xuICBmb250LWZhbWlseTogXCJhcGV4LTUtaWNvbi1mb250XCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIHNoYWRvd1Njcm9sbCgkc2l6ZTogNCwgJGJnOiAjRkZGRkZGKSB7XG4gICRzaGFkb3dTbWFsbDogJHNpemUgKyBcInB4XCI7XG4gICRzaGFkb3dCaWc6ICAgJHNpemUgKiAyICsgXCJweFwiO1xuICAkYm9keUJHOiAgICAgICRiZztcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoJGJvZHlCRyAzMCUsIHJnYmEoJGJvZHlCRywwKSksXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoJGJvZHlCRywwKSwgJGJvZHlCRyA3MCUpIDAgMTAwJSxcbiAgICBcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMDI1KSwgcmdiYSgwLDAsMCwwKSksXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsLjAyNSkpIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHlCRztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRzaGFkb3dCaWcsIDEwMCUgJHNoYWRvd0JpZywgMTAwJSAkc2hhZG93U21hbGwsIDEwMCUgJHNoYWRvd1NtYWxsO1xuICBcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
