/**
 * Base Widget Styling Template
 * 
 * This file provides a recommended pattern for widget styles.
 * All widgets should follow these conventions:
 * 
 * 1. Use theme variables (var(--light), var(--gray), etc.) for colors
 * 2. Scope all styles under a single .widget-{name} class
 * 3. Include contain: layout style for CSS isolation
 * 4. Provide explicit dark mode overrides when needed
 * 5. Use consistent spacing (1rem margin, 0.5rem padding)
 */
/**
 * Example widget structure:
 */
.widget-example {
  contain: layout style;
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 1rem 0;
  padding: 1rem;
  gap: 0.5rem;
  background-color: var(--light);
  color: var(--darkgray);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
}
.widget-example .widget-example-header {
  color: var(--dark);
  border-bottom: 1px solid var(--lightgray);
}
.widget-example .widget-example-content {
  background-color: var(--light);
}
.widget-example button {
  background-color: var(--secondary);
  color: var(--light);
  border: 1px solid var(--secondary);
}
.widget-example button:hover {
  background-color: var(--tertiary);
  border-color: var(--tertiary);
}

/**
 * Dark mode overrides (if needed)
 * Only use this if the widget needs special handling beyond theme variables
 */
/**
 * Available theme variables:
 * 
 * Colors:
 * --light: Background color (light in light mode, dark in dark mode)
 * --lightgray: Subtle borders and backgrounds
 * --gray: Muted text and borders
 * --darkgray: Primary text color
 * --dark: Headers and emphasis
 * --secondary: Primary action color (links, buttons)
 * --tertiary: Hover states
 * --highlight: Highlighted text backgrounds
 * 
 * Fonts:
 * --headerFont: Font family for headers
 * --bodyFont: Font family for body text
 * --codeFont: Monospace font for code
 */
/**
 * BlueSky Post Widget Styles
 * 
 * Displays a single BlueSky post with optional thread context.
 * 
 * States:
 * - Loading: Spinner animation
 * - Error: Styled error message
 * - Loaded: Post card with optional parent/reply posts
 */
