/**
 * Import Compass
 */
/* ==========================================================================
   Icon Library Mixin
   ========================================================================== */
/* ==========================================================================
   Shadows
   ========================================================================== */
body {
  min-width: 320px; }
  body .grid-debug-on .container {
    background-image: linear-gradient(90deg, rgba(255, 128, 128, 0.2) 0%, rgba(255, 128, 128, 0.2) 50%, transparent 50%, transparent 100%);
    background-size: 16.6666667% 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

/* ==========================================================================
   Page Body
   ========================================================================== */
html {
  font-size: 62.5%; }

body {
  font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.4rem;
  line-height: 2.0rem;
  margin: 0; }
  .u-RTL body {
    direction: rtl; }

a {
  text-decoration: none; }

.is-fixed {
  position: fixed;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

/* Inline Dialog Container
   ========================================================================== */
.t-Body-inlineDialogs {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/* ==========================================================================
   Login Page
   ========================================================================== */
.t-PageBody--login form#wwvFlowForm {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.t-PageBody--login .t-Body {
  margin-top: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.t-PageBody--login .t-Alert--wizard {
  width: auto; }

/* ==========================================================================
   APEX Form Element
   ========================================================================== */
form#wwvFlowForm {
  min-height: 100vh;
  margin: 0; }

/* ==========================================================================
   Body Content + Columns
   ========================================================================== */
.t-Body {
  position: relative;
  overflow: hidden; }

.t-Body-wrap {
  margin: 12px 0;
  display: table;
  table-layout: fixed;
  width: 100%; }

.t-Body-alert:empty {
  display: none; }

/* ==========================================================================
   Body Title
   ========================================================================== */
.js-hideTitleBar .t-Body-title {
  display: none !important; }

.js-hidePageTitle .t-Body-titleHeading {
  display: none !important; }

.t-Body-title {
  display: block;
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.075); }
  .t-Body-title.js-hideBreadcrumbs {
    margin-top: -36px; }
    .t-Body-title.js-hideBreadcrumbs .t-Breadcrumb {
      opacity: 0; }

.t-Body-titleHeading {
  font-size: 2.8rem;
  line-height: 1;
  margin: 0;
  padding: 24px;
  font-weight: 300;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  .t-Breadcrumb + .t-Body-titleHeading {
    padding-top: 0;
    margin-top: -24px; }

/* ==========================================================================
   Core Body Styles
   ========================================================================== */
.t-Header,
.t-Body-nav,
.t-Body-actions {
  position: fixed;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.t-Header {
  top: 0;
  left: 0;
  right: 0;
  z-index: 500; }

.t-Body-main,
.t-Body-content {
  overflow: hidden; }

.t-Body-contentInner {
  padding: 16px;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%; }

.t-Body-content {
  min-height: 100vh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

/* ==========================================================================
   Configure Widths
   ========================================================================== */
/* ==========================================================================
   Tree Based Navigation
   ========================================================================== */
/**
 * Hide Top Menu Bar Navigation
 */
.apex-side-nav .t-Header-nav,
.apex-side-nav #t_Button_menuNavControl {
  display: none !important; }

.apex-side-nav .t-Body-nav,
.apex-side-nav .t-Body-actions,
.apex-side-nav .t-Body-title {
  top: 40px; }

/* ==========================================================================
   Menu Based Navigation
   ========================================================================== */
.apex-top-nav .t-Body-nav,
.apex-top-nav #t_Button_treeNavControl {
  display: none !important; }

.apex-top-nav .t-Body-actions {
  top: 80px; }

.apex-top-nav .t-Body-title,
.apex-top-nav .t-Body-side {
  left: 0;
  right: 0; }

.apex-top-nav .t-Body-title {
  top: 80px; }

/* ==========================================================================
   Base Page Template Styles
   ========================================================================== */
/**
 * Transitions on Moving Elements
 */
.t-Header,
.t-Body-main,
.t-Body-title,
.t-Body-actions,
.t-Body-nav,
.t-Body-side,
.t-Body-nav .t-TreeNav,
.t-Body-content,
.t-Button.t-Button--header {
  transition: all .2s; }
  .no-anim .t-Header, .no-anim
  .t-Body-main, .no-anim
  .t-Body-title, .no-anim
  .t-Body-actions, .no-anim
  .t-Body-nav, .no-anim
  .t-Body-side, .no-anim
  .t-Body-nav .t-TreeNav, .no-anim
  .t-Body-content, .no-anim
  .t-Button.t-Button--header {
    transition: none !important; }

.no-anim .t-Body-title,
.no-anim .t-Body-side,
.no-anim .t-Body-content {
  opacity: 0; }

/**
 * Base styles for Tree Nav container
 */
.t-Body-nav {
  width: 180px;
  left: 0;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .u-RTL .t-Body-nav {
    left: auto;
    right: 0; }

/**
 * Base styles for Actions
 */
.t-Body-actions {
  display: none;
  right: 0;
  bottom: 0;
  width: 200px;
  z-index: 490; }
  .t-Body-actions .t-Button--header {
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
    position: absolute; }
    .u-RTL .t-Body-actions .t-Button--header {
      -webkit-transform: translate3d(40px, 0, 0);
      transform: translate3d(40px, 0, 0); }
  .u-RTL .t-Body-actions {
    right: auto;
    left: 0px; }

.t-Body-actionsContent {
  height: 100%;
  overflow: auto; }

/**
 * Base styles for Title Bar
 */
.t-Body-title {
  z-index: 460; }

/**
 * Base styles for Side Bar
 */
.t-Body-side {
  z-index: 470;
  overflow: auto; }
  .t-PageBody--hideLeft .t-Body-side {
    display: none !important; }

/**
 * Base Styles for Content Container
 */

/* Hide Toggle Icon when Nav Collapsed */
.apex-side-nav.js-navCollapsed .t-TreeNav .a-TreeView-toggle {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/* Hide Badges when XXS and Nav Collapsed */

/* ==========================================================================
   Master Detail Page
   ========================================================================== */
.t-PageBody--masterDetail .t-Body-title {
  border-bottom-width: 0; }
  .t-PageBody--masterDetail .t-Body-title:after {
    display: none; }
  .t-PageBody--masterDetail .t-Body-title.has-shadow {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.075); }
  .t-PageBody--masterDetail .t-Body-title.has-shadow:after {
    background-image: linear-gradient(rgba(0, 0, 0, 0.05), transparent);
    display: block; }

.t-PageBody--masterDetail .t-Body-contentInner > .container:first-child {
  min-height: 75vh; }

.t-PageBody--masterDetail .apex-rds-container {
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) inset; }
  .t-PageBody--masterDetail .apex-rds-container.is-stuck:after {
    content: ' ';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    margin-bottom: -4px;
    z-index: 100;
    background-image: linear-gradient(rgba(0, 0, 0, 0.05), transparent); }
    .u-RTL .t-PageBody--masterDetail .apex-rds-container.is-stuck:after {
      left: auto;
      right: 0; }

.t-Body-info {
  overflow: hidden; }
  .t-Body-info .t-Region {
    margin: 16px; }
  .t-Body-info .t-Region--noUI {
    margin: 0; }
    .t-Body-info .t-Region--noUI .t-Region-headerItems--controls {
      padding-left: 1.6rem; }

.t-Body-topButton {
  margin: 24px auto;
  width: 64px;
  height: 64px;
  padding: 16px;
  border-radius: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  opacity: .5;
  transition: all .1s; }
  .t-Body-topButton:hover, .t-Body-topButton:active, .t-Body-topButton:focus {
    opacity: 1;
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px); }
  .t-Body-topButton:hover {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); }
  .t-Body-topButton:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) inset; }
  .t-Body-topButton:focus {
    outline: none; }
  .t-Body-topButton .a-Icon {
    width: 32px;
    height: 32px; }
    .t-Body-topButton .a-Icon:before {
      font-size: 32px; }

.flotPieContainer > div {
  margin: 0 auto; }

body.apex-no-scroll {
  overflow: hidden !important;
  width: 100%; }

.a-Menu {
  visibility: visible; }

.ui-widget {
  visibility: visible; }

.ui-dialog {
  visibility: visible; }

.u-RTL .a-Menu-labelContainer {
  margin-left: 20px;
  margin-right: 0px; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .t-PageBody--login .t-Body {
    min-height: 99vh; } }

@media only screen and (max-width: 768px) {
  .t-Body {
    margin-top: 0; } }

@media only screen and (max-width: 640px) {
  .js-HeaderContracted .t-Header {
    margin-top: -200px; }
  .js-HeaderContracted #t_Body_actions {
    margin-top: 0px !important;
    top: 0px !important; }
  .js-HeaderExpanded .t-Header {
    margin-top: 0px; }
  .apex-top-nav.js-menuNavExpanded .t-Header {
    position: static; }
  .apex-top-nav.js-menuNavExpanded .t-Body-actions .t-Button--header {
    display: none; } }

@media only screen and (min-width: 641px) {
  .apex-top-nav #t_Button_menuNavControl {
    display: none !important; }
  .t-Body-title {
    position: fixed;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .t-Body-side {
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.1);
    position: fixed;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    bottom: 0;
    width: 240px;
    left: 40px; }
  .u-RTL .t-Body-side {
    box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1); }
  .u-RTL .t-Body-side {
    left: auto;
    right: 40px; }
  .t-Body-content {
    margin-top: inherit; } }

@media only screen and (max-width: 480px) {
  .apex-side-nav.js-navCollapsed .a-TreeView-badge {
    display: none !important; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvZHkuc2NzcyIsIi4uL21vZHVsZXMvX2NvbW1vbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDNE9IOztnRkFFZ0Y7QUFjaEY7O2dGQUVnRjtBRDFQaEY7RUFDRSxpQkFBaUIsRUFXbEI7RUFaRDtJQU9NLHVJQUFpQztJQUNqQyxrQ0FBa0M7SUFDbEMsNENBQTZCLEVBQzlCOztBQUtMOztnRkFFZ0Y7QUFDaEY7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7RUFDRSx3RUFBd0U7RUFDeEUsK0JBQStCO0VBQy9CLDJCQUEyQjtFQUMzQixvQ0FBb0M7RUFDcEMsbUNBQW1DO0VBQ25DLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsVUFBVSxFQUlYO0VBSEM7SUFDRSxlQUFlLEVBQ2hCOztBQUlIO0VBQ0Usc0JBQXNCLEVBQ3ZCOztBQUlEO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUFDN0I7O0FBRUQ7Z0ZBQ2dGO0FBQ2hGO0VDNkRFLFVBQVU7RUFDVixvQkFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsV0FBVyxFRGxFWjs7QUFFRDs7Z0ZBRWdGO0FBQ2hGO0VBRUksc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWMsRUFDZjs7QUFISDtFQUtJLGNBQWM7RUFDZCxzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYztFQUNkLDRCQUFvQjtNQUFwQix1QkFBb0I7VUFBcEIsb0JBQW9CO0VBQ3BCLGdDQUF3QjtNQUF4QixzQkFBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLCtCQUF1QjtNQUF2QiwyQkFBdUI7VUFBdkIsdUJBQXVCLEVBQ3hCOztBQVZIO0VBWUksWUFBWSxFQUNiOztBQVNIOztnRkFFZ0Y7QUFDaEY7RUFFRSxrQkFBa0I7RUFFbEIsVUFBVSxFQUNYOztBQUVEOztnRkFFZ0Y7QUFDaEY7RUFHRSxtQkFBbUI7RUFDbkIsaUJBQWlCLEVB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QWdCO0lBQ2hCLG9DQUE0QjtJQUE1Qiw0QkFBNEIsRUFFL0I7RUFLRDtJQU9JLHVDQUF3QjtJQUl4QixnQkFBZ0I7SUFDaEIsb0NBQTRCO0lBQTVCLDRCQUE0QjtJQUM1QixVQUFVO0lBQ1YsYUEzTW9CO0lDL0V0QixXRDBFc0IsRUFtTnZCO0VBVEc7SUFDRSx3Q0FBeUIsRUFDMUI7RUNyUkg7SUFDRSxXQUFXO0lBQ1gsWUR1RW9CLEVDdEVyQjtFRDhSSDtJQUVJLG9CQUFvQixFQUV2QixFQXZJSTs7QUMzUkQ7RUQ0YUo7SUFHTSx5QkFBeUIsRUFDMUIsRUFBQSIsImZpbGUiOiJCb2R5LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW1wb3J0IENvbXBhc3NcbiAqL1xuLy8gQGltcG9ydCAnLi4vbW9kdWxlcy9ub3JtYWxpemUnO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvY29tbW9uXCI7XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICAkYTogcmdiYSgyNTUsIDEyOCwgMTI4LCAwLjIwMCk7XG4gICRiOiB0cmFuc3BhcmVudDtcblxuICAuZ3JpZC1kZWJ1Zy1vbiB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsJGEgMCUsJGEgNTAlLCRiIDUwJSwkYiAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYuNjY2NjY2NyUgMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZSBCb2R5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgJ1NlZ29lIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMi4wcmVtO1xuICBtYXJnaW46IDA7XG4gIC51LVJUTCAmIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuXG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50LVBhZ2VCb2R5IHt9XG5cbi5pcy1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBJbmxpbmUgRGlhbG9nIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUJvZHktaW5saW5lRGlhbG9ncyB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5SGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTG9naW4gUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LVBhZ2VCb2R5LS1sb2dpbiB7XG4gIGZvcm0jd3d2Rmxvd0Zvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnQtQm9keSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnQtQWxlcnQtLXdpemFyZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnQtUGFnZUJvZHktLWxvZ2luIC50LUJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDk5dmg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFQRVggRm9ybSBFbGVtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZm9ybSN3d3ZGbG93Rm9ybSB7XG4gIC8vIGRpc3BsYXk6IGZsZXg7O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgLy8gQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQm9keSBDb250ZW50ICsgQ29sdW1uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUJvZHkge1xuICAvLyBvcGFjaXR5OiAwO1xuICAvLyBAaW5jbHVkZSBmbGV4KDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMtc2NyZWVucykge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnQtQm9keS13cmFwIHtcbiAgbWFyZ2luOiAxMnB4IDA7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gUmVtb3ZpbmcgdGhlIGZvbGxvd2luZyBzdHlsZXNcbiAgLy8gVW5uZWNlc3NhcnlcbiAgLy8gQGluY2x1ZGUgcmVzcG9uZC10byh4cy1zY3JlZW5zKSB7XG4gIC8vICAgZGlzcGxheTogYmxvY2s7XG4gIC8vIH1cbn1cbi50LUJvZHktYWxlcnQge1xuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCb2R5IFRpdGxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uanMtaGlkZVRpdGxlQmFyIHtcbiAgLnQtQm9keS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uanMtaGlkZVBhZ2VUaXRsZSB7XG4gIC50LUJvZHktdGl0bGVIZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnQtQm9keS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDc1KTtcbiAgJi5qcy1oaWRlQnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgIC50LUJyZWFkY3J1bWIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgLy8gJjphZnRlciB7XG4gIC8vICAgY29udGVudDogJyAnO1xuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1sZWZ0KDApO1xuICAvLyAgIGJvdHRvbTogMDtcbiAgLy8gICB3aWR0aDogMTAwJTtcbiAgLy8gICBoZWlnaHQ6IDRweDtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAtNHB4O1xuICAvLyAgIHotaW5kZXg6IDEwMDtcbiAgLy8gICBvcGFjaXR5OiAwO1xuICAvLyAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjIwcztcbiAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMDUpLCByZ2JhKDAsMCwwLCAwKSk7XG4gIC8vIH1cbiAgLy8gJi5oYXMtc2hhZG93OmFmdGVyIHtcbiAgLy8gICBvcGFjaXR5OiAxO1xuICAvLyB9XG4gIC8vICYuanMtaGlkZUJyZWFkY3J1bWJzIHtcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC45NSk7XG4gIC8vIH1cbn1cblxuLnQtQm9keS10aXRsZUhlYWRpbmcge1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC50LUJyZWFkY3J1bWIgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29yZSBCb2R5IFN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnQtSGVhZGVyLFxuLnQtQm9keS1uYXYsXG4udC1Cb2R5LWFjdGlvbnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnQtSGVhZGVyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNTAwO1xufVxuXG4udC1Cb2R5LW1haW4sXG4udC1Cb2R5LWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnQtQm9keS1jb250ZW50SW5uZXIge1xuICBwYWRkaW5nOiAxNnB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnQtQm9keS1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWd1cmUgV2lkdGhzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kSGVhZC1IZWlnaHQ6ICAgICAgIDQwcHg7XG4kSGVhZC1NZW51LUhlaWdodDogIDgwcHg7XG5cbiROYXYtRXhwOiAgICAgICAgICAxODBweDsgLy8gQlJJTkcgVEhJUyBPVVQuIC8vIFJlbW92aW5nIGR1ZSB0byBiZWluZyBpbmNsdWRlZCBpbiBUaGVtZSBSb2xsZXJcbiROYXYtQ29sOiAgICAgICAgICAgNDBweDtcblxuJEFjdGlvbnMtRXhwOiAgICAgIDIwMHB4OyAvL1xuJEFjdGlvbnMtQ29sOiAgICAgICAgMHB4O1xuXG4kU2lkZS1FeHA6ICAgICAgICAgMjQwcHg7IC8vXG4kU2lkZS1Db2w6ICAgICAgICAgICAwcHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUcmVlIEJhc2VkIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhpZGUgVG9wIE1lbnUgQmFyIE5hdmlnYXRpb25cbiAqL1xuLmFwZXgtc2lkZS1uYXYge1xuICAudC1IZWFkZXItbmF2LFxuICAjdF9CdXR0b25fbWVudU5hdkNvbnRyb2wge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudC1Cb2R5LW5hdixcbiAgLnQtQm9keS1hY3Rpb25zLFxuICAudC1Cb2R5LXRpdGxlIHtcbiAgICB0b3A6ICRIZWFkLUhlaWdodDtcbiAgfVxuICAudC1Cb2R5LXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zbWFsbC1zY3JlZW5zLW91dCkge1xuICAgICAvLyBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1sZWZ0KCROYXYtRXhwKTsgLy8gUmVtb3ZpbmcgZHVlIHRvIGJlaW5nIGluY2x1ZGVkIGluIFRoZW1lIFJvbGxlclxuICAgIH1cbiAgfVxuICAudC1Cb2R5LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHNzLXNtYWxsLXNjcmVlbnMtb3V0KSB7XG4gICAgICAvLyBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tbGVmdCgkTmF2LUV4cCk7IC8vIFJlbW92aW5nIGR1ZSB0byBiZWluZyBpbmNsdWRlZCBpbiBUaGVtZSBSb2xsZXJcbiAgICB9XG4gIH1cbiAgLnQtQm9keS1tYWluIHtcbiAgICAvLyBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tbGVmdCgwKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8oeHNzLXNjcmVlbnMpIHtcbi5qcy1IZWFkZXJDb250cmFjdGVkIHtcbiAgLnQtSGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG5cbi8vICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgI3RfQm9keV9hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB0b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG59XG4uanMtSGVhZGVyRXhwYW5kZWQge1xuICAudC1IZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbi8vICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZW51IEJhc2VkIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hcGV4LXRvcC1uYXYge1xuICAudC1Cb2R5LW5hdixcbiAgI3RfQnV0dG9uX3RyZWVOYXZDb250cm9sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnQtQm9keS1hY3Rpb25zIHtcbiAgICB0b3A6ICRIZWFkLU1lbnUtSGVpZ2h0O1xuICB9XG4gIC50LUJvZHktdGl0bGUsXG4gIC50LUJvZHktc2lkZSB7XG4gICBsZWZ0OiAwO1xuICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnQtQm9keS10aXRsZSB7XG4gICAgdG9wOiAkSGVhZC1NZW51LUhlaWdodDtcbiAgfVxuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zbWFsbC1zY3JlZW5zLW91dCkge1xuICAgICN0X0J1dHRvbl9tZW51TmF2Q29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQGluY2x1ZGUgcmVzcG9uZC10byh4c3Mtc2NyZWVucykge1xuICAvLyAgIC50LUhlYWRlci1uYXYge1xuICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh4c3Mtc2NyZWVucykge1xuICAgICYuanMtbWVudU5hdkNvbGxhcHNlZCB7XG4vLyAgICAgIC50LUJvZHkge1xuLy8gICAgICAgIG1hcmdpbi10b3A6ICRIZWFkLUhlaWdodDtcbi8vICAgICAgfVxuICAgICAgLnQtSGVhZGVyLW5hdiB7XG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4vLyAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYuanMtbWVudU5hdkV4cGFuZGVkIHtcbiAgICAgIC50LUhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG4gICAgICAudC1Cb2R5LWFjdGlvbnMge1xuICAgICAgICAudC1CdXR0b24tLWhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQYWdlIFRlbXBsYXRlIFN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUcmFuc2l0aW9ucyBvbiBNb3ZpbmcgRWxlbWVudHNcbiAqL1xuLnQtSGVhZGVyLFxuLnQtQm9keS1tYWluLFxuLnQtQm9keS10aXRsZSxcbi50LUJvZHktYWN0aW9ucyxcbi50LUJvZHktbmF2LFxuLnQtQm9keS1zaWRlLFxuLnQtQm9keS1uYXYgLnQtVHJlZU5hdixcbi50LUJvZHktY29udGVudCxcbi50LUJ1dHRvbi50LUJ1dHRvbi0taGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgLm5vLWFuaW0gJiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxufVxuLm5vLWFuaW0ge1xuLnQtQm9keS10aXRsZSxcbi50LUJvZHktc2lkZSxcbi50LUJvZHktY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzIGZvciBUcmVlIE5hdiBjb250YWluZXJcbiAqL1xuLnQtQm9keS1uYXYge1xuICB3aWR0aDogJE5hdi1FeHA7IC8vIFJlbW92aW5nIGR1ZSB0byBiZWluZyBpbmNsdWRlZCBpbiBUaGVtZSBSb2xsZXJcbiBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1sZWZ0KDApO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzIGZvciBBY3Rpb25zXG4gKi9cbi50LUJvZHktYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAkQWN0aW9ucy1FeHA7XG4gIHotaW5kZXg6IDQ5MDtcbiAgLnQtQnV0dG9uLS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGFwZXgtZGlyZWN0aW9uLXRyYW5zbGF0ZSgtJE5hdi1Db2wpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAudS1SVEwgJiB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMHB4O1xufVxuICB9XG4udC1Cb2R5LWFjdGlvbnNDb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi8qKlxuICogQmFzZSBzdHlsZXMgZm9yIFRpdGxlIEJhclxuICovXG4udC1Cb2R5LXRpdGxlIHtcbiAgei1pbmRleDogNDYwO1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zbWFsbC1zY3JlZW5zLW91dCkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLyoqXG4gKiBCYXNlIHN0eWxlcyBmb3IgU2lkZSBCYXJcbiAqL1xuLnQtQm9keS1zaWRlIHtcbiAgei1pbmRleDogNDcwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLnQtUGFnZUJvZHktLWhpZGVMZWZ0ICYge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zbWFsbC1zY3JlZW5zLW91dCkge1xuICAgIGJveC1zaGFkb3c6IDFweCAwIDAgcmdiYSgwLDAsMCwuMSk7XG4gICAgLnUtUlRMICYge1xuICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgcmdiYSgwLDAsMCwuMSk7XG4gICAgfVxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAkU2lkZS1FeHA7XG4gICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1sZWZ0KCROYXYtQ29sKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgU3R5bGVzIGZvciBDb250ZW50IENvbnRhaW5lclxuICovXG4udC1Cb2R5LWNvbnRlbnQge1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zbWFsbC1zY3JlZW5zLW91dCkge1xuICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyogSGlkZSBUb2dnbGUgSWNvbiB3aGVuIE5hdiBDb2xsYXBzZWQgKi9cbi5hcGV4LXNpZGUtbmF2LmpzLW5hdkNvbGxhcHNlZCB7XG4gIC50LVRyZWVOYXYgLmEtVHJlZVZpZXctdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseUhpZGRlbjtcbiAgfVxufVxuXG4vKiBIaWRlIEJhZGdlcyB3aGVuIFhYUyBhbmQgTmF2IENvbGxhcHNlZCAqL1xuLmFwZXgtc2lkZS1uYXYuanMtbmF2Q29sbGFwc2VkIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byh4eHMtc2NyZWVucykge1xuICAgIC5hLVRyZWVWaWV3LWJhZGdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1hc3RlciBEZXRhaWwgUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LVBhZ2VCb2R5LS1tYXN0ZXJEZXRhaWwge1xuICAudC1Cb2R5LXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5oYXMtc2hhZG93IHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgwLDAsMCwuMDc1KTtcbiAgICB9XG4gICAgJi5oYXMtc2hhZG93OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC4wNSksIHJnYmEoMCwwLDAsIDApKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAudC1Cb2R5LWNvbnRlbnRJbm5lciB7XG4gICAgJiA+IC5jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICB9XG4gIH1cbiAgLnQtQm9keS1pbmZvIHtcbiAgfVxuICAuYXBleC1yZHMtY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4xKSBpbnNldDtcbiAgICAmLmlzLXN0dWNrOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIGFwZXgtZGlyZWN0aW9uLWxlZnQoMCk7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC4wNSksIHJnYmEoMCwwLDAsIDApKTtcbiAgICB9XG4gIH1cbn1cbi50LUJvZHktaW5mbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC50LVJlZ2lvbiB7XG4gICAgbWFyZ2luOiAxNnB4O1xuICB9XG4gIC50LVJlZ2lvbi0tbm9VSSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC50LVJlZ2lvbi1oZWFkZXJJdGVtcy0tY29udHJvbHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjZyZW07IFxuICAgICAgLy8gV2hlbiB5b3UgaGF2ZSBubyBVSSByZWdpb24gaW4gdGhlIE1hc3RlciBEZXRhaWwgcmVnaW9uLCBcbiAgICAgIC8vIExpbmUgaXQgdXAgd2l0aCByZXBvcnQgYXR0cmlidXRlcyBhbmQgYnJlYWRjcnVtYiB0aXRsZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVcCBCdXR0b25cbi8vXG4udC1Cb2R5LXRvcEJ1dHRvbiB7XG4gIG1hcmdpbjogMjRweCBhdXRvO1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSk7XG4gIG9wYWNpdHk6IC41O1xuICB0cmFuc2l0aW9uOiBhbGwgLjFzO1xuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KSBpbnNldDtcbiAgICAuYS1JY29uIHtcbiAgICB9XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAuYS1JY29uIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi5mbG90UGllQ29udGFpbmVyID4gZGl2IHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cblxuYm9keS5hcGV4LW5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hLU1lbnUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLXdpZGdldCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4udWktZGlhbG9nIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnUtUlRMIC5hLU1lbnUtbGFiZWxDb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59IiwiQGltcG9ydCAnc2Nzc19mdW5jdGlvbnMnO1xuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgfVxuICAvLyAqem9vbTogMTtcbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIE1lZGlhIFF1ZXJpZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9TVEFSVF9USEVNRVJPTExFUl9JR05PUkVcbiRkaXNwbGF5LXh4czogNDgwcHg7XG4kZGlzcGxheS14c3M6IDY0MHB4O1xuJGRpc3BsYXkteHM6IDc2OHB4O1xuJGRpc3BsYXktc21hbGw6IDk5MnB4O1xuJGRpc3BsYXktbWVkaXVtOiAxMjAwcHg7XG4kZGlzcGxheS1sYXJnZTogMTkyMHB4O1xuXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB4eHMtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14eHMpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHhzcy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzcykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHMtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14cykgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGlmICRtZWRpYSA9PSB4cy10by14c3Mtc2NyZWVucyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXkteHNzICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG5cbiAgQGlmICRtZWRpYSA9PSB4c3Mtc21hbGwtc2NyZWVucy1vdXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXkteHNzICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHMtc21hbGwtc2NyZWVucy1vdXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXkteHMgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1sYXJnZSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbWVkaXVtICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1lZGlhID09IGxhcmdlc3Qtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1sYXJnZSkgeyBAY29udGVudDsgfVxuICB9XG59XG4vL0VORF9USEVNRVJPTExFUl9JR05PUkVcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBGb250IEF3ZXNvbWUgRW1iZWRkaW5nXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIGFwZXg1aWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbkBtaXhpbiBhcGV4NWljb24tYmFzaWMge1xuICBmb250LWZhbWlseTogXCJhcGV4LTUtaWNvbi1mb250XCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIHZpc3VhbGx5SGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbiAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBmb2N1c2FibGVWaXN1YWxseUhpZGRlbiB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5SGlkZGVuO1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIHRyYW5zbGF0ZTNkLWxlc3MoJHgsICR5OiAwLCAkejogMCkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAgICAgICB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBcdFx0IHRyYW5zbGF0ZSgkeCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLWxlZnQoJHZhbCkge1xuICBsZWZ0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tbWFyZ2luLWxlZnQoJHZhbCkge1xuICBtYXJnaW4tbGVmdDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1wYWRkaW5nLWxlZnQoJHZhbCkge1xuICBwYWRkaW5nLWxlZnQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1yaWdodCgkdmFsKSB7XG4gIHJpZ2h0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tbWFyZ2luLXJpZ2h0KCR2YWwpIHtcbiAgbWFyZ2luLXJpZ2h0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXBhZGRpbmctcmlnaHQoJHZhbCkge1xuICBwYWRkaW5nLXJpZ2h0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tZmxvYXQtZW5kIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICAudS1SVEwgJiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLWZsb2F0LXN0YXJ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIC51LVJUTCAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi10cmFuc2xhdGUoJHZhbCkge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkLWxlc3MoJHZhbCwgMCwgMCk7XG4gICAgLnUtUlRMICYge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZC1sZXNzKC0kdmFsLCAwLDAgKTtcbiAgICB9XG59XG5cbkBtaXhpbiB0ZXh0LWFsaWduLWxlZnQtZGlyZWN0aW9uKCkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAudS1SVEwgJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gdGV4dC1hbGlnbi1yaWdodC1kaXJlY3Rpb24oKSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICAudS1SVEwgJiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbiBMaWJyYXJ5IE1peGluXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1peGluIGljb24tbGliKCRsaWJyYXJ5KSB7XG4gIEBpZiAkbGlicmFyeSA9PSBhd2Vzb21lIHtcbiAgICAuYXBleC1pY29ucy1mb250YXdlc29tZSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBcbiAgQGVsc2UgaWYgJGxpYnJhcnkgPT0gYXBleCB7XG4gICAgLmFwZXgtaWNvbnMtZm9udGFwZXggJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNoYWRvd3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gdXQtYmxvY2stc2hhZG93KCkge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
