/* CSS Reset and Base Styles */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  line-height: var(--line-height-base);
  min-height: 100vh;
}

/* Design Tokens - CSS Custom Properties */

:root {
  /* Colors */
  --color-text-primary: #3d3d3d;
  --color-bg-primary: #ffffff;

  --color-border: #ce2929;

  /* Spacing Scale */
  --spacing-xs: 0.2rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2rem;

  /* Typography */
  --font-size-base: 1rem;
  --font-size-large: 1.2rem;
  --font-size-small: 0.8rem;
  --font-weight-light: 100;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --line-height-base: 1.3;

  /* Font Family */
  --font-family-base: Arial, Helvetica, sans-serif;
}

/* Utility Classes */

/* Text Color Utilities */
.text-black {
  color: var(--color-text-primary);
}

/* Text Size Utilities */
.text-size-base {
  font-size: var(--font-size-base);
}

.text-size-large {
  font-size: var(--font-size-large);
}

.text-size-small {
  font-size: var(--font-size-small);
}

/* Text Weight Utilities */
.text-weight-normal {
  font-weight: var(--font-weight-normal);
}

.text-weight-semibold {
  font-weight: var(--font-weight-semibold);
}

/* Text Style Utilities */
.text-italic {
  font-style: italic;
}

.text-underline {
  text-decoration: underline;
}

.text-no-underline {
  text-decoration: none;
}

/* Spacing Utilities - Padding */
.padding-1 {
  padding: var(--spacing-sm);
}

.padding-2 {
  padding: var(--spacing-lg);
}

.padding-x-1 {
  padding-left: var(--spacing-sm);
  padding-right: var(--spacing-sm);
}

.padding-top-2 {
  padding-top: var(--spacing-lg);
}

/* Spacing Utilities - Margin */
.margin-top-1 {
  margin-top: var(--spacing-sm);
}

.margin-top-2 {
  margin-top: var(--spacing-lg);
}

.margin-bottom-0 {
  margin-bottom: 0;
}

.margin-bottom-xs {
  margin-bottom: var(--spacing-xs);
}

.margin-bottom-1 {
  margin-bottom: var(--spacing-sm);
}

.margin-left-md {
  margin-left: var(--spacing-md);
}

/* Link Utilities */
.link {
  color: var(--color-text-primary);
  text-decoration: underline;
}

.link:hover {
  text-decoration: none;
}

.list-no-style {
  list-style-type: none;
}

/* Layout Components */

body {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: var(--spacing-lg);
}

.container {
  width: 100%;
  max-width: 800px;
  padding: 0 var(--spacing-sm);
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Component Styles */

/* Header Navigation */
.header-navigation {
  padding: var(--spacing-sm);
  border-bottom: 5px solid var(--color-border);
}

.header-navigation-list {
  list-style: none;
}

.header-navigation-list-item {
  display: inline-block;
  margin-right: var(--spacing-sm);
}

.header-navigation-list-item a {
  color: var(--color-text-primary);
  text-decoration: underline;
}

.header-navigation-list-item a:hover {
  text-decoration: none;
}

/* Footer Component */
.footer {
  padding: var(--spacing-lg);
  background-color: var(--color-bg-primary);
  margin-top: auto;
}

.footer-text {
  font-size: var(--font-size-small);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-sm);
}

.footer-text a {
  color: var(--color-text-primary);
  text-decoration: underline;
}

.footer-text a:hover {
  text-decoration: none;
}
/* Card Component */
.card {
  padding: var(--spacing-lg);
}

.card-title {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-sm);
  color: var(--color-text-primary);
}

.card-description {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: 0;
}

.card-description a:hover {
  text-decoration: none;
}

/* Topics Container */
.topics-container {
  padding-left: var(--spacing-sm);
  padding-right: var(--spacing-sm);
  background-color: var(--color-bg-primary);
}

.topics-list {
  list-style: none;
  display: flex;
  flex-direction: column-reverse;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.topics-list-item {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
}

.topics-list-item a {
  color: var(--color-text-primary);
  text-decoration: underline;
}

.topics-list-item a:hover {
  text-decoration: none;
}

/* Post Components */
.post-header {
  padding-left: var(--spacing-sm);
  padding-right: var(--spacing-sm);
  margin-top: var(--spacing-lg);
  background-color: var(--color-bg-primary);
}

.post-title {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.post-description {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-sm);
  font-style: italic;
}

.post-content {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-sm);
  padding-left: var(--spacing-sm);
  padding-right: var(--spacing-sm);
}

.post-description-highlight {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-sm);
  font-weight: var(--font-weight-semibold);
}

.post-description-side-note {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-sm);
  font-weight: var(--font-weight-light);
  font-size: var(--font-size-small);
  font-style: italic;
}

/* Post Index */
.post-index {
  padding-left: var(--spacing-sm);
  padding-right: var(--spacing-sm);
  margin-top: var(--spacing-lg);
  background-color: var(--color-bg-primary);
}

.post-index-list {
  list-style: decimal;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}

.post-index-list-item {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
}

.post-index-list-item a {
  color: var(--color-text-primary);
  text-decoration: underline;
}

.post-index-list-item a:hover {
  text-decoration: none;
}

.post-index-list-item-sublist {
  list-style-type: decimal;
  list-style-position: inside;
  margin-left: var(--spacing-md);
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
}

.post-index-list-item-sublist-item {
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
}

.post-index-list-item-sublist-item a {
  color: var(--color-text-primary);
  text-decoration: underline;
}

/* Responsive Image */
.responsive-image {
  max-width: 100%;
  height: auto;
  display: block;
  margin-top: var(--spacing-md);
}


/* Main CSS Entry Point - Import all modules in order */

/* 1. Reset and base styles */

/* 2. Design tokens (CSS custom properties) */

/* 3. Utility classes */

/* 4. Layout components */

/* 5. UI components */


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdDQUFnQztFQUNoQywwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsMkJBQTJCO0VBQzNCLDhCQUE4QjtFQUM5QixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZ0NBQWdDO0VBQ2hDLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLGdDQUFnQztFQUNoQywwQkFBMEI7QUFDNUI7O0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixjQUFjO0VBQ2QsNkJBQTZCO0FBQy9COzs7QUM1TUEsdURBQXVEOztBQUV2RCw2QkFBNkI7O0FBRzdCLDZDQUE2Qzs7QUFHN0MsdUJBQXVCOztBQUd2Qix5QkFBeUI7O0FBR3pCLHFCQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL2twOS8uL3NyYy9zdHlsZXMvcmVzZXQuY3NzIiwid2VicGFjazovL2twOS8uL3NyYy9zdHlsZXMvdmFyaWFibGVzLmNzcyIsIndlYnBhY2s6Ly9rcDkvLi9zcmMvc3R5bGVzL3V0aWxpdGllcy5jc3MiLCJ3ZWJwYWNrOi8va3A5Ly4vc3JjL3N0eWxlcy9sYXlvdXQuY3NzIiwid2VicGFjazovL2twOS8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy5jc3MiLCJ3ZWJwYWNrOi8va3A5Ly4vc3JjL3N0eWxlcy9pbmRleC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogQ1NTIFJlc2V0IGFuZCBCYXNlIFN0eWxlcyAqL1xuXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG4iLCIvKiBEZXNpZ24gVG9rZW5zIC0gQ1NTIEN1c3RvbSBQcm9wZXJ0aWVzICovXG5cbjpyb290IHtcbiAgLyogQ29sb3JzICovXG4gIC0tY29sb3ItdGV4dC1wcmltYXJ5OiAjM2QzZDNkO1xuICAtLWNvbG9yLWJnLXByaW1hcnk6ICNmZmZmZmY7XG5cbiAgLS1jb2xvci1ib3JkZXI6ICNjZTI5Mjk7XG5cbiAgLyogU3BhY2luZyBTY2FsZSAqL1xuICAtLXNwYWNpbmcteHM6IDAuMnJlbTtcbiAgLS1zcGFjaW5nLXNtOiAxcmVtO1xuICAtLXNwYWNpbmctbWQ6IDEuNXJlbTtcbiAgLS1zcGFjaW5nLWxnOiAycmVtO1xuXG4gIC8qIFR5cG9ncmFwaHkgKi9cbiAgLS1mb250LXNpemUtYmFzZTogMXJlbTtcbiAgLS1mb250LXNpemUtbGFyZ2U6IDEuMnJlbTtcbiAgLS1mb250LXNpemUtc21hbGw6IDAuOHJlbTtcbiAgLS1mb250LXdlaWdodC1saWdodDogMTAwO1xuICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gIC0tbGluZS1oZWlnaHQtYmFzZTogMS4zO1xuXG4gIC8qIEZvbnQgRmFtaWx5ICovXG4gIC0tZm9udC1mYW1pbHktYmFzZTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cbiIsIi8qIFV0aWxpdHkgQ2xhc3NlcyAqL1xuXG4vKiBUZXh0IENvbG9yIFV0aWxpdGllcyAqL1xuLnRleHQtYmxhY2sge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogVGV4dCBTaXplIFV0aWxpdGllcyAqL1xuLnRleHQtc2l6ZS1iYXNlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG59XG5cbi50ZXh0LXNpemUtbGFyZ2Uge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG59XG5cbi50ZXh0LXNpemUtc21hbGwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG59XG5cbi8qIFRleHQgV2VpZ2h0IFV0aWxpdGllcyAqL1xuLnRleHQtd2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xufVxuXG4udGV4dC13ZWlnaHQtc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBUZXh0IFN0eWxlIFV0aWxpdGllcyAqL1xuLnRleHQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRleHQtbm8tdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBTcGFjaW5nIFV0aWxpdGllcyAtIFBhZGRpbmcgKi9cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbGcpO1xufVxuXG4ucGFkZGluZy14LTEge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc20pO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLnBhZGRpbmctdG9wLTIge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sZyk7XG59XG5cbi8qIFNwYWNpbmcgVXRpbGl0aWVzIC0gTWFyZ2luICovXG4ubWFyZ2luLXRvcC0xIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbSk7XG59XG5cbi5tYXJnaW4tdG9wLTIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxnKTtcbn1cblxuLm1hcmdpbi1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJnaW4tYm90dG9tLXhzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5tYXJnaW4tYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLm1hcmdpbi1sZWZ0LW1kIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbWQpO1xufVxuXG4vKiBMaW5rIFV0aWxpdGllcyAqL1xuLmxpbmsge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGlzdC1uby1zdHlsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbiIsIi8qIExheW91dCBDb21wb25lbnRzICovXG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sZyk7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbn1cbiIsIi8qIENvbXBvbmVudCBTdHlsZXMgKi9cblxuLyogSGVhZGVyIE5hdmlnYXRpb24gKi9cbi5oZWFkZXItbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20pO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmhlYWRlci1uYXZpZ2F0aW9uLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uaGVhZGVyLW5hdmlnYXRpb24tbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctc20pO1xufVxuXG4uaGVhZGVyLW5hdmlnYXRpb24tbGlzdC1pdGVtIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5oZWFkZXItbmF2aWdhdGlvbi1saXN0LWl0ZW0gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRm9vdGVyIENvbXBvbmVudCAqL1xuLmZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmZvb3Rlci10ZXh0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbSk7XG59XG5cbi5mb290ZXItdGV4dCBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyLXRleHQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8qIENhcmQgQ29tcG9uZW50ICovXG4uY2FyZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbGcpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uY2FyZC1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGVzY3JpcHRpb24gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogVG9waWNzIENvbnRhaW5lciAqL1xuLnRvcGljcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc20pO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctcHJpbWFyeSk7XG59XG5cbi50b3BpY3MtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udG9waWNzLWxpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi50b3BpY3MtbGlzdC1pdGVtIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50b3BpY3MtbGlzdC1pdGVtIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFBvc3QgQ29tcG9uZW50cyAqL1xuLnBvc3QtaGVhZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtcbn1cblxuLnBvc3QtdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ucG9zdC1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnBvc3QtY29udGVudCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sZyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctc20pO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLnBvc3QtZGVzY3JpcHRpb24taGlnaGxpZ2h0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLnBvc3QtZGVzY3JpcHRpb24tc2lkZS1ub3RlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFBvc3QgSW5kZXggKi9cbi5wb3N0LWluZGV4IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtcbn1cblxuLnBvc3QtaW5kZXgtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wb3N0LWluZGV4LWxpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5wb3N0LWluZGV4LWxpc3QtaXRlbSBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucG9zdC1pbmRleC1saXN0LWl0ZW0gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBvc3QtaW5kZXgtbGlzdC1pdGVtLXN1Ymxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucG9zdC1pbmRleC1saXN0LWl0ZW0tc3VibGlzdC1pdGVtIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ucG9zdC1pbmRleC1saXN0LWl0ZW0tc3VibGlzdC1pdGVtIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIFJlc3BvbnNpdmUgSW1hZ2UgKi9cbi5yZXNwb25zaXZlLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW1kKTtcbn1cblxuIiwiLyogTWFpbiBDU1MgRW50cnkgUG9pbnQgLSBJbXBvcnQgYWxsIG1vZHVsZXMgaW4gb3JkZXIgKi9cblxuLyogMS4gUmVzZXQgYW5kIGJhc2Ugc3R5bGVzICovXG5AaW1wb3J0ICcuL3Jlc2V0LmNzcyc7XG5cbi8qIDIuIERlc2lnbiB0b2tlbnMgKENTUyBjdXN0b20gcHJvcGVydGllcykgKi9cbkBpbXBvcnQgJy4vdmFyaWFibGVzLmNzcyc7XG5cbi8qIDMuIFV0aWxpdHkgY2xhc3NlcyAqL1xuQGltcG9ydCAnLi91dGlsaXRpZXMuY3NzJztcblxuLyogNC4gTGF5b3V0IGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgJy4vbGF5b3V0LmNzcyc7XG5cbi8qIDUuIFVJIGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgJy4vY29tcG9uZW50cy5jc3MnO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/