.widget-bluesky-post {
  contain: layout style;
  position: relative;
  margin: 1rem 0;
  margin-left: auto;
  margin-right: auto;
}
.widget-bluesky-post .bluesky-post-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem;
  gap: 1rem;
  background: var(--light);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
}
.widget-bluesky-post .bluesky-post-loading .loading-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--lightgray);
  border-top-color: var(--secondary);
  border-radius: 50%;
  animation: widget-bluesky-post-spin 0.8s linear infinite;
}
.widget-bluesky-post .bluesky-post-loading p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--gray);
}
.widget-bluesky-post .error-state {
  padding: 2rem;
  background: var(--light);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  text-align: center;
}
.widget-bluesky-post .error-state p {
  margin: 0 0 0.5rem 0;
  color: var(--darkgray);
  font-size: 0.9375rem;
}
.widget-bluesky-post .error-state p:last-child {
  margin-bottom: 0;
}
.widget-bluesky-post .error-state .error-details {
  font-size: 0.8125rem;
  color: var(--gray);
  font-family: var(--codeFont);
}
.widget-bluesky-post .bluesky-post {
  padding: 1rem;
  background: var(--light);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  transition: all 0.2s ease;
}
.widget-bluesky-post .bluesky-post:hover {
  border-color: var(--secondary);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.widget-bluesky-post .bluesky-post .post-context {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  color: var(--gray);
}
.widget-bluesky-post .bluesky-post .post-context .context-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex-shrink: 0;
}
.widget-bluesky-post .bluesky-post .post-context span {
  font-weight: 500;
}
.widget-bluesky-post .bluesky-post .post-author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.widget-bluesky-post .bluesky-post .post-author .author-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.widget-bluesky-post .bluesky-post .post-author .author-info {
  flex: 1;
  min-width: 0;
}
.widget-bluesky-post .bluesky-post .post-author .author-info .author-name {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widget-bluesky-post .bluesky-post .post-author .author-info .author-handle {
  font-size: 0.8125rem;
  color: var(--gray);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widget-bluesky-post .bluesky-post .post-content {
  margin-bottom: 1rem;
}
.widget-bluesky-post .bluesky-post .post-content p {
  margin: 0 0 0.75rem 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--darkgray);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.widget-bluesky-post .bluesky-post .post-content p:last-child {
  margin-bottom: 0;
}
.widget-bluesky-post .bluesky-post .post-content .post-images {
  margin-top: 1rem;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.widget-bluesky-post .bluesky-post .post-content .post-images .post-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--lightgray);
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link {
  display: flex;
  margin-top: 1rem;
  padding: 1rem;
  background: var(--highlight);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  gap: 1rem;
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link:hover {
  background: var(--light);
  border-color: var(--secondary);
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link .link-thumb {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 6px;
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link .link-details {
  flex: 1;
  min-width: 0;
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link .link-details .link-title {
  font-weight: 600;
  font-size: 0.9375rem;
  margin-bottom: 0.375rem;
  color: var(--dark);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.widget-bluesky-post .bluesky-post .post-content .post-external-link .link-details .link-description {
  font-size: 0.8125rem;
  color: var(--gray);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post {
  margin-top: 1rem;
  padding: 1rem;
  background: var(--highlight);
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  border-left: 4px solid var(--secondary);
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-author {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-author .quoted-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-author .quoted-author-info {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 0;
  flex: 1;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-author .quoted-author-info .quoted-author-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-author .quoted-author-info .quoted-author-handle {
  font-size: 0.8125rem;
  color: var(--gray);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content p {
  margin: 0 0 0.75rem 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--darkgray);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content p:last-child {
  margin-bottom: 0;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content .quoted-external-link {
  display: flex;
  padding: 0.75rem;
  background: var(--light);
  border: 1px solid var(--lightgray);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content .quoted-external-link:hover {
  background: var(--highlight);
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content .quoted-external-link .quoted-link-thumb {
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 4px;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content .quoted-external-link .quoted-link-details {
  flex: 1;
  min-width: 0;
}
.widget-bluesky-post .bluesky-post .post-content .quoted-post .quoted-content .quoted-external-link .quoted-link-details .quoted-link-title {
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--dark);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.widget-bluesky-post .bluesky-post .post-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
}
.widget-bluesky-post .bluesky-post .post-footer time {
  color: var(--gray);
}
.widget-bluesky-post .bluesky-post .post-footer .post-metrics {
  display: flex;
  gap: 1rem;
}
.widget-bluesky-post .bluesky-post .post-footer .post-metrics .metric {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--gray);
}
.widget-bluesky-post .bluesky-post .post-footer .post-metrics .metric .icon {
  font-size: 1rem;
}
.widget-bluesky-post .bluesky-post .post-link {
  display: inline-flex;
  align-items: center;
  font-size: 0.8125rem;
  color: var(--secondary);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.widget-bluesky-post .bluesky-post .post-link:hover {
  color: var(--tertiary);
  text-decoration: underline;
}

@keyframes widget-bluesky-post-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .widget-bluesky-post .bluesky-post {
    padding: 0.875rem;
  }
  .widget-bluesky-post .bluesky-post .post-author .author-avatar {
    width: 40px;
    height: 40px;
  }
  .widget-bluesky-post .bluesky-post .post-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .widget-bluesky-post .bluesky-post .post-content .post-external-link {
    flex-direction: column;
  }
  .widget-bluesky-post .bluesky-post .post-content .post-external-link .link-thumb {
    width: 100%;
    height: 200px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY2hhb3RpY2dvb2Rjb21wdXRpbmcuZ2l0aHViLmlvL2NoYW90aWNnb29kY29tcHV0aW5nLmdpdGh1Yi5pby9xdWFydHovd2lkZ2V0cy9ibHVlc2t5LXBvc3QiLCJzb3VyY2VzIjpbIi4uL2Jhc2Uvd2lkZ2V0LWJhc2Uuc2NzcyIsInN0eWxlLmlubGluZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUdBO0VBRUU7RUFHQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUtOO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDakVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7RUFFRTtFQUdBO0VBR0E7RUFHQTtFQUNBOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBUVo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFNUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBTVI7RUFDRTtJQUNFOzs7QUFLSjtFQUVJO0lBQ0U7O0VBR0U7SUFDRTtJQUNBOztFQUlKO0lBQ0U7SUFDQTtJQUNBOztFQUlBO0lBQ0U7O0VBRUE7SUFDRTtJQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCYXNlIFdpZGdldCBTdHlsaW5nIFRlbXBsYXRlXG4gKiBcbiAqIFRoaXMgZmlsZSBwcm92aWRlcyBhIHJlY29tbWVuZGVkIHBhdHRlcm4gZm9yIHdpZGdldCBzdHlsZXMuXG4gKiBBbGwgd2lkZ2V0cyBzaG91bGQgZm9sbG93IHRoZXNlIGNvbnZlbnRpb25zOlxuICogXG4gKiAxLiBVc2UgdGhlbWUgdmFyaWFibGVzICh2YXIoLS1saWdodCksIHZhcigtLWdyYXkpLCBldGMuKSBmb3IgY29sb3JzXG4gKiAyLiBTY29wZSBhbGwgc3R5bGVzIHVuZGVyIGEgc2luZ2xlIC53aWRnZXQte25hbWV9IGNsYXNzXG4gKiAzLiBJbmNsdWRlIGNvbnRhaW46IGxheW91dCBzdHlsZSBmb3IgQ1NTIGlzb2xhdGlvblxuICogNC4gUHJvdmlkZSBleHBsaWNpdCBkYXJrIG1vZGUgb3ZlcnJpZGVzIHdoZW4gbmVlZGVkXG4gKiA1LiBVc2UgY29uc2lzdGVudCBzcGFjaW5nICgxcmVtIG1hcmdpbiwgMC41cmVtIHBhZGRpbmcpXG4gKi9cblxuLyoqXG4gKiBFeGFtcGxlIHdpZGdldCBzdHJ1Y3R1cmU6XG4gKi9cbi53aWRnZXQtZXhhbXBsZSB7XG4gIC8vIENTUyBDb250YWlubWVudCAtIHByZXZlbnRzIGxheW91dC9zdHlsZSBsZWFrcyB0byBwYXJlbnQgcGFnZVxuICBjb250YWluOiBsYXlvdXQgc3R5bGU7XG5cbiAgLy8gUG9zaXRpb25pbmcgYW5kIGRpc3BsYXlcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIFNwYWNpbmcgLSB1c2UgY29uc2lzdGVudCB2YWx1ZXNcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGdhcDogMC41cmVtO1xuXG4gIC8vIFRoZW1lLWF3YXJlIGNvbG9ycyAtIEFMV0FZUyB1c2UgQ1NTIHZhcmlhYmxlc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1kYXJrZ3JheSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAvLyBOZXN0ZWQgZWxlbWVudHMgc2hvdWxkIGFsc28gdXNlIHRoZW1lIHZhcmlhYmxlc1xuICAud2lkZ2V0LWV4YW1wbGUtaGVhZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tZGFyayk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gIH1cblxuICAud2lkZ2V0LWV4YW1wbGUtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGFyayBtb2RlIG92ZXJyaWRlcyAoaWYgbmVlZGVkKVxuICogT25seSB1c2UgdGhpcyBpZiB0aGUgd2lkZ2V0IG5lZWRzIHNwZWNpYWwgaGFuZGxpbmcgYmV5b25kIHRoZW1lIHZhcmlhYmxlc1xuICovXG4vLyBbc2F2ZWQtdGhlbWU9XCJkYXJrXCJdIC53aWRnZXQtZXhhbXBsZSB7XG4vLyAgIE9ubHkgb3ZlcnJpZGUgaWYgYWJzb2x1dGVseSBuZWNlc3Nhcnlcbi8vICAgTW9zdCB3aWRnZXRzIHNob3VsZCB3b3JrIHdpdGggdGhlbWUgdmFyaWFibGVzIGFsb25lXG4vLyB9XG5cbi8qKlxuICogQXZhaWxhYmxlIHRoZW1lIHZhcmlhYmxlczpcbiAqIFxuICogQ29sb3JzOlxuICogLS1saWdodDogQmFja2dyb3VuZCBjb2xvciAobGlnaHQgaW4gbGlnaHQgbW9kZSwgZGFyayBpbiBkYXJrIG1vZGUpXG4gKiAtLWxpZ2h0Z3JheTogU3VidGxlIGJvcmRlcnMgYW5kIGJhY2tncm91bmRzXG4gKiAtLWdyYXk6IE11dGVkIHRleHQgYW5kIGJvcmRlcnNcbiAqIC0tZGFya2dyYXk6IFByaW1hcnkgdGV4dCBjb2xvclxuICogLS1kYXJrOiBIZWFkZXJzIGFuZCBlbXBoYXNpc1xuICogLS1zZWNvbmRhcnk6IFByaW1hcnkgYWN0aW9uIGNvbG9yIChsaW5rcywgYnV0dG9ucylcbiAqIC0tdGVydGlhcnk6IEhvdmVyIHN0YXRlc1xuICogLS1oaWdobGlnaHQ6IEhpZ2hsaWdodGVkIHRleHQgYmFja2dyb3VuZHNcbiAqIFxuICogRm9udHM6XG4gKiAtLWhlYWRlckZvbnQ6IEZvbnQgZmFtaWx5IGZvciBoZWFkZXJzXG4gKiAtLWJvZHlGb250OiBGb250IGZhbWlseSBmb3IgYm9keSB0ZXh0XG4gKiAtLWNvZGVGb250OiBNb25vc3BhY2UgZm9udCBmb3IgY29kZVxuICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZS93aWRnZXQtYmFzZS5zY3NzXCI7XG5cbi8qKlxuICogQmx1ZVNreSBQb3N0IFdpZGdldCBTdHlsZXNcbiAqIFxuICogRGlzcGxheXMgYSBzaW5nbGUgQmx1ZVNreSBwb3N0IHdpdGggb3B0aW9uYWwgdGhyZWFkIGNvbnRleHQuXG4gKiBcbiAqIFN0YXRlczpcbiAqIC0gTG9hZGluZzogU3Bpbm5lciBhbmltYXRpb25cbiAqIC0gRXJyb3I6IFN0eWxlZCBlcnJvciBtZXNzYWdlXG4gKiAtIExvYWRlZDogUG9zdCBjYXJkIHdpdGggb3B0aW9uYWwgcGFyZW50L3JlcGx5IHBvc3RzXG4gKi9cblxuLndpZGdldC1ibHVlc2t5LXBvc3Qge1xuICAvLyBJc29sYXRpb24gLSBSRVFVSVJFRCB0byBwcmV2ZW50IHdpZGdldCBzdHlsZXMgZnJvbSBhZmZlY3RpbmcgcGFnZSBsYXlvdXRcbiAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xuXG4gIC8vIFBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBTcGFjaW5nXG4gIG1hcmdpbjogMXJlbSAwO1xuXG4gIC8vIENlbnRlciB0aGUgd2lkZ2V0XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgLy8gTG9hZGluZyBzdGF0ZVxuICAuYmx1ZXNreS1wb3N0LWxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICBnYXA6IDFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgLmxvYWRpbmctc3Bpbm5lciB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYW5pbWF0aW9uOiB3aWRnZXQtYmx1ZXNreS1wb3N0LXNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWdyYXkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVycm9yIHN0YXRlXG4gIC5lcnJvci1zdGF0ZSB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHRncmF5KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1kYXJrZ3JheSk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3ItZGV0YWlscyB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb2RlRm9udCk7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kaXZpZHVhbCBwb3N0IGNhcmRcbiAgLmJsdWVza3ktcG9zdCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHRncmF5KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgfVxuXG4gICAgLnBvc3QtY29udGV4dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWdyYXkpO1xuXG4gICAgICAuY29udGV4dC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3QtYXV0aG9yIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblxuICAgICAgLmF1dGhvci1hdmF0YXIge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmF1dGhvci1pbmZvIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgIC5hdXRob3ItbmFtZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZGFyayk7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvci1oYW5kbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zdC1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjc1cmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogdmFyKC0tZGFya2dyYXkpO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEltYWdlcyBlbWJlZGRlZCBpbiBwb3N0c1xuICAgICAgLnBvc3QtaW1hZ2VzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuXG4gICAgICAgIC5wb3N0LWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZXJuYWwgbGluayBwcmV2aWV3IGNhcmRzXG4gICAgICAucG9zdC1leHRlcm5hbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taGlnaGxpZ2h0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHRncmF5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rLXRodW1iIHtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1kZXRhaWxzIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgIC5saW5rLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWRhcmspO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICAgICAgbGluZS1jbGFtcDogMztcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFF1b3RlZCBwb3N0IGVtYmVkXG4gICAgICAucXVvdGVkLXBvc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1oaWdobGlnaHQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWdodGdyYXkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tc2Vjb25kYXJ5KTtcblxuICAgICAgICAucXVvdGVkLWF1dGhvciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cbiAgICAgICAgICAucXVvdGVkLWF2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnF1b3RlZC1hdXRob3ItaW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICAucXVvdGVkLWF1dGhvci1uYW1lIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRhcmspO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1b3RlZC1hdXRob3ItaGFuZGxlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnF1b3RlZC1jb250ZW50IHtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWRhcmtncmF5KTtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnF1b3RlZC1leHRlcm5hbC1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHRncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWhpZ2hsaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdW90ZWQtbGluay10aHVtYiB7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucXVvdGVkLWxpbmstZGV0YWlscyB7XG4gICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgICAucXVvdGVkLWxpbmstdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRhcmspO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAgICAgICAgIGxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcblxuICAgICAgdGltZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAgIH1cblxuICAgICAgLnBvc3QtbWV0cmljcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICAubWV0cmljIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZ2FwOiAwLjM3NXJlbTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JheSk7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3QtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdpZGdldC1ibHVlc2t5LXBvc3Qtc3BpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8vIE1vYmlsZSBhZGp1c3RtZW50c1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC53aWRnZXQtYmx1ZXNreS1wb3N0IHtcbiAgICAuYmx1ZXNreS1wb3N0IHtcbiAgICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuXG4gICAgICAucG9zdC1hdXRob3Ige1xuICAgICAgICAuYXV0aG9yLWF2YXRhciB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wb3N0LWZvb3RlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wb3N0LWNvbnRlbnQge1xuICAgICAgICAucG9zdC1leHRlcm5hbC1saW5rIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgLmxpbmstdGh1bWIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */