mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
1283 lines
93 KiB
CSS
1283 lines
93 KiB
CSS
/*!
|
|
* FullCalendar v3.10.1
|
|
* Docs & License: https://fullcalendar.io/
|
|
* (c) 2019 Adam Shaw
|
|
*/
|
|
.fc {
|
|
direction: ltr;
|
|
text-align: left; }
|
|
|
|
.fc-rtl {
|
|
text-align: right; }
|
|
|
|
body .fc {
|
|
/* extra precedence to overcome jqui */
|
|
font-size: 1em; }
|
|
|
|
/* Colors
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-highlight {
|
|
/* when user is selecting cells */
|
|
background: #bce8f1;
|
|
opacity: .3; }
|
|
|
|
.fc-bgevent {
|
|
/* default look for background events */
|
|
background: #8fdf82;
|
|
opacity: .3; }
|
|
|
|
.fc-nonbusiness {
|
|
/* default look for non-business-hours areas */
|
|
/* will inherit .fc-bgevent's styles */
|
|
background: #d7d7d7; }
|
|
|
|
/* Buttons (styled <button> tags, normalized to work cross-browser)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc button {
|
|
/* force height to include the border and padding */
|
|
box-sizing: border-box;
|
|
/* dimensions */
|
|
margin: 0;
|
|
height: 2.1em;
|
|
padding: 0 .6em;
|
|
/* text & cursor */
|
|
font-size: 1em;
|
|
/* normalize */
|
|
white-space: nowrap;
|
|
cursor: pointer; }
|
|
|
|
/* Firefox has an annoying inner border */
|
|
.fc button::-moz-focus-inner {
|
|
margin: 0;
|
|
padding: 0; }
|
|
|
|
.fc-state-default {
|
|
/* non-theme */
|
|
border: 1px solid; }
|
|
|
|
.fc-state-default.fc-corner-left {
|
|
/* non-theme */
|
|
border-top-left-radius: 4px;
|
|
border-bottom-left-radius: 4px; }
|
|
|
|
.fc-state-default.fc-corner-right {
|
|
/* non-theme */
|
|
border-top-right-radius: 4px;
|
|
border-bottom-right-radius: 4px; }
|
|
|
|
/* icons in buttons */
|
|
.fc button .fc-icon {
|
|
/* non-theme */
|
|
position: relative;
|
|
top: -0.05em;
|
|
/* seems to be a good adjustment across browsers */
|
|
margin: 0 .2em;
|
|
vertical-align: middle; }
|
|
|
|
/*
|
|
button states
|
|
borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
|
|
*/
|
|
.fc-state-default {
|
|
background-color: #f5f5f5;
|
|
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
|
|
background-repeat: repeat-x;
|
|
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
|
color: #333;
|
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }
|
|
|
|
.fc-state-hover,
|
|
.fc-state-down,
|
|
.fc-state-active,
|
|
.fc-state-disabled {
|
|
color: #333333;
|
|
background-color: #e6e6e6; }
|
|
|
|
.fc-state-hover {
|
|
color: #333333;
|
|
text-decoration: none;
|
|
background-position: 0 -15px;
|
|
transition: background-position 0.1s linear; }
|
|
|
|
.fc-state-down,
|
|
.fc-state-active {
|
|
background-color: #cccccc;
|
|
background-image: none;
|
|
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
|
|
|
|
.fc-state-disabled {
|
|
cursor: default;
|
|
background-image: none;
|
|
opacity: 0.65;
|
|
box-shadow: none; }
|
|
|
|
/* Buttons Groups
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-button-group {
|
|
display: inline-block; }
|
|
|
|
/*
|
|
every button that is not first in a button group should scootch over one pixel and cover the
|
|
previous button's border...
|
|
*/
|
|
.fc .fc-button-group > * {
|
|
/* extra precedence b/c buttons have margin set to zero */
|
|
float: left;
|
|
margin: 0 0 0 -1px; }
|
|
|
|
.fc .fc-button-group > :first-child {
|
|
/* same */
|
|
margin-left: 0; }
|
|
|
|
/* Popover
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-popover {
|
|
position: absolute;
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
|
|
|
|
.fc-popover .fc-header {
|
|
/* TODO: be more consistent with fc-head/fc-body */
|
|
padding: 2px 4px; }
|
|
|
|
.fc-popover .fc-header .fc-title {
|
|
margin: 0 2px; }
|
|
|
|
.fc-popover .fc-header .fc-close {
|
|
cursor: pointer; }
|
|
|
|
.fc-ltr .fc-popover .fc-header .fc-title,
|
|
.fc-rtl .fc-popover .fc-header .fc-close {
|
|
float: left; }
|
|
|
|
.fc-rtl .fc-popover .fc-header .fc-title,
|
|
.fc-ltr .fc-popover .fc-header .fc-close {
|
|
float: right; }
|
|
|
|
/* Misc Reusable Components
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-divider {
|
|
border-style: solid;
|
|
border-width: 1px; }
|
|
|
|
hr.fc-divider {
|
|
height: 0;
|
|
margin: 0;
|
|
padding: 0 0 2px;
|
|
/* height is unreliable across browsers, so use padding */
|
|
border-width: 1px 0; }
|
|
|
|
.fc-clear {
|
|
clear: both; }
|
|
|
|
.fc-bg,
|
|
.fc-bgevent-skeleton,
|
|
.fc-highlight-skeleton,
|
|
.fc-helper-skeleton {
|
|
/* these element should always cling to top-left/right corners */
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
.fc-bg {
|
|
bottom: 0;
|
|
/* strech bg to bottom edge */ }
|
|
|
|
.fc-bg table {
|
|
height: 100%;
|
|
/* strech bg to bottom edge */ }
|
|
|
|
/* Tables
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc table {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
/* fix scrollbar issue in firefox */
|
|
table-layout: fixed;
|
|
border-collapse: collapse;
|
|
border-spacing: 0;
|
|
font-size: 1em;
|
|
/* normalize cross-browser */ }
|
|
|
|
.fc th {
|
|
text-align: center; }
|
|
|
|
.fc th,
|
|
.fc td {
|
|
border-style: solid;
|
|
border-width: 1px;
|
|
padding: 0;
|
|
vertical-align: top; }
|
|
|
|
.fc td.fc-today {
|
|
border-style: double;
|
|
/* overcome neighboring borders */ }
|
|
|
|
/* Internal Nav Links
|
|
--------------------------------------------------------------------------------------------------*/
|
|
a[data-goto] {
|
|
cursor: pointer; }
|
|
|
|
a[data-goto]:hover {
|
|
text-decoration: underline; }
|
|
|
|
/* Fake Table Rows
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc .fc-row {
|
|
/* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
|
|
/* no visible border by default. but make available if need be (scrollbar width compensation) */
|
|
border-style: solid;
|
|
border-width: 0; }
|
|
|
|
.fc-row table {
|
|
/* don't put left/right border on anything within a fake row.
|
|
the outer tbody will worry about this */
|
|
border-left: 0 hidden transparent;
|
|
border-right: 0 hidden transparent;
|
|
/* no bottom borders on rows */
|
|
border-bottom: 0 hidden transparent; }
|
|
|
|
.fc-row:first-child table {
|
|
border-top: 0 hidden transparent;
|
|
/* no top border on first row */ }
|
|
|
|
/* Day Row (used within the header and the DayGrid)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-row {
|
|
position: relative; }
|
|
|
|
.fc-row .fc-bg {
|
|
z-index: 1; }
|
|
|
|
/* highlighting cells & background event skeleton */
|
|
.fc-row .fc-bgevent-skeleton,
|
|
.fc-row .fc-highlight-skeleton {
|
|
bottom: 0;
|
|
/* stretch skeleton to bottom of row */ }
|
|
|
|
.fc-row .fc-bgevent-skeleton table,
|
|
.fc-row .fc-highlight-skeleton table {
|
|
height: 100%;
|
|
/* stretch skeleton to bottom of row */ }
|
|
|
|
.fc-row .fc-highlight-skeleton td,
|
|
.fc-row .fc-bgevent-skeleton td {
|
|
border-color: transparent; }
|
|
|
|
.fc-row .fc-bgevent-skeleton {
|
|
z-index: 2; }
|
|
|
|
.fc-row .fc-highlight-skeleton {
|
|
z-index: 3; }
|
|
|
|
/*
|
|
row content (which contains day/week numbers and events) as well as "helper" (which contains
|
|
temporary rendered events).
|
|
*/
|
|
.fc-row .fc-content-skeleton {
|
|
position: relative;
|
|
z-index: 4;
|
|
padding-bottom: 2px;
|
|
/* matches the space above the events */ }
|
|
|
|
.fc-row .fc-helper-skeleton {
|
|
z-index: 5; }
|
|
|
|
.fc .fc-row .fc-content-skeleton table,
|
|
.fc .fc-row .fc-content-skeleton td,
|
|
.fc .fc-row .fc-helper-skeleton td {
|
|
/* see-through to the background below */
|
|
/* extra precedence to prevent theme-provided backgrounds */
|
|
background: none;
|
|
/* in case <td>s are globally styled */
|
|
border-color: transparent; }
|
|
|
|
.fc-row .fc-content-skeleton td,
|
|
.fc-row .fc-helper-skeleton td {
|
|
/* don't put a border between events and/or the day number */
|
|
border-bottom: 0; }
|
|
|
|
.fc-row .fc-content-skeleton tbody td,
|
|
.fc-row .fc-helper-skeleton tbody td {
|
|
/* don't put a border between event cells */
|
|
border-top: 0; }
|
|
|
|
/* Scrolling Container
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-scroller {
|
|
-webkit-overflow-scrolling: touch; }
|
|
|
|
/* TODO: move to agenda/basic */
|
|
.fc-scroller > .fc-day-grid,
|
|
.fc-scroller > .fc-time-grid {
|
|
position: relative;
|
|
/* re-scope all positions */
|
|
width: 100%;
|
|
/* hack to force re-sizing this inner element when scrollbars appear/disappear */ }
|
|
|
|
/* Global Event Styles
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-event {
|
|
position: relative;
|
|
/* for resize handle and other inner positioning */
|
|
display: block;
|
|
/* make the <a> tag block */
|
|
font-size: .85em;
|
|
line-height: 1.3;
|
|
border-radius: 3px;
|
|
border: 1px solid #3a87ad;
|
|
/* default BORDER color */ }
|
|
|
|
.fc-event,
|
|
.fc-event-dot {
|
|
background-color: #3a87ad;
|
|
/* default BACKGROUND color */ }
|
|
|
|
.fc-event,
|
|
.fc-event:hover {
|
|
color: #fff;
|
|
/* default TEXT color */
|
|
text-decoration: none;
|
|
/* if <a> has an href */ }
|
|
|
|
.fc-event[href],
|
|
.fc-event.fc-draggable {
|
|
cursor: pointer;
|
|
/* give events with links and draggable events a hand mouse pointer */ }
|
|
|
|
.fc-not-allowed,
|
|
.fc-not-allowed .fc-event {
|
|
/* to override an event's custom cursor */
|
|
cursor: not-allowed; }
|
|
|
|
.fc-event .fc-bg {
|
|
/* the generic .fc-bg already does position */
|
|
z-index: 1;
|
|
background: #fff;
|
|
opacity: .25; }
|
|
|
|
.fc-event .fc-content {
|
|
position: relative;
|
|
z-index: 2; }
|
|
|
|
/* resizer (cursor AND touch devices) */
|
|
.fc-event .fc-resizer {
|
|
position: absolute;
|
|
z-index: 4; }
|
|
|
|
/* resizer (touch devices) */
|
|
.fc-event .fc-resizer {
|
|
display: none; }
|
|
|
|
.fc-event.fc-allow-mouse-resize .fc-resizer,
|
|
.fc-event.fc-selected .fc-resizer {
|
|
/* only show when hovering or selected (with touch) */
|
|
display: block; }
|
|
|
|
/* hit area */
|
|
.fc-event.fc-selected .fc-resizer:before {
|
|
/* 40x40 touch area */
|
|
content: "";
|
|
position: absolute;
|
|
z-index: 9999;
|
|
/* user of this util can scope within a lower z-index */
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 40px;
|
|
height: 40px;
|
|
margin-left: -20px;
|
|
margin-top: -20px; }
|
|
|
|
/* Event Selection (only for touch devices)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-event.fc-selected {
|
|
z-index: 9999 !important;
|
|
/* overcomes inline z-index */
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }
|
|
|
|
.fc-event.fc-selected.fc-dragging {
|
|
box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); }
|
|
|
|
/* Horizontal Events
|
|
--------------------------------------------------------------------------------------------------*/
|
|
/* bigger touch area when selected */
|
|
.fc-h-event.fc-selected:before {
|
|
content: "";
|
|
position: absolute;
|
|
z-index: 3;
|
|
/* below resizers */
|
|
top: -10px;
|
|
bottom: -10px;
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
|
|
.fc-ltr .fc-h-event.fc-not-start,
|
|
.fc-rtl .fc-h-event.fc-not-end {
|
|
margin-left: 0;
|
|
border-left-width: 0;
|
|
padding-left: 1px;
|
|
/* replace the border with padding */
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0; }
|
|
|
|
.fc-ltr .fc-h-event.fc-not-end,
|
|
.fc-rtl .fc-h-event.fc-not-start {
|
|
margin-right: 0;
|
|
border-right-width: 0;
|
|
padding-right: 1px;
|
|
/* replace the border with padding */
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0; }
|
|
|
|
/* resizer (cursor AND touch devices) */
|
|
/* left resizer */
|
|
.fc-ltr .fc-h-event .fc-start-resizer,
|
|
.fc-rtl .fc-h-event .fc-end-resizer {
|
|
cursor: w-resize;
|
|
left: -1px;
|
|
/* overcome border */ }
|
|
|
|
/* right resizer */
|
|
.fc-ltr .fc-h-event .fc-end-resizer,
|
|
.fc-rtl .fc-h-event .fc-start-resizer {
|
|
cursor: e-resize;
|
|
right: -1px;
|
|
/* overcome border */ }
|
|
|
|
/* resizer (mouse devices) */
|
|
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
|
|
width: 7px;
|
|
top: -1px;
|
|
/* overcome top border */
|
|
bottom: -1px;
|
|
/* overcome bottom border */ }
|
|
|
|
/* resizer (touch devices) */
|
|
.fc-h-event.fc-selected .fc-resizer {
|
|
/* 8x8 little dot */
|
|
border-radius: 4px;
|
|
border-width: 1px;
|
|
width: 6px;
|
|
height: 6px;
|
|
border-style: solid;
|
|
border-color: inherit;
|
|
background: #fff;
|
|
/* vertically center */
|
|
top: 50%;
|
|
margin-top: -4px; }
|
|
|
|
/* left resizer */
|
|
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
|
|
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
|
|
margin-left: -4px;
|
|
/* centers the 8x8 dot on the left edge */ }
|
|
|
|
/* right resizer */
|
|
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
|
|
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
|
|
margin-right: -4px;
|
|
/* centers the 8x8 dot on the right edge */ }
|
|
|
|
/* DayGrid events
|
|
----------------------------------------------------------------------------------------------------
|
|
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
|
|
be a descendant of the grid when it is being dragged.
|
|
*/
|
|
.fc-day-grid-event {
|
|
margin: 1px 2px 0;
|
|
/* spacing between events and edges */
|
|
padding: 0 1px; }
|
|
|
|
tr:first-child > td > .fc-day-grid-event {
|
|
margin-top: 2px;
|
|
/* a little bit more space before the first event */ }
|
|
|
|
.fc-day-grid-event.fc-selected:after {
|
|
content: "";
|
|
position: absolute;
|
|
z-index: 1;
|
|
/* same z-index as fc-bg, behind text */
|
|
/* overcome the borders */
|
|
top: -1px;
|
|
right: -1px;
|
|
bottom: -1px;
|
|
left: -1px;
|
|
/* darkening effect */
|
|
background: #000;
|
|
opacity: .25; }
|
|
|
|
.fc-day-grid-event .fc-content {
|
|
/* force events to be one-line tall */
|
|
white-space: nowrap;
|
|
overflow: hidden; }
|
|
|
|
.fc-day-grid-event .fc-time {
|
|
font-weight: bold; }
|
|
|
|
/* resizer (cursor devices) */
|
|
/* left resizer */
|
|
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
|
|
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
|
|
margin-left: -2px;
|
|
/* to the day cell's edge */ }
|
|
|
|
/* right resizer */
|
|
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
|
|
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
|
|
margin-right: -2px;
|
|
/* to the day cell's edge */ }
|
|
|
|
/* Event Limiting
|
|
--------------------------------------------------------------------------------------------------*/
|
|
/* "more" link that represents hidden events */
|
|
a.fc-more {
|
|
margin: 1px 3px;
|
|
font-size: .85em;
|
|
cursor: pointer;
|
|
text-decoration: none; }
|
|
|
|
a.fc-more:hover {
|
|
text-decoration: underline; }
|
|
|
|
.fc-limited {
|
|
/* rows and cells that are hidden because of a "more" link */
|
|
display: none; }
|
|
|
|
/* popover that appears when "more" link is clicked */
|
|
.fc-day-grid .fc-row {
|
|
z-index: 1;
|
|
/* make the "more" popover one higher than this */ }
|
|
|
|
.fc-more-popover {
|
|
z-index: 2;
|
|
width: 220px; }
|
|
|
|
.fc-more-popover .fc-event-container {
|
|
padding: 10px; }
|
|
|
|
/* Now Indicator
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-now-indicator {
|
|
position: absolute;
|
|
border: 0 solid red; }
|
|
|
|
/* Utilities
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-unselectable {
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
-webkit-touch-callout: none;
|
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
|
|
|
|
/*
|
|
TODO: more distinction between this file and common.css
|
|
*/
|
|
/* Colors
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-unthemed th,
|
|
.fc-unthemed td,
|
|
.fc-unthemed thead,
|
|
.fc-unthemed tbody,
|
|
.fc-unthemed .fc-divider,
|
|
.fc-unthemed .fc-row,
|
|
.fc-unthemed .fc-content,
|
|
.fc-unthemed .fc-popover,
|
|
.fc-unthemed .fc-list-view,
|
|
.fc-unthemed .fc-list-heading td {
|
|
border-color: #ddd; }
|
|
|
|
.fc-unthemed .fc-popover {
|
|
background-color: #fff; }
|
|
|
|
.fc-unthemed .fc-divider,
|
|
.fc-unthemed .fc-popover .fc-header,
|
|
.fc-unthemed .fc-list-heading td {
|
|
background: #eee; }
|
|
|
|
.fc-unthemed .fc-popover .fc-header .fc-close {
|
|
color: #666; }
|
|
|
|
.fc-unthemed td.fc-today {
|
|
background: #fcf8e3; }
|
|
|
|
.fc-unthemed .fc-disabled-day {
|
|
background: #d7d7d7;
|
|
opacity: .3; }
|
|
|
|
/* Icons (inline elements with styled text that mock arrow icons)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-icon {
|
|
display: inline-block;
|
|
height: 1em;
|
|
line-height: 1em;
|
|
font-size: 1em;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
font-family: "Courier New", Courier, monospace;
|
|
/* don't allow browser text-selection */
|
|
-webkit-touch-callout: none;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none; }
|
|
|
|
/*
|
|
Acceptable font-family overrides for individual icons:
|
|
"Arial", sans-serif
|
|
"Times New Roman", serif
|
|
|
|
NOTE: use percentage font sizes or else old IE chokes
|
|
*/
|
|
.fc-icon:after {
|
|
position: relative; }
|
|
|
|
.fc-icon-left-single-arrow:after {
|
|
content: "\2039";
|
|
font-weight: bold;
|
|
font-size: 200%;
|
|
top: -7%; }
|
|
|
|
.fc-icon-right-single-arrow:after {
|
|
content: "\203A";
|
|
font-weight: bold;
|
|
font-size: 200%;
|
|
top: -7%; }
|
|
|
|
.fc-icon-left-double-arrow:after {
|
|
content: "\AB";
|
|
font-size: 160%;
|
|
top: -7%; }
|
|
|
|
.fc-icon-right-double-arrow:after {
|
|
content: "\BB";
|
|
font-size: 160%;
|
|
top: -7%; }
|
|
|
|
.fc-icon-left-triangle:after {
|
|
content: "\25C4";
|
|
font-size: 125%;
|
|
top: 3%; }
|
|
|
|
.fc-icon-right-triangle:after {
|
|
content: "\25BA";
|
|
font-size: 125%;
|
|
top: 3%; }
|
|
|
|
.fc-icon-down-triangle:after {
|
|
content: "\25BC";
|
|
font-size: 125%;
|
|
top: 2%; }
|
|
|
|
.fc-icon-x:after {
|
|
content: "\D7";
|
|
font-size: 200%;
|
|
top: 6%; }
|
|
|
|
/* Popover
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-unthemed .fc-popover {
|
|
border-width: 1px;
|
|
border-style: solid; }
|
|
|
|
.fc-unthemed .fc-popover .fc-header .fc-close {
|
|
font-size: .9em;
|
|
margin-top: 2px; }
|
|
|
|
/* List View
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-unthemed .fc-list-item:hover td {
|
|
background-color: #f5f5f5; }
|
|
|
|
/* Colors
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.ui-widget .fc-disabled-day {
|
|
background-image: none; }
|
|
|
|
/* Popover
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-popover > .ui-widget-header + .ui-widget-content {
|
|
border-top: 0;
|
|
/* where they meet, let the header have the border */ }
|
|
|
|
/* Global Event Styles
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.ui-widget .fc-event {
|
|
/* overpower jqui's styles on <a> tags. TODO: more DRY */
|
|
color: #fff;
|
|
/* default TEXT color */
|
|
text-decoration: none;
|
|
/* if <a> has an href */
|
|
/* undo ui-widget-header bold */
|
|
font-weight: normal; }
|
|
|
|
/* TimeGrid axis running down the side (for both the all-day area and the slot area)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.ui-widget td.fc-axis {
|
|
font-weight: normal;
|
|
/* overcome bold */ }
|
|
|
|
/* TimeGrid Slats (lines that run horizontally)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-time-grid .fc-slats .ui-widget-content {
|
|
background: none;
|
|
/* see through to fc-bg */ }
|
|
|
|
.fc.fc-bootstrap3 a {
|
|
text-decoration: none; }
|
|
|
|
.fc.fc-bootstrap3 a[data-goto]:hover {
|
|
text-decoration: underline; }
|
|
|
|
.fc-bootstrap3 hr.fc-divider {
|
|
border-color: inherit; }
|
|
|
|
.fc-bootstrap3 .fc-today.alert {
|
|
border-radius: 0; }
|
|
|
|
/* Popover
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-bootstrap3 .fc-popover .panel-body {
|
|
padding: 0; }
|
|
|
|
/* TimeGrid Slats (lines that run horizontally)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-bootstrap3 .fc-time-grid .fc-slats table {
|
|
/* some themes have background color. see through to slats */
|
|
background: none; }
|
|
|
|
.fc.fc-bootstrap4 a {
|
|
text-decoration: none; }
|
|
|
|
.fc.fc-bootstrap4 a[data-goto]:hover {
|
|
text-decoration: underline; }
|
|
|
|
.fc-bootstrap4 hr.fc-divider {
|
|
border-color: inherit; }
|
|
|
|
.fc-bootstrap4 .fc-today.alert {
|
|
border-radius: 0; }
|
|
|
|
.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]) {
|
|
color: #fff; }
|
|
|
|
.fc-bootstrap4 .fc-popover.card {
|
|
position: absolute; }
|
|
|
|
/* Popover
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-bootstrap4 .fc-popover .card-body {
|
|
padding: 0; }
|
|
|
|
/* TimeGrid Slats (lines that run horizontally)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-bootstrap4 .fc-time-grid .fc-slats table {
|
|
/* some themes have background color. see through to slats */
|
|
background: none; }
|
|
|
|
/* Toolbar
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-toolbar {
|
|
text-align: center; }
|
|
|
|
.fc-toolbar.fc-header-toolbar {
|
|
margin-bottom: 1em; }
|
|
|
|
.fc-toolbar.fc-footer-toolbar {
|
|
margin-top: 1em; }
|
|
|
|
.fc-toolbar .fc-left {
|
|
float: left; }
|
|
|
|
.fc-toolbar .fc-right {
|
|
float: right; }
|
|
|
|
.fc-toolbar .fc-center {
|
|
display: inline-block; }
|
|
|
|
/* the things within each left/right/center section */
|
|
.fc .fc-toolbar > * > * {
|
|
/* extra precedence to override button border margins */
|
|
float: left;
|
|
margin-left: .75em; }
|
|
|
|
/* the first thing within each left/center/right section */
|
|
.fc .fc-toolbar > * > :first-child {
|
|
/* extra precedence to override button border margins */
|
|
margin-left: 0; }
|
|
|
|
/* title text */
|
|
.fc-toolbar h2 {
|
|
margin: 0; }
|
|
|
|
/* button layering (for border precedence) */
|
|
.fc-toolbar button {
|
|
position: relative; }
|
|
|
|
.fc-toolbar .fc-state-hover,
|
|
.fc-toolbar .ui-state-hover {
|
|
z-index: 2; }
|
|
|
|
.fc-toolbar .fc-state-down {
|
|
z-index: 3; }
|
|
|
|
.fc-toolbar .fc-state-active,
|
|
.fc-toolbar .ui-state-active {
|
|
z-index: 4; }
|
|
|
|
.fc-toolbar button:focus {
|
|
z-index: 5; }
|
|
|
|
/* View Structure
|
|
--------------------------------------------------------------------------------------------------*/
|
|
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
|
|
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
|
|
.fc-view-container *,
|
|
.fc-view-container *:before,
|
|
.fc-view-container *:after {
|
|
box-sizing: content-box; }
|
|
|
|
.fc-view,
|
|
.fc-view > table {
|
|
/* so dragged elements can be above the view's main element */
|
|
position: relative;
|
|
z-index: 1; }
|
|
|
|
/* BasicView
|
|
--------------------------------------------------------------------------------------------------*/
|
|
/* day row structure */
|
|
.fc-basicWeek-view .fc-content-skeleton,
|
|
.fc-basicDay-view .fc-content-skeleton {
|
|
/* there may be week numbers in these views, so no padding-top */
|
|
padding-bottom: 1em;
|
|
/* ensure a space at bottom of cell for user selecting/clicking */ }
|
|
|
|
.fc-basic-view .fc-body .fc-row {
|
|
min-height: 4em;
|
|
/* ensure that all rows are at least this tall */ }
|
|
|
|
/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
|
|
.fc-row.fc-rigid {
|
|
overflow: hidden; }
|
|
|
|
.fc-row.fc-rigid .fc-content-skeleton {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
/* week and day number styling */
|
|
.fc-day-top.fc-other-month {
|
|
opacity: 0.3; }
|
|
|
|
.fc-basic-view .fc-week-number,
|
|
.fc-basic-view .fc-day-number {
|
|
padding: 2px; }
|
|
|
|
.fc-basic-view th.fc-week-number,
|
|
.fc-basic-view th.fc-day-number {
|
|
padding: 0 2px;
|
|
/* column headers can't have as much v space */ }
|
|
|
|
.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
|
|
float: right; }
|
|
|
|
.fc-rtl .fc-basic-view .fc-day-top .fc-day-number {
|
|
float: left; }
|
|
|
|
.fc-ltr .fc-basic-view .fc-day-top .fc-week-number {
|
|
float: left;
|
|
border-radius: 0 0 3px 0; }
|
|
|
|
.fc-rtl .fc-basic-view .fc-day-top .fc-week-number {
|
|
float: right;
|
|
border-radius: 0 0 0 3px; }
|
|
|
|
.fc-basic-view .fc-day-top .fc-week-number {
|
|
min-width: 1.5em;
|
|
text-align: center;
|
|
background-color: #f2f2f2;
|
|
color: #808080; }
|
|
|
|
/* when week/day number have own column */
|
|
.fc-basic-view td.fc-week-number {
|
|
text-align: center; }
|
|
|
|
.fc-basic-view td.fc-week-number > * {
|
|
/* work around the way we do column resizing and ensure a minimum width */
|
|
display: inline-block;
|
|
min-width: 1.25em; }
|
|
|
|
/* AgendaView all-day area
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-agenda-view .fc-day-grid {
|
|
position: relative;
|
|
z-index: 2;
|
|
/* so the "more.." popover will be over the time grid */ }
|
|
|
|
.fc-agenda-view .fc-day-grid .fc-row {
|
|
min-height: 3em;
|
|
/* all-day section will never get shorter than this */ }
|
|
|
|
.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
|
|
padding-bottom: 1em;
|
|
/* give space underneath events for clicking/selecting days */ }
|
|
|
|
/* TimeGrid axis running down the side (for both the all-day area and the slot area)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc .fc-axis {
|
|
/* .fc to overcome default cell styles */
|
|
vertical-align: middle;
|
|
padding: 0 4px;
|
|
white-space: nowrap; }
|
|
|
|
.fc-ltr .fc-axis {
|
|
text-align: right; }
|
|
|
|
.fc-rtl .fc-axis {
|
|
text-align: left; }
|
|
|
|
/* TimeGrid Structure
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-time-grid-container,
|
|
.fc-time-grid {
|
|
/* so slats/bg/content/etc positions get scoped within here */
|
|
position: relative;
|
|
z-index: 1; }
|
|
|
|
.fc-time-grid {
|
|
min-height: 100%;
|
|
/* so if height setting is 'auto', .fc-bg stretches to fill height */ }
|
|
|
|
.fc-time-grid table {
|
|
/* don't put outer borders on slats/bg/content/etc */
|
|
border: 0 hidden transparent; }
|
|
|
|
.fc-time-grid > .fc-bg {
|
|
z-index: 1; }
|
|
|
|
.fc-time-grid .fc-slats,
|
|
.fc-time-grid > hr {
|
|
/* the <hr> AgendaView injects when grid is shorter than scroller */
|
|
position: relative;
|
|
z-index: 2; }
|
|
|
|
.fc-time-grid .fc-content-col {
|
|
position: relative;
|
|
/* because now-indicator lives directly inside */ }
|
|
|
|
.fc-time-grid .fc-content-skeleton {
|
|
position: absolute;
|
|
z-index: 3;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
/* divs within a cell within the fc-content-skeleton */
|
|
.fc-time-grid .fc-business-container {
|
|
position: relative;
|
|
z-index: 1; }
|
|
|
|
.fc-time-grid .fc-bgevent-container {
|
|
position: relative;
|
|
z-index: 2; }
|
|
|
|
.fc-time-grid .fc-highlight-container {
|
|
position: relative;
|
|
z-index: 3; }
|
|
|
|
.fc-time-grid .fc-event-container {
|
|
position: relative;
|
|
z-index: 4; }
|
|
|
|
.fc-time-grid .fc-now-indicator-line {
|
|
z-index: 5; }
|
|
|
|
.fc-time-grid .fc-helper-container {
|
|
/* also is fc-event-container */
|
|
position: relative;
|
|
z-index: 6; }
|
|
|
|
/* TimeGrid Slats (lines that run horizontally)
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-time-grid .fc-slats td {
|
|
height: 1.5em;
|
|
border-bottom: 0;
|
|
/* each cell is responsible for its top border */ }
|
|
|
|
.fc-time-grid .fc-slats .fc-minor td {
|
|
border-top-style: dotted; }
|
|
|
|
/* TimeGrid Highlighting Slots
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-time-grid .fc-highlight-container {
|
|
/* a div within a cell within the fc-highlight-skeleton */
|
|
position: relative;
|
|
/* scopes the left/right of the fc-highlight to be in the column */ }
|
|
|
|
.fc-time-grid .fc-highlight {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
/* top and bottom will be in by JS */ }
|
|
|
|
/* TimeGrid Event Containment
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-ltr .fc-time-grid .fc-event-container {
|
|
/* space on the sides of events for LTR (default) */
|
|
margin: 0 2.5% 0 2px; }
|
|
|
|
.fc-rtl .fc-time-grid .fc-event-container {
|
|
/* space on the sides of events for RTL */
|
|
margin: 0 2px 0 2.5%; }
|
|
|
|
.fc-time-grid .fc-event,
|
|
.fc-time-grid .fc-bgevent {
|
|
position: absolute;
|
|
z-index: 1;
|
|
/* scope inner z-index's */ }
|
|
|
|
.fc-time-grid .fc-bgevent {
|
|
/* background events always span full width */
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
/* Generic Vertical Event
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-v-event.fc-not-start {
|
|
/* events that are continuing from another day */
|
|
/* replace space made by the top border with padding */
|
|
border-top-width: 0;
|
|
padding-top: 1px;
|
|
/* remove top rounded corners */
|
|
border-top-left-radius: 0;
|
|
border-top-right-radius: 0; }
|
|
|
|
.fc-v-event.fc-not-end {
|
|
/* replace space made by the top border with padding */
|
|
border-bottom-width: 0;
|
|
padding-bottom: 1px;
|
|
/* remove bottom rounded corners */
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0; }
|
|
|
|
/* TimeGrid Event Styling
|
|
----------------------------------------------------------------------------------------------------
|
|
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
|
|
be a descendant of the grid when it is being dragged.
|
|
*/
|
|
.fc-time-grid-event {
|
|
overflow: hidden;
|
|
/* don't let the bg flow over rounded corners */ }
|
|
|
|
.fc-time-grid-event.fc-selected {
|
|
/* need to allow touch resizers to extend outside event's bounding box */
|
|
/* common fc-selected styles hide the fc-bg, so don't need this anyway */
|
|
overflow: visible; }
|
|
|
|
.fc-time-grid-event.fc-selected .fc-bg {
|
|
display: none;
|
|
/* hide semi-white background, to appear darker */ }
|
|
|
|
.fc-time-grid-event .fc-content {
|
|
overflow: hidden;
|
|
/* for when .fc-selected */ }
|
|
|
|
.fc-time-grid-event .fc-time,
|
|
.fc-time-grid-event .fc-title {
|
|
padding: 0 1px; }
|
|
|
|
.fc-time-grid-event .fc-time {
|
|
font-size: .85em;
|
|
white-space: nowrap; }
|
|
|
|
/* short mode, where time and title are on the same line */
|
|
.fc-time-grid-event.fc-short .fc-content {
|
|
/* don't wrap to second line (now that contents will be inline) */
|
|
white-space: nowrap; }
|
|
|
|
.fc-time-grid-event.fc-short .fc-time,
|
|
.fc-time-grid-event.fc-short .fc-title {
|
|
/* put the time and title on the same line */
|
|
display: inline-block;
|
|
vertical-align: top; }
|
|
|
|
.fc-time-grid-event.fc-short .fc-time span {
|
|
display: none;
|
|
/* don't display the full time text... */ }
|
|
|
|
.fc-time-grid-event.fc-short .fc-time:before {
|
|
content: attr(data-start);
|
|
/* ...instead, display only the start time */ }
|
|
|
|
.fc-time-grid-event.fc-short .fc-time:after {
|
|
content: "\A0-\A0";
|
|
/* seperate with a dash, wrapped in nbsp's */ }
|
|
|
|
.fc-time-grid-event.fc-short .fc-title {
|
|
font-size: .85em;
|
|
/* make the title text the same size as the time */
|
|
padding: 0;
|
|
/* undo padding from above */ }
|
|
|
|
/* resizer (cursor device) */
|
|
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
height: 8px;
|
|
overflow: hidden;
|
|
line-height: 8px;
|
|
font-size: 11px;
|
|
font-family: monospace;
|
|
text-align: center;
|
|
cursor: s-resize; }
|
|
|
|
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
|
|
content: "="; }
|
|
|
|
/* resizer (touch device) */
|
|
.fc-time-grid-event.fc-selected .fc-resizer {
|
|
/* 10x10 dot */
|
|
border-radius: 5px;
|
|
border-width: 1px;
|
|
width: 8px;
|
|
height: 8px;
|
|
border-style: solid;
|
|
border-color: inherit;
|
|
background: #fff;
|
|
/* horizontally center */
|
|
left: 50%;
|
|
margin-left: -5px;
|
|
/* center on the bottom edge */
|
|
bottom: -5px; }
|
|
|
|
/* Now Indicator
|
|
--------------------------------------------------------------------------------------------------*/
|
|
.fc-time-grid .fc-now-indicator-line {
|
|
border-top-width: 1px;
|
|
left: 0;
|
|
right: 0; }
|
|
|
|
/* arrow on axis */
|
|
.fc-time-grid .fc-now-indicator-arrow {
|
|
margin-top: -5px;
|
|
/* vertically center on top coordinate */ }
|
|
|
|
.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
|
|
left: 0;
|
|
/* triangle pointing right... */
|
|
border-width: 5px 0 5px 6px;
|
|
border-top-color: transparent;
|
|
border-bottom-color: transparent; }
|
|
|
|
.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
|
|
right: 0;
|
|
/* triangle pointing left... */
|
|
border-width: 5px 6px 5px 0;
|
|
border-top-color: transparent;
|
|
border-bottom-color: transparent; }
|
|
|
|
/* List View
|
|
--------------------------------------------------------------------------------------------------*/
|
|
/* possibly reusable */
|
|
.fc-event-dot {
|
|
display: inline-block;
|
|
width: 10px;
|
|
height: 10px;
|
|
border-radius: 5px; }
|
|
|
|
/* view wrapper */
|
|
.fc-rtl .fc-list-view {
|
|
direction: rtl;
|
|
/* unlike core views, leverage browser RTL */ }
|
|
|
|
.fc-list-view {
|
|
border-width: 1px;
|
|
border-style: solid; }
|
|
|
|
/* table resets */
|
|
.fc .fc-list-table {
|
|
table-layout: auto;
|
|
/* for shrinkwrapping cell content */ }
|
|
|
|
.fc-list-table td {
|
|
border-width: 1px 0 0;
|
|
padding: 8px 14px; }
|
|
|
|
.fc-list-table tr:first-child td {
|
|
border-top-width: 0; }
|
|
|
|
/* day headings with the list */
|
|
.fc-list-heading {
|
|
border-bottom-width: 1px; }
|
|
|
|
.fc-list-heading td {
|
|
font-weight: bold; }
|
|
|
|
.fc-ltr .fc-list-heading-main {
|
|
float: left; }
|
|
|
|
.fc-ltr .fc-list-heading-alt {
|
|
float: right; }
|
|
|
|
.fc-rtl .fc-list-heading-main {
|
|
float: right; }
|
|
|
|
.fc-rtl .fc-list-heading-alt {
|
|
float: left; }
|
|
|
|
/* event list items */
|
|
.fc-list-item.fc-has-url {
|
|
cursor: pointer;
|
|
/* whole row will be clickable */ }
|
|
|
|
.fc-list-item-marker,
|
|
.fc-list-item-time {
|
|
white-space: nowrap;
|
|
width: 1px; }
|
|
|
|
/* make the dot closer to the event title */
|
|
.fc-ltr .fc-list-item-marker {
|
|
padding-right: 0; }
|
|
|
|
.fc-rtl .fc-list-item-marker {
|
|
padding-left: 0; }
|
|
|
|
.fc-list-item-title a {
|
|
/* every event title cell has an <a> tag */
|
|
text-decoration: none;
|
|
color: inherit; }
|
|
|
|
.fc-list-item-title a[href]:hover {
|
|
/* hover effect only on titles with hrefs */
|
|
text-decoration: underline; }
|
|
|
|
/* message when no events */
|
|
.fc-list-empty-wrap2 {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0; }
|
|
|
|
.fc-list-empty-wrap1 {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: table; }
|
|
|
|
.fc-list-empty {
|
|
display: table-cell;
|
|
vertical-align: middle;
|
|
text-align: center; }
|
|
|
|
.fc-unthemed .fc-list-empty {
|
|
/* theme will provide own background */
|
|
background-color: #eee; }
|
|
|
|
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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LCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogRnVsbENhbGVuZGFyIHYzLjEwLjFcbiAqIERvY3MgJiBMaWNlbnNlOiBodHRwczovL2Z1bGxjYWxlbmRhci5pby9cbiAqIChjKSAyMDE5IEFkYW0gU2hhd1xuICovXG4uZmMge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZmMtcnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuYm9keSAuZmMge1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIGpxdWkgKi9cbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtaGlnaGxpZ2h0IHtcbiAgLyogd2hlbiB1c2VyIGlzIHNlbGVjdGluZyBjZWxscyAqL1xuICBiYWNrZ3JvdW5kOiAjYmNlOGYxO1xuICBvcGFjaXR5OiAuMzsgfVxuXG4uZmMtYmdldmVudCB7XG4gIC8qIGRlZmF1bHQgbG9vayBmb3IgYmFja2dyb3VuZCBldmVudHMgKi9cbiAgYmFja2dyb3VuZDogIzhmZGY4MjtcbiAgb3BhY2l0eTogLjM7IH1cblxuLmZjLW5vbmJ1c2luZXNzIHtcbiAgLyogZGVmYXVsdCBsb29rIGZvciBub24tYnVzaW5lc3MtaG91cnMgYXJlYXMgKi9cbiAgLyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7IH1cblxuLyogQnV0dG9ucyAoc3R5bGVkIDxidXR0b24+IHRhZ3MsIG5vcm1hbGl6ZWQgdG8gd29yayBjcm9zcy1icm93c2VyKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjIGJ1dHRvbiB7XG4gIC8qIGZvcmNlIGhlaWdodCB0byBpbmNsdWRlIHRoZSBib3JkZXIgYW5kIHBhZGRpbmcgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIGRpbWVuc2lvbnMgKi9cbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDIuMWVtO1xuICBwYWRkaW5nOiAwIC42ZW07XG4gIC8qIHRleHQgJiBjdXJzb3IgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIG5vcm1hbGl6ZSAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogRmlyZWZveCBoYXMgYW4gYW5ub3lpbmcgaW5uZXIgYm9yZGVyICovXG4uZmMgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mYy1zdGF0ZS1kZWZhdWx0IHtcbiAgLyogbm9uLXRoZW1lICovXG4gIGJvcmRlcjogMXB4IHNvbGlkOyB9XG5cbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1sZWZ0IHtcbiAgLyogbm9uLXRoZW1lICovXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG5cbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1yaWdodCB7XG4gIC8qIG5vbi10aGVtZSAqL1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9XG5cbi8qIGljb25zIGluIGJ1dHRvbnMgKi9cbi5mYyBidXR0b24gLmZjLWljb24ge1xuICAvKiBub24tdGhlbWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjA1ZW07XG4gIC8qIHNlZW1zIHRvIGJlIGEgZ29vZCBhZGp1c3RtZW50IGFjcm9zcyBicm93c2VycyAqL1xuICBtYXJnaW46IDAgLjJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICBidXR0b24gc3RhdGVzXG4gIGJvcnJvd2VkIGZyb20gdHdpdHRlciBib290c3RyYXAgKGh0dHA6Ly90d2l0dGVyLmdpdGh1Yi5jb20vYm9vdHN0cmFwLylcbiovXG4uZmMtc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjZmZmZmZmKSwgdG8oI2U2ZTZlNikpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmLCAjZTZlNmU2KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZmZiwgI2U2ZTZlNik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2ICNlNmU2ZTYgI2JmYmZiZjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4uZmMtc3RhdGUtaG92ZXIsXG4uZmMtc3RhdGUtZG93bixcbi5mYy1zdGF0ZS1hY3RpdmUsXG4uZmMtc3RhdGUtZGlzYWJsZWQge1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG4uZmMtc3RhdGUtaG92ZXIge1xuICBjb2xvcjogIzMzMzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjsgfVxuXG4uZmMtc3RhdGUtZG93bixcbi5mYy1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cblxuLmZjLXN0YXRlLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBvcGFjaXR5OiAwLjY1O1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi8qIEJ1dHRvbnMgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYnV0dG9uLWdyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qXG5ldmVyeSBidXR0b24gdGhhdCBpcyBub3QgZmlyc3QgaW4gYSBidXR0b24gZ3JvdXAgc2hvdWxkIHNjb290Y2ggb3ZlciBvbmUgcGl4ZWwgYW5kIGNvdmVyIHRoZVxucHJldmlvdXMgYnV0dG9uJ3MgYm9yZGVyLi4uXG4qL1xuLmZjIC5mYy1idXR0b24tZ3JvdXAgPiAqIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSBiL2MgYnV0dG9ucyBoYXZlIG1hcmdpbiBzZXQgdG8gemVybyAqL1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgMCAtMXB4OyB9XG5cbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgLyogc2FtZSAqL1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtcG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gIC8qIFRPRE86IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIGZjLWhlYWQvZmMtYm9keSAqL1xuICBwYWRkaW5nOiAycHggNHB4OyB9XG5cbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDJweDsgfVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZmMtbHRyIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLFxuLmZjLXJ0bCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUsXG4uZmMtbHRyIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE1pc2MgUmV1c2FibGUgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWRpdmlkZXIge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDsgfVxuXG5oci5mYy1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAycHg7XG4gIC8qIGhlaWdodCBpcyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vycywgc28gdXNlIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXdpZHRoOiAxcHggMDsgfVxuXG4uZmMtY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uZmMtYmcsXG4uZmMtYmdldmVudC1za2VsZXRvbixcbi5mYy1oaWdobGlnaHQtc2tlbGV0b24sXG4uZmMtaGVscGVyLXNrZWxldG9uIHtcbiAgLyogdGhlc2UgZWxlbWVudCBzaG91bGQgYWx3YXlzIGNsaW5nIHRvIHRvcC1sZWZ0L3JpZ2h0IGNvcm5lcnMgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYy1iZyB7XG4gIGJvdHRvbTogMDtcbiAgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovIH1cblxuLmZjLWJnIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi8gfVxuXG4vKiBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBmaXggc2Nyb2xsYmFyIGlzc3VlIGluIGZpcmVmb3ggKi9cbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiBub3JtYWxpemUgY3Jvc3MtYnJvd3NlciAqLyB9XG5cbi5mYyB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMgdGgsXG4uZmMgdGQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmMgdGQuZmMtdG9kYXkge1xuICBib3JkZXItc3R5bGU6IGRvdWJsZTtcbiAgLyogb3ZlcmNvbWUgbmVpZ2hib3JpbmcgYm9yZGVycyAqLyB9XG5cbi8qIEludGVybmFsIE5hdiBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYVtkYXRhLWdvdG9dIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmFbZGF0YS1nb3RvXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEZha2UgVGFibGUgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjIC5mYy1yb3cge1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIHRoZW1lcyB3LyAudWktd2lkZ2V0LWNvbnRlbnQgZm9yY2luZyBhIDFweCBib3JkZXIgKi9cbiAgLyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDsgfVxuXG4uZmMtcm93IHRhYmxlIHtcbiAgLyogZG9uJ3QgcHV0IGxlZnQvcmlnaHQgYm9yZGVyIG9uIGFueXRoaW5nIHdpdGhpbiBhIGZha2Ugcm93LlxuICAgICB0aGUgb3V0ZXIgdGJvZHkgd2lsbCB3b3JyeSBhYm91dCB0aGlzICovXG4gIGJvcmRlci1sZWZ0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgLyogbm8gYm90dG9tIGJvcmRlcnMgb24gcm93cyAqL1xuICBib3JkZXItYm90dG9tOiAwIGhpZGRlbiB0cmFuc3BhcmVudDsgfVxuXG4uZmMtcm93OmZpcnN0LWNoaWxkIHRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIC8qIG5vIHRvcCBib3JkZXIgb24gZmlyc3Qgcm93ICovIH1cblxuLyogRGF5IFJvdyAodXNlZCB3aXRoaW4gdGhlIGhlYWRlciBhbmQgdGhlIERheUdyaWQpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYy1yb3cgLmZjLWJnIHtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBoaWdobGlnaHRpbmcgY2VsbHMgJiBiYWNrZ3JvdW5kIGV2ZW50IHNrZWxldG9uICovXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcbiAgYm90dG9tOiAwO1xuICAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi8gfVxuXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRhYmxlLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi8gfVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGQsXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHtcbiAgei1pbmRleDogMjsgfVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICB6LWluZGV4OiAzOyB9XG5cbi8qXG5yb3cgY29udGVudCAod2hpY2ggY29udGFpbnMgZGF5L3dlZWsgbnVtYmVycyBhbmQgZXZlbnRzKSBhcyB3ZWxsIGFzIFwiaGVscGVyXCIgKHdoaWNoIGNvbnRhaW5zXG50ZW1wb3JhcnkgcmVuZGVyZWQgZXZlbnRzKS5cbiovXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAvKiBtYXRjaGVzIHRoZSBzcGFjZSBhYm92ZSB0aGUgZXZlbnRzICovIH1cblxuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHtcbiAgei1pbmRleDogNTsgfVxuXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSxcbi5mYyAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjIC5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0ZCB7XG4gIC8qIHNlZS10aHJvdWdoIHRvIHRoZSBiYWNrZ3JvdW5kIGJlbG93ICovXG4gIC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gcHJldmVudCB0aGVtZS1wcm92aWRlZCBiYWNrZ3JvdW5kcyAqL1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiBpbiBjYXNlIDx0ZD5zIGFyZSBnbG9iYWxseSBzdHlsZWQgKi9cbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRkIHtcbiAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnRzIGFuZC9vciB0aGUgZGF5IG51bWJlciAqL1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdGQsXG4uZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24gdGJvZHkgdGQge1xuICAvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudCBjZWxscyAqL1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi8qIFNjcm9sbGluZyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1zY3JvbGxlciB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4vKiBUT0RPOiBtb3ZlIHRvIGFnZW5kYS9iYXNpYyAqL1xuLmZjLXNjcm9sbGVyID4gLmZjLWRheS1ncmlkLFxuLmZjLXNjcm9sbGVyID4gLmZjLXRpbWUtZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogcmUtc2NvcGUgYWxsIHBvc2l0aW9ucyAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogaGFjayB0byBmb3JjZSByZS1zaXppbmcgdGhpcyBpbm5lciBlbGVtZW50IHdoZW4gc2Nyb2xsYmFycyBhcHBlYXIvZGlzYXBwZWFyICovIH1cblxuLyogR2xvYmFsIEV2ZW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBmb3IgcmVzaXplIGhhbmRsZSBhbmQgb3RoZXIgaW5uZXIgcG9zaXRpb25pbmcgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIG1ha2UgdGhlIDxhPiB0YWcgYmxvY2sgKi9cbiAgZm9udC1zaXplOiAuODVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2E4N2FkO1xuICAvKiBkZWZhdWx0IEJPUkRFUiBjb2xvciAqLyB9XG5cbi5mYy1ldmVudCxcbi5mYy1ldmVudC1kb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2E4N2FkO1xuICAvKiBkZWZhdWx0IEJBQ0tHUk9VTkQgY29sb3IgKi8gfVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQ6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgLyogZGVmYXVsdCBURVhUIGNvbG9yICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLyogaWYgPGE+IGhhcyBhbiBocmVmICovIH1cblxuLmZjLWV2ZW50W2hyZWZdLFxuLmZjLWV2ZW50LmZjLWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogZ2l2ZSBldmVudHMgd2l0aCBsaW5rcyBhbmQgZHJhZ2dhYmxlIGV2ZW50cyBhIGhhbmQgbW91c2UgcG9pbnRlciAqLyB9XG5cbi5mYy1ub3QtYWxsb3dlZCxcbi5mYy1ub3QtYWxsb3dlZCAuZmMtZXZlbnQge1xuICAvKiB0byBvdmVycmlkZSBhbiBldmVudCdzIGN1c3RvbSBjdXJzb3IgKi9cbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZmMtZXZlbnQgLmZjLWJnIHtcbiAgLyogdGhlIGdlbmVyaWMgLmZjLWJnIGFscmVhZHkgZG9lcyBwb3NpdGlvbiAqL1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvcGFjaXR5OiAuMjU7IH1cblxuLmZjLWV2ZW50IC5mYy1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBBTkQgdG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDsgfVxuXG4vKiByZXNpemVyICh0b3VjaCBkZXZpY2VzKSAqL1xuLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmMtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyLFxuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgLyogb25seSBzaG93IHdoZW4gaG92ZXJpbmcgb3Igc2VsZWN0ZWQgKHdpdGggdG91Y2gpICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIGhpdCBhcmVhICovXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXI6YmVmb3JlIHtcbiAgLyogNDB4NDAgdG91Y2ggYXJlYSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIC8qIHVzZXIgb2YgdGhpcyB1dGlsIGNhbiBzY29wZSB3aXRoaW4gYSBsb3dlciB6LWluZGV4ICovXG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7IH1cblxuLyogRXZlbnQgU2VsZWN0aW9uIChvbmx5IGZvciB0b3VjaCBkZXZpY2VzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIHtcbiAgei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xuICAvKiBvdmVyY29tZXMgaW5saW5lIHotaW5kZXggKi9cbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQuZmMtZHJhZ2dpbmcge1xuICBib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi8qIEhvcml6b250YWwgRXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBiaWdnZXIgdG91Y2ggYXJlYSB3aGVuIHNlbGVjdGVkICovXG4uZmMtaC1ldmVudC5mYy1zZWxlY3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIC8qIGJlbG93IHJlc2l6ZXJzICovXG4gIHRvcDogLTEwcHg7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0LFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3QtZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgLyogcmVwbGFjZSB0aGUgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCxcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgLyogcmVwbGFjZSB0aGUgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyIHtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgbGVmdDogLTFweDtcbiAgLyogb3ZlcmNvbWUgYm9yZGVyICovIH1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyIHtcbiAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgcmlnaHQ6IC0xcHg7XG4gIC8qIG92ZXJjb21lIGJvcmRlciAqLyB9XG5cbi8qIHJlc2l6ZXIgKG1vdXNlIGRldmljZXMpICovXG4uZmMtaC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXIge1xuICB3aWR0aDogN3B4O1xuICB0b3A6IC0xcHg7XG4gIC8qIG92ZXJjb21lIHRvcCBib3JkZXIgKi9cbiAgYm90dG9tOiAtMXB4O1xuICAvKiBvdmVyY29tZSBib3R0b20gYm9yZGVyICovIH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgLyogOHg4IGxpdHRsZSBkb3QgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC00cHg7IH1cblxuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLWVuZC1yZXNpemVyIHtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIC8qIGNlbnRlcnMgdGhlIDh4OCBkb3Qgb24gdGhlIGxlZnQgZWRnZSAqLyB9XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtc3RhcnQtcmVzaXplciB7XG4gIG1hcmdpbi1yaWdodDogLTRweDtcbiAgLyogY2VudGVycyB0aGUgOHg4IGRvdCBvbiB0aGUgcmlnaHQgZWRnZSAqLyB9XG5cbi8qIERheUdyaWQgZXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luOiAxcHggMnB4IDA7XG4gIC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovXG4gIHBhZGRpbmc6IDAgMXB4OyB9XG5cbnRyOmZpcnN0LWNoaWxkID4gdGQgPiAuZmMtZGF5LWdyaWQtZXZlbnQge1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIC8qIGEgbGl0dGxlIGJpdCBtb3JlIHNwYWNlIGJlZm9yZSB0aGUgZmlyc3QgZXZlbnQgKi8gfVxuXG4uZmMtZGF5LWdyaWQtZXZlbnQuZmMtc2VsZWN0ZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIC8qIHNhbWUgei1pbmRleCBhcyBmYy1iZywgYmVoaW5kIHRleHQgKi9cbiAgLyogb3ZlcmNvbWUgdGhlIGJvcmRlcnMgKi9cbiAgdG9wOiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICAvKiBkYXJrZW5pbmcgZWZmZWN0ICovXG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IC4yNTsgfVxuXG4uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLWNvbnRlbnQge1xuICAvKiBmb3JjZSBldmVudHMgdG8gYmUgb25lLWxpbmUgdGFsbCAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtdGltZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1lbmQtcmVzaXplciB7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAvKiB0byB0aGUgZGF5IGNlbGwncyBlZGdlICovIH1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtc3RhcnQtcmVzaXplciB7XG4gIG1hcmdpbi1yaWdodDogLTJweDtcbiAgLyogdG8gdGhlIGRheSBjZWxsJ3MgZWRnZSAqLyB9XG5cbi8qIEV2ZW50IExpbWl0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBcIm1vcmVcIiBsaW5rIHRoYXQgcmVwcmVzZW50cyBoaWRkZW4gZXZlbnRzICovXG5hLmZjLW1vcmUge1xuICBtYXJnaW46IDFweCAzcHg7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmEuZmMtbW9yZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5mYy1saW1pdGVkIHtcbiAgLyogcm93cyBhbmQgY2VsbHMgdGhhdCBhcmUgaGlkZGVuIGJlY2F1c2Ugb2YgYSBcIm1vcmVcIiBsaW5rICovXG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogcG9wb3ZlciB0aGF0IGFwcGVhcnMgd2hlbiBcIm1vcmVcIiBsaW5rIGlzIGNsaWNrZWQgKi9cbi5mYy1kYXktZ3JpZCAuZmMtcm93IHtcbiAgei1pbmRleDogMTtcbiAgLyogbWFrZSB0aGUgXCJtb3JlXCIgcG9wb3ZlciBvbmUgaGlnaGVyIHRoYW4gdGhpcyAqLyB9XG5cbi5mYy1tb3JlLXBvcG92ZXIge1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMjIwcHg7IH1cblxuLmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweDsgfVxuXG4vKiBOb3cgSW5kaWNhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtbm93LWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAwIHNvbGlkIHJlZDsgfVxuXG4vKiBVdGlsaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnNlbGVjdGFibGUge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG5cbi8qXG5UT0RPOiBtb3JlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhpcyBmaWxlIGFuZCBjb21tb24uY3NzXG4qL1xuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgdGgsXG4uZmMtdW50aGVtZWQgdGQsXG4uZmMtdW50aGVtZWQgdGhlYWQsXG4uZmMtdW50aGVtZWQgdGJvZHksXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLXJvdyxcbi5mYy11bnRoZW1lZCAuZmMtY29udGVudCxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3Zlcixcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC12aWV3LFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBib3JkZXItY29sb3I6ICNkZGQ7IH1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlcixcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC1oZWFkaW5nIHRkIHtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuICBjb2xvcjogIzY2NjsgfVxuXG4uZmMtdW50aGVtZWQgdGQuZmMtdG9kYXkge1xuICBiYWNrZ3JvdW5kOiAjZmNmOGUzOyB9XG5cbi5mYy11bnRoZW1lZCAuZmMtZGlzYWJsZWQtZGF5IHtcbiAgYmFja2dyb3VuZDogI2Q3ZDdkNztcbiAgb3BhY2l0eTogLjM7IH1cblxuLyogSWNvbnMgKGlubGluZSBlbGVtZW50cyB3aXRoIHN0eWxlZCB0ZXh0IHRoYXQgbW9jayBhcnJvdyBpY29ucylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IFwiQ291cmllciBOZXdcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICAvKiBkb24ndCBhbGxvdyBicm93c2VyIHRleHQtc2VsZWN0aW9uICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi8qXG5BY2NlcHRhYmxlIGZvbnQtZmFtaWx5IG92ZXJyaWRlcyBmb3IgaW5kaXZpZHVhbCBpY29uczpcbiAgXCJBcmlhbFwiLCBzYW5zLXNlcmlmXG4gIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmXG5cbk5PVEU6IHVzZSBwZXJjZW50YWdlIGZvbnQgc2l6ZXMgb3IgZWxzZSBvbGQgSUUgY2hva2VzXG4qL1xuLmZjLWljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZjLWljb24tbGVmdC1zaW5nbGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjAzOVwiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMDAlO1xuICB0b3A6IC03JTsgfVxuXG4uZmMtaWNvbi1yaWdodC1zaW5nbGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjAzQVwiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMDAlO1xuICB0b3A6IC03JTsgfVxuXG4uZmMtaWNvbi1sZWZ0LWRvdWJsZS1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICBmb250LXNpemU6IDE2MCU7XG4gIHRvcDogLTclOyB9XG5cbi5mYy1pY29uLXJpZ2h0LWRvdWJsZS1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICBmb250LXNpemU6IDE2MCU7XG4gIHRvcDogLTclOyB9XG5cbi5mYy1pY29uLWxlZnQtdHJpYW5nbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjVDNFwiO1xuICBmb250LXNpemU6IDEyNSU7XG4gIHRvcDogMyU7IH1cblxuLmZjLWljb24tcmlnaHQtdHJpYW5nbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjVCQVwiO1xuICBmb250LXNpemU6IDEyNSU7XG4gIHRvcDogMyU7IH1cblxuLmZjLWljb24tZG93bi10cmlhbmdsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyNUJDXCI7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgdG9wOiAyJTsgfVxuXG4uZmMtaWNvbi14OmFmdGVyIHtcbiAgY29udGVudDogXCJcXEQ3XCI7XG4gIGZvbnQtc2l6ZTogMjAwJTtcbiAgdG9wOiA2JTsgfVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xuICBmb250LXNpemU6IC45ZW07XG4gIG1hcmdpbi10b3A6IDJweDsgfVxuXG4vKiBMaXN0IFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnRoZW1lZCAuZmMtbGlzdC1pdGVtOmhvdmVyIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS13aWRnZXQgLmZjLWRpc2FibGVkLWRheSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXBvcG92ZXIgPiAudWktd2lkZ2V0LWhlYWRlciArIC51aS13aWRnZXQtY29udGVudCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIC8qIHdoZXJlIHRoZXkgbWVldCwgbGV0IHRoZSBoZWFkZXIgaGF2ZSB0aGUgYm9yZGVyICovIH1cblxuLyogR2xvYmFsIEV2ZW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCAuZmMtZXZlbnQge1xuICAvKiBvdmVycG93ZXIganF1aSdzIHN0eWxlcyBvbiA8YT4gdGFncy4gVE9ETzogbW9yZSBEUlkgKi9cbiAgY29sb3I6ICNmZmY7XG4gIC8qIGRlZmF1bHQgVEVYVCBjb2xvciAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqL1xuICAvKiB1bmRvIHVpLXdpZGdldC1oZWFkZXIgYm9sZCAqL1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIFRpbWVHcmlkIGF4aXMgcnVubmluZyBkb3duIHRoZSBzaWRlIChmb3IgYm90aCB0aGUgYWxsLWRheSBhcmVhIGFuZCB0aGUgc2xvdCBhcmVhKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB0ZC5mYy1heGlzIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLyogb3ZlcmNvbWUgYm9sZCAqLyB9XG5cbi8qIFRpbWVHcmlkIFNsYXRzIChsaW5lcyB0aGF0IHJ1biBob3Jpem9udGFsbHkpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdGltZS1ncmlkIC5mYy1zbGF0cyAudWktd2lkZ2V0LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiBzZWUgdGhyb3VnaCB0byBmYy1iZyAqLyB9XG5cbi5mYy5mYy1ib290c3RyYXAzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZjLmZjLWJvb3RzdHJhcDMgYVtkYXRhLWdvdG9dOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZjLWJvb3RzdHJhcDMgaHIuZmMtZGl2aWRlciB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmMtYm9vdHN0cmFwMyAuZmMtdG9kYXkuYWxlcnQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ib290c3RyYXAzIC5mYy1wb3BvdmVyIC5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWJvb3RzdHJhcDMgLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGFibGUge1xuICAvKiBzb21lIHRoZW1lcyBoYXZlIGJhY2tncm91bmQgY29sb3IuIHNlZSB0aHJvdWdoIHRvIHNsYXRzICovXG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmZjLmZjLWJvb3RzdHJhcDQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmMuZmMtYm9vdHN0cmFwNCBhW2RhdGEtZ290b106aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZmMtYm9vdHN0cmFwNCBoci5mYy1kaXZpZGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbi5mYy1ib290c3RyYXA0IC5mYy10b2RheS5hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmZjLWJvb3RzdHJhcDQgYS5mYy1ldmVudDpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmMtYm9vdHN0cmFwNCAuZmMtcG9wb3Zlci5jYXJkIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ib290c3RyYXA0IC5mYy1wb3BvdmVyIC5jYXJkLWJvZHkge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIFRpbWVHcmlkIFNsYXRzIChsaW5lcyB0aGF0IHJ1biBob3Jpem9udGFsbHkpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYm9vdHN0cmFwNCAuZmMtdGltZS1ncmlkIC5mYy1zbGF0cyB0YWJsZSB7XG4gIC8qIHNvbWUgdGhlbWVzIGhhdmUgYmFja2dyb3VuZCBjb2xvci4gc2VlIHRocm91Z2ggdG8gc2xhdHMgKi9cbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBUb29sYmFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdG9vbGJhciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMtdG9vbGJhci5mYy1oZWFkZXItdG9vbGJhciB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uZmMtdG9vbGJhci5mYy1mb290ZXItdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uZmMtdG9vbGJhciAuZmMtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy10b29sYmFyIC5mYy1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmMtdG9vbGJhciAuZmMtY2VudGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIHRoZSB0aGluZ3Mgd2l0aGluIGVhY2ggbGVmdC9yaWdodC9jZW50ZXIgc2VjdGlvbiAqL1xuLmZjIC5mYy10b29sYmFyID4gKiA+ICoge1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJyaWRlIGJ1dHRvbiBib3JkZXIgbWFyZ2lucyAqL1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC43NWVtOyB9XG5cbi8qIHRoZSBmaXJzdCB0aGluZyB3aXRoaW4gZWFjaCBsZWZ0L2NlbnRlci9yaWdodCBzZWN0aW9uICovXG4uZmMgLmZjLXRvb2xiYXIgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVycmlkZSBidXR0b24gYm9yZGVyIG1hcmdpbnMgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogdGl0bGUgdGV4dCAqL1xuLmZjLXRvb2xiYXIgaDIge1xuICBtYXJnaW46IDA7IH1cblxuLyogYnV0dG9uIGxheWVyaW5nIChmb3IgYm9yZGVyIHByZWNlZGVuY2UpICovXG4uZmMtdG9vbGJhciBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWhvdmVyLFxuLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWhvdmVyIHtcbiAgei1pbmRleDogMjsgfVxuXG4uZmMtdG9vbGJhciAuZmMtc3RhdGUtZG93biB7XG4gIHotaW5kZXg6IDM7IH1cblxuLmZjLXRvb2xiYXIgLmZjLXN0YXRlLWFjdGl2ZSxcbi5mYy10b29sYmFyIC51aS1zdGF0ZS1hY3RpdmUge1xuICB6LWluZGV4OiA0OyB9XG5cbi5mYy10b29sYmFyIGJ1dHRvbjpmb2N1cyB7XG4gIHotaW5kZXg6IDU7IH1cblxuLyogVmlldyBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHVuZG8gdHdpdHRlciBib290c3RyYXAncyBib3gtc2l6aW5nIHJ1bGVzLiBub3JtYWxpemVzIHBvc2l0aW9uaW5nIHRlY2huaXF1ZXMgKi9cbi8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovXG4uZmMtdmlldy1jb250YWluZXIgKixcbi5mYy12aWV3LWNvbnRhaW5lciAqOmJlZm9yZSxcbi5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLmZjLXZpZXcsXG4uZmMtdmlldyA+IHRhYmxlIHtcbiAgLyogc28gZHJhZ2dlZCBlbGVtZW50cyBjYW4gYmUgYWJvdmUgdGhlIHZpZXcncyBtYWluIGVsZW1lbnQgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi8qIEJhc2ljVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogZGF5IHJvdyBzdHJ1Y3R1cmUgKi9cbi5mYy1iYXNpY1dlZWstdmlldyAuZmMtY29udGVudC1za2VsZXRvbixcbi5mYy1iYXNpY0RheS12aWV3IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgLyogdGhlcmUgbWF5IGJlIHdlZWsgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28gbm8gcGFkZGluZy10b3AgKi9cbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgLyogZW5zdXJlIGEgc3BhY2UgYXQgYm90dG9tIG9mIGNlbGwgZm9yIHVzZXIgc2VsZWN0aW5nL2NsaWNraW5nICovIH1cblxuLmZjLWJhc2ljLXZpZXcgLmZjLWJvZHkgLmZjLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IDRlbTtcbiAgLyogZW5zdXJlIHRoYXQgYWxsIHJvd3MgYXJlIGF0IGxlYXN0IHRoaXMgdGFsbCAqLyB9XG5cbi8qIGEgXCJyaWdpZFwiIHJvdyB3aWxsIHRha2UgdXAgYSBjb25zdGFudCBhbW91bnQgb2YgaGVpZ2h0IGJlY2F1c2UgY29udGVudC1za2VsZXRvbiBpcyBhYnNvbHV0ZSAqL1xuLmZjLXJvdy5mYy1yaWdpZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZjLXJvdy5mYy1yaWdpZCAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi9cbi5mYy1kYXktdG9wLmZjLW90aGVyLW1vbnRoIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlcixcbi5mYy1iYXNpYy12aWV3IC5mYy1kYXktbnVtYmVyIHtcbiAgcGFkZGluZzogMnB4OyB9XG5cbi5mYy1iYXNpYy12aWV3IHRoLmZjLXdlZWstbnVtYmVyLFxuLmZjLWJhc2ljLXZpZXcgdGguZmMtZGF5LW51bWJlciB7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICAvKiBjb2x1bW4gaGVhZGVycyBjYW4ndCBoYXZlIGFzIG11Y2ggdiBzcGFjZSAqLyB9XG5cbi5mYy1sdHIgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZjLXJ0bCAuZmMtYmFzaWMtdmlldyAuZmMtZGF5LXRvcCAuZmMtZGF5LW51bWJlciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYy1sdHIgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS10b3AgLmZjLXdlZWstbnVtYmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggMDsgfVxuXG4uZmMtcnRsIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4OyB9XG5cbi5mYy1iYXNpYy12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIG1pbi13aWR0aDogMS41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM4MDgwODA7IH1cblxuLyogd2hlbiB3ZWVrL2RheSBudW1iZXIgaGF2ZSBvd24gY29sdW1uICovXG4uZmMtYmFzaWMtdmlldyB0ZC5mYy13ZWVrLW51bWJlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMtYmFzaWMtdmlldyB0ZC5mYy13ZWVrLW51bWJlciA+ICoge1xuICAvKiB3b3JrIGFyb3VuZCB0aGUgd2F5IHdlIGRvIGNvbHVtbiByZXNpemluZyBhbmQgZW5zdXJlIGEgbWluaW11bSB3aWR0aCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMS4yNWVtOyB9XG5cbi8qIEFnZW5kYVZpZXcgYWxsLWRheSBhcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICAvKiBzbyB0aGUgXCJtb3JlLi5cIiBwb3BvdmVyIHdpbGwgYmUgb3ZlciB0aGUgdGltZSBncmlkICovIH1cblxuLmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCAuZmMtcm93IHtcbiAgbWluLWhlaWdodDogM2VtO1xuICAvKiBhbGwtZGF5IHNlY3Rpb24gd2lsbCBuZXZlciBnZXQgc2hvcnRlciB0aGFuIHRoaXMgKi8gfVxuXG4uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAvKiBnaXZlIHNwYWNlIHVuZGVybmVhdGggZXZlbnRzIGZvciBjbGlja2luZy9zZWxlY3RpbmcgZGF5cyAqLyB9XG5cbi8qIFRpbWVHcmlkIGF4aXMgcnVubmluZyBkb3duIHRoZSBzaWRlIChmb3IgYm90aCB0aGUgYWxsLWRheSBhcmVhIGFuZCB0aGUgc2xvdCBhcmVhKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjIC5mYy1heGlzIHtcbiAgLyogLmZjIHRvIG92ZXJjb21lIGRlZmF1bHQgY2VsbCBzdHlsZXMgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogMCA0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZjLWx0ciAuZmMtYXhpcyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5mYy1ydGwgLmZjLWF4aXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qIFRpbWVHcmlkIFN0cnVjdHVyZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZC1jb250YWluZXIsXG4uZmMtdGltZS1ncmlkIHtcbiAgLyogc28gc2xhdHMvYmcvY29udGVudC9ldGMgcG9zaXRpb25zIGdldCBzY29wZWQgd2l0aGluIGhlcmUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYy10aW1lLWdyaWQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAvKiBzbyBpZiBoZWlnaHQgc2V0dGluZyBpcyAnYXV0bycsIC5mYy1iZyBzdHJldGNoZXMgdG8gZmlsbCBoZWlnaHQgKi8gfVxuXG4uZmMtdGltZS1ncmlkIHRhYmxlIHtcbiAgLyogZG9uJ3QgcHV0IG91dGVyIGJvcmRlcnMgb24gc2xhdHMvYmcvY29udGVudC9ldGMgKi9cbiAgYm9yZGVyOiAwIGhpZGRlbiB0cmFuc3BhcmVudDsgfVxuXG4uZmMtdGltZS1ncmlkID4gLmZjLWJnIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1zbGF0cyxcbi5mYy10aW1lLWdyaWQgPiBociB7XG4gIC8qIHRoZSA8aHI+IEFnZW5kYVZpZXcgaW5qZWN0cyB3aGVuIGdyaWQgaXMgc2hvcnRlciB0aGFuIHNjcm9sbGVyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogYmVjYXVzZSBub3ctaW5kaWNhdG9yIGxpdmVzIGRpcmVjdGx5IGluc2lkZSAqLyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogZGl2cyB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtY29udGVudC1za2VsZXRvbiAqL1xuLmZjLXRpbWUtZ3JpZCAuZmMtYnVzaW5lc3MtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0OyB9XG5cbi5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItbGluZSB7XG4gIHotaW5kZXg6IDU7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGVscGVyLWNvbnRhaW5lciB7XG4gIC8qIGFsc28gaXMgZmMtZXZlbnQtY29udGFpbmVyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNjsgfVxuXG4vKiBUaW1lR3JpZCBTbGF0cyAobGluZXMgdGhhdCBydW4gaG9yaXpvbnRhbGx5KVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGQge1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3JkZXItYm90dG9tOiAwO1xuICAvKiBlYWNoIGNlbGwgaXMgcmVzcG9uc2libGUgZm9yIGl0cyB0b3AgYm9yZGVyICovIH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLmZjLW1pbm9yIHRkIHtcbiAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkOyB9XG5cbi8qIFRpbWVHcmlkIEhpZ2hsaWdodGluZyBTbG90c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7XG4gIC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1oaWdobGlnaHQtc2tlbGV0b24gKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBzY29wZXMgdGhlIGxlZnQvcmlnaHQgb2YgdGhlIGZjLWhpZ2hsaWdodCB0byBiZSBpbiB0aGUgY29sdW1uICovIH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLyogdG9wIGFuZCBib3R0b20gd2lsbCBiZSBpbiBieSBKUyAqLyB9XG5cbi8qIFRpbWVHcmlkIEV2ZW50IENvbnRhaW5tZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtbHRyIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gIC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIExUUiAoZGVmYXVsdCkgKi9cbiAgbWFyZ2luOiAwIDIuNSUgMCAycHg7IH1cblxuLmZjLXJ0bCAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIge1xuICAvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBSVEwgKi9cbiAgbWFyZ2luOiAwIDJweCAwIDIuNSU7IH1cblxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQsXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICAvKiBzY29wZSBpbm5lciB6LWluZGV4J3MgKi8gfVxuXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtcbiAgLyogYmFja2dyb3VuZCBldmVudHMgYWx3YXlzIHNwYW4gZnVsbCB3aWR0aCAqL1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBHZW5lcmljIFZlcnRpY2FsIEV2ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdi1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICAvKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyBmcm9tIGFub3RoZXIgZGF5ICovXG4gIC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgcGFkZGluZy10b3A6IDFweDtcbiAgLyogcmVtb3ZlIHRvcCByb3VuZGVkIGNvcm5lcnMgKi9cbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmZjLXYtZXZlbnQuZmMtbm90LWVuZCB7XG4gIC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgLyogcmVtb3ZlIGJvdHRvbSByb3VuZGVkIGNvcm5lcnMgKi9cbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLyogVGltZUdyaWQgRXZlbnQgU3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2UgdXNlIHRoZSBmdWxsIFwiZmMtdGltZS1ncmlkLWV2ZW50XCIgY2xhc3MgaW5zdGVhZCBvZiB1c2luZyBkZXNjZW5kYW50cyBiZWNhdXNlIHRoZSBldmVudCB3b24ndFxuYmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC5cbiovXG4uZmMtdGltZS1ncmlkLWV2ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogZG9uJ3QgbGV0IHRoZSBiZyBmbG93IG92ZXIgcm91bmRlZCBjb3JuZXJzICovIH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zZWxlY3RlZCB7XG4gIC8qIG5lZWQgdG8gYWxsb3cgdG91Y2ggcmVzaXplcnMgdG8gZXh0ZW5kIG91dHNpZGUgZXZlbnQncyBib3VuZGluZyBib3ggKi9cbiAgLyogY29tbW9uIGZjLXNlbGVjdGVkIHN0eWxlcyBoaWRlIHRoZSBmYy1iZywgc28gZG9uJ3QgbmVlZCB0aGlzIGFueXdheSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1iZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIGhpZGUgc2VtaS13aGl0ZSBiYWNrZ3JvdW5kLCB0byBhcHBlYXIgZGFya2VyICovIH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIGZvciB3aGVuIC5mYy1zZWxlY3RlZCAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpbWUsXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aXRsZSB7XG4gIHBhZGRpbmc6IDAgMXB4OyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpbWUge1xuICBmb250LXNpemU6IC44NWVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIHNob3J0IG1vZGUsIHdoZXJlIHRpbWUgYW5kIHRpdGxlIGFyZSBvbiB0aGUgc2FtZSBsaW5lICovXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy1jb250ZW50IHtcbiAgLyogZG9uJ3Qgd3JhcCB0byBzZWNvbmQgbGluZSAobm93IHRoYXQgY29udGVudHMgd2lsbCBiZSBpbmxpbmUpICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSxcbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcbiAgLyogcHV0IHRoZSB0aW1lIGFuZCB0aXRsZSBvbiB0aGUgc2FtZSBsaW5lICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xuICAvKiBkb24ndCBkaXNwbGF5IHRoZSBmdWxsIHRpbWUgdGV4dC4uLiAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXN0YXJ0KTtcbiAgLyogLi4uaW5zdGVhZCwgZGlzcGxheSBvbmx5IHRoZSBzdGFydCB0aW1lICovIH1cblxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxBMC1cXEEwXCI7XG4gIC8qIHNlcGVyYXRlIHdpdGggYSBkYXNoLCB3cmFwcGVkIGluIG5ic3AncyAqLyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpdGxlIHtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgLyogbWFrZSB0aGUgdGl0bGUgdGV4dCB0aGUgc2FtZSBzaXplIGFzIHRoZSB0aW1lICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIHVuZG8gcGFkZGluZyBmcm9tIGFib3ZlICovIH1cblxuLyogcmVzaXplciAoY3Vyc29yIGRldmljZSkgKi9cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHMtcmVzaXplOyB9XG5cbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyOmFmdGVyIHtcbiAgY29udGVudDogXCI9XCI7IH1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlKSAqL1xuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplciB7XG4gIC8qIDEweDEwIGRvdCAqL1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAvKiBob3Jpem9udGFsbHkgY2VudGVyICovXG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIC8qIGNlbnRlciBvbiB0aGUgYm90dG9tIGVkZ2UgKi9cbiAgYm90dG9tOiAtNXB4OyB9XG5cbi8qIE5vdyBJbmRpY2F0b3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItbGluZSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLyogYXJyb3cgb24gYXhpcyAqL1xuLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyIG9uIHRvcCBjb29yZGluYXRlICovIH1cblxuLmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcbiAgbGVmdDogMDtcbiAgLyogdHJpYW5nbGUgcG9pbnRpbmcgcmlnaHQuLi4gKi9cbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNnB4O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZjLXJ0bCAuZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtcbiAgcmlnaHQ6IDA7XG4gIC8qIHRyaWFuZ2xlIHBvaW50aW5nIGxlZnQuLi4gKi9cbiAgYm9yZGVyLXdpZHRoOiA1cHggNnB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogTGlzdCBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBwb3NzaWJseSByZXVzYWJsZSAqL1xuLmZjLWV2ZW50LWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi8qIHZpZXcgd3JhcHBlciAqL1xuLmZjLXJ0bCAuZmMtbGlzdC12aWV3IHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIC8qIHVubGlrZSBjb3JlIHZpZXdzLCBsZXZlcmFnZSBicm93c2VyIFJUTCAqLyB9XG5cbi5mYy1saXN0LXZpZXcge1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4vKiB0YWJsZSByZXNldHMgKi9cbi5mYyAuZmMtbGlzdC10YWJsZSB7XG4gIHRhYmxlLWxheW91dDogYXV0bztcbiAgLyogZm9yIHNocmlua3dyYXBwaW5nIGNlbGwgY29udGVudCAqLyB9XG5cbi5mYy1saXN0LXRhYmxlIHRkIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICBwYWRkaW5nOiA4cHggMTRweDsgfVxuXG4uZmMtbGlzdC10YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cblxuLyogZGF5IGhlYWRpbmdzIHdpdGggdGhlIGxpc3QgKi9cbi5mYy1saXN0LWhlYWRpbmcge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cblxuLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mYy1sdHIgLmZjLWxpc3QtaGVhZGluZy1tYWluIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmZjLWx0ciAuZmMtbGlzdC1oZWFkaW5nLWFsdCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1saXN0LWhlYWRpbmctbWFpbiB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmMtcnRsIC5mYy1saXN0LWhlYWRpbmctYWx0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogZXZlbnQgbGlzdCBpdGVtcyAqL1xuLmZjLWxpc3QtaXRlbS5mYy1oYXMtdXJsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiB3aG9sZSByb3cgd2lsbCBiZSBjbGlja2FibGUgKi8gfVxuXG4uZmMtbGlzdC1pdGVtLW1hcmtlcixcbi5mYy1saXN0LWl0ZW0tdGltZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7IH1cblxuLyogbWFrZSB0aGUgZG90IGNsb3NlciB0byB0aGUgZXZlbnQgdGl0bGUgKi9cbi5mYy1sdHIgLmZjLWxpc3QtaXRlbS1tYXJrZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5mYy1ydGwgLmZjLWxpc3QtaXRlbS1tYXJrZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmZjLWxpc3QtaXRlbS10aXRsZSBhIHtcbiAgLyogZXZlcnkgZXZlbnQgdGl0bGUgY2VsbCBoYXMgYW4gPGE+IHRhZyAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5mYy1saXN0LWl0ZW0tdGl0bGUgYVtocmVmXTpob3ZlciB7XG4gIC8qIGhvdmVyIGVmZmVjdCBvbmx5IG9uIHRpdGxlcyB3aXRoIGhyZWZzICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIG1lc3NhZ2Ugd2hlbiBubyBldmVudHMgKi9cbi5mYy1saXN0LWVtcHR5LXdyYXAyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLmZjLWxpc3QtZW1wdHktd3JhcDEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uZmMtbGlzdC1lbXB0eSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtZW1wdHkge1xuICAvKiB0aGVtZSB3aWxsIHByb3ZpZGUgb3duIGJhY2tncm91bmQgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuIl19 */
|