spectre-exp.css 89 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. /*! Spectre.css Experimentals v0.5.1 | MIT License | github.com/picturepan2/spectre */
  2. .form-autocomplete { position: relative; }
  3. .form-autocomplete .form-autocomplete-input { -ms-flex-line-pack: start; align-content: flex-start; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; height: auto; min-height: 1.6rem; padding: 0.1rem; }
  4. .form-autocomplete .form-autocomplete-input.is-focused { box-shadow: 0 0 0 0.1rem rgba(48, 133, 238, 0.2); border-color: #3085EE; }
  5. .form-autocomplete .form-autocomplete-input .form-input { border-color: transparent; box-shadow: none; display: inline-block; -ms-flex: 1 0 auto; flex: 1 0 auto; height: 1.2rem; line-height: 0.8rem; margin: 0.1rem; width: auto; }
  6. .form-autocomplete .menu { left: 0; position: absolute; top: 100%; width: 100%; }
  7. .form-autocomplete.autocomplete-oneline .form-autocomplete-input { -ms-flex-wrap: nowrap; flex-wrap: nowrap; overflow-x: auto; }
  8. .form-autocomplete.autocomplete-oneline .chip { -ms-flex: 1 0 auto; flex: 1 0 auto; }
  9. .calendar { border: 0.05rem solid #e7e9ed; border-radius: 0.1rem; display: block; min-width: 280px; }
  10. .calendar .calendar-nav { -ms-flex-align: center; align-items: center; background: #f8f9fa; border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; display: -ms-flexbox; display: flex; font-size: 0.9rem; padding: 0.4rem; }
  11. .calendar .calendar-header, .calendar .calendar-body { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; padding: 0.4rem 0; }
  12. .calendar .calendar-header .calendar-date, .calendar .calendar-body .calendar-date { -ms-flex: 0 0 14.28%; flex: 0 0 14.28%; max-width: 14.28%; }
  13. .calendar .calendar-header { background: #f8f9fa; border-bottom: 0.05rem solid #e7e9ed; color: #acb3c2; font-size: 0.7rem; text-align: center; }
  14. .calendar .calendar-body { color: #667189; }
  15. .calendar .calendar-date { border: 0; padding: 0.2rem; }
  16. .calendar .calendar-date .date-item { transition: all .2s ease; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: 0.05rem solid transparent; border-radius: 50%; color: #667189; cursor: pointer; font-size: 0.7rem; height: 1.4rem; line-height: 1rem; outline: none; padding: 0.1rem; position: relative; text-align: center; text-decoration: none; vertical-align: middle; white-space: nowrap; width: 1.4rem; }
  17. .calendar .calendar-date .date-item.date-today { border-color: #d3e5fb; color: #3085EE; }
  18. .calendar .calendar-date .date-item:focus { box-shadow: 0 0 0 0.1rem rgba(48, 133, 238, 0.2); }
  19. .calendar .calendar-date .date-item:focus, .calendar .calendar-date .date-item:hover { background: #eff5fe; border-color: #d3e5fb; color: #3085EE; text-decoration: none; }
  20. .calendar .calendar-date .date-item:active, .calendar .calendar-date .date-item.active { background: #227ded; border-color: #1370e3; color: #fff; }
  21. .calendar .calendar-date .date-item.badge::after { position: absolute; top: 3px; right: 3px; transform: translate(50%, -50%); }
  22. .calendar .calendar-date.disabled .date-item, .calendar .calendar-date.disabled .calendar-event, .calendar .calendar-date .date-item:disabled, .calendar .calendar-date .calendar-event:disabled { cursor: default; opacity: .25; pointer-events: none; }
  23. .calendar .calendar-range { position: relative; }
  24. .calendar .calendar-range::before { background: #e1edfd; content: ""; height: 1.4rem; left: 0; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
  25. .calendar .calendar-range.range-start::before { left: 50%; }
  26. .calendar .calendar-range.range-end::before { right: 50%; }
  27. .calendar .calendar-range .date-item { color: #3085EE; }
  28. .calendar.calendar-lg .calendar-body { padding: 0; }
  29. .calendar.calendar-lg .calendar-body .calendar-date { border-bottom: 0.05rem solid #e7e9ed; border-right: 0.05rem solid #e7e9ed; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; height: 5.5rem; padding: 0; }
  30. .calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) { border-right: 0; }
  31. .calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) { border-bottom: 0; }
  32. .calendar.calendar-lg .date-item { -ms-flex-item-align: end; align-self: flex-end; height: 1.4rem; margin-right: 0.2rem; margin-top: 0.2rem; }
  33. .calendar.calendar-lg .calendar-range::before { top: 19px; }
  34. .calendar.calendar-lg .calendar-range.range-start::before { left: auto; width: 19px; }
  35. .calendar.calendar-lg .calendar-range.range-end::before { right: 19px; }
  36. .calendar.calendar-lg .calendar-events { -ms-flex-positive: 1; flex-grow: 1; line-height: 1; overflow-y: auto; padding: 0.2rem; }
  37. .calendar.calendar-lg .calendar-event { border-radius: 0.1rem; font-size: 0.7rem; display: block; margin: 0.1rem auto; overflow: hidden; padding: 3px 4px; text-overflow: ellipsis; white-space: nowrap; }
  38. .carousel { background: #f8f9fa; display: block; overflow: hidden; position: relative; width: 100%; -webkit-overflow-scrolling: touch; z-index: 1; }
  39. .carousel .carousel-container { height: 100%; left: 0; position: relative; }
  40. .carousel .carousel-container::before { content: ""; display: block; padding-bottom: 56.25%; }
  41. .carousel .carousel-container .carousel-item { animation: carousel-slideout 1s ease-in-out 1; height: 100%; left: 0; margin: 0; opacity: 0; position: absolute; top: 0; width: 100%; }
  42. .carousel .carousel-container .carousel-item:hover .item-prev, .carousel .carousel-container .carousel-item:hover .item-next { opacity: 1; }
  43. .carousel .carousel-container .item-prev, .carousel .carousel-container .item-next { background: rgba(231, 233, 237, 0.25); border-color: rgba(231, 233, 237, 0.5); color: #e7e9ed; opacity: 0; position: absolute; top: 50%; transition: all .4s ease; transform: translateY(-50%); z-index: 100; }
  44. .carousel .carousel-container .item-prev { left: 1rem; }
  45. .carousel .carousel-container .item-next { right: 1rem; }
  46. .carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), .carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), .carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), .carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) { animation: carousel-slidein .75s ease-in-out 1; opacity: 1; z-index: 100; }
  47. .carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), .carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), .carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), .carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) { color: #e7e9ed; }
  48. .carousel .carousel-nav { bottom: 0.4rem; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; left: 50%; position: absolute; transform: translateX(-50%); width: 10rem; z-index: 100; }
  49. .carousel .carousel-nav .nav-item { color: rgba(231, 233, 237, 0.5); display: block; -ms-flex: 1 0 auto; flex: 1 0 auto; height: 1.6rem; margin: 0.2rem; max-width: 2.5rem; position: relative; }
  50. .carousel .carousel-nav .nav-item::before { background: currentColor; content: ""; display: block; height: 0.1rem; position: absolute; top: .5rem; width: 100%; }
  51. @keyframes carousel-slidein { 0% { transform: translateX(100%); }
  52. 100% { transform: translateX(0); } }
  53. @keyframes carousel-slideout { 0% { opacity: 1;
  54. transform: translateX(0); }
  55. 100% { opacity: 1;
  56. transform: translateX(-50%); } }
  57. .comparison-slider { height: 50vh; overflow: hidden; position: relative; width: 100%; -webkit-overflow-scrolling: touch; }
  58. .comparison-slider .comparison-before, .comparison-slider .comparison-after { height: 100%; left: 0; margin: 0; overflow: hidden; position: absolute; top: 0; }
  59. .comparison-slider .comparison-before img, .comparison-slider .comparison-after img { height: 100%; object-fit: cover; object-position: left center; position: absolute; width: 100%; }
  60. .comparison-slider .comparison-before { width: 100%; z-index: 1; }
  61. .comparison-slider .comparison-before .comparison-label { right: 0.8rem; }
  62. .comparison-slider .comparison-after { max-width: 100%; min-width: 0; z-index: 2; }
  63. .comparison-slider .comparison-after::before { background: transparent; content: ""; cursor: default; height: 100%; left: 0; position: absolute; right: 0.8rem; top: 0; z-index: 1; }
  64. .comparison-slider .comparison-after::after { background: currentColor; border-radius: 50%; box-shadow: 0 -5px, 0 5px; color: #fff; content: ""; height: 3px; position: absolute; right: 0.4rem; top: 50%; transform: translate(50%, -50%); width: 3px; }
  65. .comparison-slider .comparison-after .comparison-label { left: 0.8rem; }
  66. .comparison-slider .comparison-resizer { animation: first-run 1.5s 1 ease-in-out; cursor: ew-resize; height: 0.8rem; left: 0; max-width: 100%; min-width: 0.8rem; opacity: 0; outline: none; position: relative; resize: horizontal; top: 50%; transform: translateY(-50%) scaleY(30); width: 0; }
  67. .comparison-slider .comparison-label { background: rgba(69, 77, 93, 0.5); bottom: 0.8rem; color: #fff; padding: 0.2rem 0.4rem; position: absolute; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
  68. @keyframes first-run { 0% { width: 0; }
  69. 25% { width: 2.4rem; }
  70. 50% { width: 0.8rem; }
  71. 75% { width: 1.2rem; }
  72. 100% { width: 0; } }
  73. .filter .filter-tag#tag-0:checked ~ .filter-nav .chip[for="tag-0"], .filter .filter-tag#tag-1:checked ~ .filter-nav .chip[for="tag-1"], .filter .filter-tag#tag-2:checked ~ .filter-nav .chip[for="tag-2"], .filter .filter-tag#tag-3:checked ~ .filter-nav .chip[for="tag-3"], .filter .filter-tag#tag-4:checked ~ .filter-nav .chip[for="tag-4"], .filter .filter-tag#tag-5:checked ~ .filter-nav .chip[for="tag-5"], .filter .filter-tag#tag-6:checked ~ .filter-nav .chip[for="tag-6"], .filter .filter-tag#tag-7:checked ~ .filter-nav .chip[for="tag-7"], .filter .filter-tag#tag-8:checked ~ .filter-nav .chip[for="tag-8"] { background: #3085EE; color: #fff; }
  74. .filter .filter-tag#tag-1:checked ~ .filter-body .filter-item:not([data-tag~="tag-1"]), .filter .filter-tag#tag-2:checked ~ .filter-body .filter-item:not([data-tag~="tag-2"]), .filter .filter-tag#tag-3:checked ~ .filter-body .filter-item:not([data-tag~="tag-3"]), .filter .filter-tag#tag-4:checked ~ .filter-body .filter-item:not([data-tag~="tag-4"]), .filter .filter-tag#tag-5:checked ~ .filter-body .filter-item:not([data-tag~="tag-5"]), .filter .filter-tag#tag-6:checked ~ .filter-body .filter-item:not([data-tag~="tag-6"]), .filter .filter-tag#tag-7:checked ~ .filter-body .filter-item:not([data-tag~="tag-7"]), .filter .filter-tag#tag-8:checked ~ .filter-body .filter-item:not([data-tag~="tag-8"]) { display: none; }
  75. .filter .filter-nav { margin: 0.4rem 0; }
  76. .filter .filter-body { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  77. .meter { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #f8f9fa; border: 0; border-radius: 0.1rem; display: block; width: 100%; height: 0.8rem; }
  78. .meter::-webkit-meter-inner-element { display: block; }
  79. .meter::-webkit-meter-bar, .meter::-webkit-meter-optimum-value, .meter::-webkit-meter-suboptimum-value, .meter::-webkit-meter-even-less-good-value { border-radius: 0.1rem; }
  80. .meter::-webkit-meter-bar { background: #f8f9fa; }
  81. .meter::-webkit-meter-optimum-value { background: #32b643; }
  82. .meter::-webkit-meter-suboptimum-value { background: #ffb700; }
  83. .meter::-webkit-meter-even-less-good-value { background: #e85600; }
  84. .meter::-moz-meter-bar, .meter:-moz-meter-optimum, .meter:-moz-meter-sub-optimum, .meter:-moz-meter-sub-sub-optimum { border-radius: 0.1rem; }
  85. .meter:-moz-meter-optimum::-moz-meter-bar { background: #32b643; }
  86. .meter:-moz-meter-sub-optimum::-moz-meter-bar { background: #ffb700; }
  87. .meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { background: #e85600; }
  88. .off-canvas { display: -ms-flexbox; display: flex; -ms-flex-flow: nowrap; flex-flow: nowrap; height: 100%; position: relative; width: 100%; }
  89. .off-canvas .off-canvas-toggle { display: block; position: absolute; top: 0.4rem; transition: none; z-index: 1; left: 0.4rem; }
  90. .off-canvas .off-canvas-sidebar { background: #f8f9fa; bottom: 0; min-width: 10rem; overflow-y: auto; position: fixed; top: 0; transition: transform .25s ease; z-index: 200; left: 0; transform: translateX(-100%); }
  91. .off-canvas .off-canvas-content { -ms-flex: 1 1 auto; flex: 1 1 auto; height: 100%; padding: 0.4rem 0.4rem 0.4rem 4rem; }
  92. .off-canvas .off-canvas-overlay { background: rgba(69, 77, 93, 0.1); border-color: transparent; border-radius: 0; bottom: 0; display: none; height: 100%; left: 0; position: fixed; right: 0; top: 0; width: 100%; }
  93. .off-canvas .off-canvas-sidebar:target, .off-canvas .off-canvas-sidebar.active { transform: translateX(0); }
  94. .off-canvas .off-canvas-sidebar:target ~ .off-canvas-overlay, .off-canvas .off-canvas-sidebar.active ~ .off-canvas-overlay { display: block; z-index: 100; }
  95. @media (min-width: 960px) { .off-canvas.off-canvas-sidebar-show .off-canvas-toggle { display: none; }
  96. .off-canvas.off-canvas-sidebar-show .off-canvas-sidebar { -ms-flex: 0 0 auto; flex: 0 0 auto; position: relative; transform: none; } }
  97. .parallax { display: block; height: auto; position: relative; width: auto; }
  98. .parallax .parallax-content { box-shadow: 0 1rem 2.1rem rgba(69, 77, 93, 0.3); height: auto; transform: perspective(1000px); transform-style: preserve-3d; transition: all .4s ease; width: 100%; }
  99. .parallax .parallax-content::before { content: ""; display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
  100. .parallax .parallax-front { -ms-flex-align: center; align-items: center; color: #fff; display: -ms-flexbox; display: flex; height: 100%; -ms-flex-pack: center; justify-content: center; left: 0; position: absolute; text-align: center; text-shadow: 0 0 20px rgba(69, 77, 93, 0.75); top: 0; transform: translateZ(50px) scale(0.95); transition: all .4s ease; width: 100%; z-index: 1; }
  101. .parallax .parallax-top-left { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; left: 0; top: 0; }
  102. .parallax .parallax-top-left:focus ~ .parallax-content, .parallax .parallax-top-left:hover ~ .parallax-content { transform: perspective(1000px) rotateX(3deg) rotateY(-3deg); }
  103. .parallax .parallax-top-left:focus ~ .parallax-content::before, .parallax .parallax-top-left:hover ~ .parallax-content::before { background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); }
  104. .parallax .parallax-top-left:focus ~ .parallax-content .parallax-front, .parallax .parallax-top-left:hover ~ .parallax-content .parallax-front { transform: translate3d(4.5px, 4.5px, 50px) scale(0.95); }
  105. .parallax .parallax-top-right { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; right: 0; top: 0; }
  106. .parallax .parallax-top-right:focus ~ .parallax-content, .parallax .parallax-top-right:hover ~ .parallax-content { transform: perspective(1000px) rotateX(3deg) rotateY(3deg); }
  107. .parallax .parallax-top-right:focus ~ .parallax-content::before, .parallax .parallax-top-right:hover ~ .parallax-content::before { background: linear-gradient(-135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); }
  108. .parallax .parallax-top-right:focus ~ .parallax-content .parallax-front, .parallax .parallax-top-right:hover ~ .parallax-content .parallax-front { transform: translate3d(-4.5px, 4.5px, 50px) scale(0.95); }
  109. .parallax .parallax-bottom-left { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; bottom: 0; left: 0; }
  110. .parallax .parallax-bottom-left:focus ~ .parallax-content, .parallax .parallax-bottom-left:hover ~ .parallax-content { transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg); }
  111. .parallax .parallax-bottom-left:focus ~ .parallax-content::before, .parallax .parallax-bottom-left:hover ~ .parallax-content::before { background: linear-gradient(45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); }
  112. .parallax .parallax-bottom-left:focus ~ .parallax-content .parallax-front, .parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front { transform: translate3d(4.5px, -4.5px, 50px) scale(0.95); }
  113. .parallax .parallax-bottom-right { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; bottom: 0; right: 0; }
  114. .parallax .parallax-bottom-right:focus ~ .parallax-content, .parallax .parallax-bottom-right:hover ~ .parallax-content { transform: perspective(1000px) rotateX(-3deg) rotateY(3deg); }
  115. .parallax .parallax-bottom-right:focus ~ .parallax-content::before, .parallax .parallax-bottom-right:hover ~ .parallax-content::before { background: linear-gradient(-45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); }
  116. .parallax .parallax-bottom-right:focus ~ .parallax-content .parallax-front, .parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front { transform: translate3d(-4.5px, -4.5px, 50px) scale(0.95); }
  117. .progress { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #f0f1f4; border: 0; border-radius: 0.1rem; color: #3085EE; height: 0.2rem; position: relative; width: 100%; }
  118. .progress::-webkit-progress-bar { background: transparent; border-radius: 0.1rem; }
  119. .progress::-webkit-progress-value { background: #3085EE; border-radius: 0.1rem; }
  120. .progress::-moz-progress-bar { background: #3085EE; border-radius: 0.1rem; }
  121. .progress:indeterminate { animation: progress-indeterminate 1.5s linear infinite; background: #f0f1f4 linear-gradient(to right, #3085EE 30%, #f0f1f4 30%) top left/150% 150% no-repeat; }
  122. .progress:indeterminate::-moz-progress-bar { background: transparent; }
  123. @keyframes progress-indeterminate { 0% { background-position: 200% 0; }
  124. 100% { background-position: -200% 0; } }
  125. .slider { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; display: block; width: 100%; height: 1.2rem; }
  126. .slider:focus { box-shadow: 0 0 0 0.1rem rgba(48, 133, 238, 0.2); outline: none; }
  127. .slider.tooltip:not([data-tooltip])::after { content: attr(value); }
  128. .slider::-webkit-slider-thumb { -webkit-appearance: none; background: #3085EE; border: 0; border-radius: 50%; height: 0.6rem; margin-top: -0.25rem; transition: transform .2s ease; width: 0.6rem; }
  129. .slider::-moz-range-thumb { background: #3085EE; border: 0; border-radius: 50%; height: 0.6rem; transition: transform .2s ease; width: 0.6rem; }
  130. .slider::-ms-thumb { background: #3085EE; border: 0; border-radius: 50%; height: 0.6rem; transition: transform .2s ease; width: 0.6rem; }
  131. .slider:active::-webkit-slider-thumb { transform: scale(1.25); }
  132. .slider:active::-moz-range-thumb { transform: scale(1.25); }
  133. .slider:active::-ms-thumb { transform: scale(1.25); }
  134. .slider:disabled::-webkit-slider-thumb, .slider.disabled::-webkit-slider-thumb { background: #e7e9ed; transform: scale(1); }
  135. .slider:disabled::-moz-range-thumb, .slider.disabled::-moz-range-thumb { background: #e7e9ed; transform: scale(1); }
  136. .slider:disabled::-ms-thumb, .slider.disabled::-ms-thumb { background: #e7e9ed; transform: scale(1); }
  137. .slider::-webkit-slider-runnable-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; }
  138. .slider::-moz-range-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; }
  139. .slider::-ms-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; }
  140. .slider::-ms-fill-lower { background: #3085EE; }
  141. .timeline .timeline-item { display: -ms-flexbox; display: flex; margin-bottom: 1.2rem; position: relative; }
  142. .timeline .timeline-item::before { background: #e7e9ed; content: ""; height: 100%; left: 11px; position: absolute; top: 1.2rem; width: 2px; }
  143. .timeline .timeline-item .timeline-left { -ms-flex: 0 0 auto; flex: 0 0 auto; }
  144. .timeline .timeline-item .timeline-content { -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 2px 0 2px 0.8rem; }
  145. .timeline .timeline-item .timeline-icon { border-radius: 50%; color: #fff; display: block; height: 1.2rem; text-align: center; width: 1.2rem; }
  146. .timeline .timeline-item .timeline-icon::before { border: 0.1rem solid #3085EE; border-radius: 50%; content: ""; display: block; height: 0.4rem; left: 0.4rem; position: absolute; top: 0.4rem; width: 0.4rem; }
  147. .timeline .timeline-item .timeline-icon.icon-lg { background: #3085EE; line-height: 1rem; }
  148. .timeline .timeline-item .timeline-icon.icon-lg::before { content: none; }
  149. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3RyZS1leHAuY3NzIiwic291cmNlcyI6WyJzcGVjdHJlLWV4cC5zY3NzIiwic3BlY3RyZS9fdmFyaWFibGVzLnNjc3MiLCJzcGVjdHJlL19taXhpbnMuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19hdmF0YXIuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19idXR0b24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2NvbG9yLnNjc3MiLCJzcGVjdHJlL21peGlucy9fbGFiZWwuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3NoYWRvdy5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RleHQuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190b2FzdC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInNwZWN0cmUvX2F1dG9jb21wbGV0ZS5zY3NzIiwic3BlY3RyZS9fY2FsZW5kYXJzLnNjc3MiLCJzcGVjdHJlL19jYXJvdXNlbHMuc2NzcyIsInNwZWN0cmUvX2NvbXBhcmlzb24tc2xpZGVycy5zY3NzIiwic3BlY3RyZS9fZmlsdGVycy5zY3NzIiwic3BlY3RyZS9fbWV0ZXJzLnNjc3MiLCJzcGVjdHJlL19vZmYtY2FudmFzLnNjc3MiLCJzcGVjdHJlL19wYXJhbGxheC5zY3NzIiwic3BlY3RyZS9fcHJvZ3Jlc3Muc2NzcyIsInNwZWN0cmUvX3NsaWRlcnMuc2NzcyIsInNwZWN0cmUvX3RpbWVsaW5lcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwic3BlY3RyZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL21peGluc1wiO1xuXG4vKiEgU3BlY3RyZS5jc3MgRXhwZXJpbWVudGFscyB2I3skdmVyc2lvbn0gfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vcGljdHVyZXBhbjIvc3BlY3RyZSAqL1xuLy8gRXhwZXJpbWVudGFsc1xuQGltcG9ydCBcInNwZWN0cmUvYXV0b2NvbXBsZXRlXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9jYWxlbmRhcnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2Nhcm91c2Vsc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvY29tcGFyaXNvbi1zbGlkZXJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9maWx0ZXJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9tZXRlcnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL29mZi1jYW52YXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3BhcmFsbGF4XCI7XG5AaW1wb3J0IFwic3BlY3RyZS9wcm9ncmVzc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvc2xpZGVyc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvdGltZWxpbmVzXCI7XG4iLCIvLyBDb3JlIHZhcmlhYmxlc1xuJHZlcnNpb246IFwiMC41LjFcIjtcblxuLy8gQ29yZSBmZWF0dXJlc1xuJHJ0bDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIENvcmUgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogIzMwODVFRSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWRhcms6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDM3LjUlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3ItZGFyazogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuXG4vLyBHcmF5IGNvbG9yc1xuJGRhcmstY29sb3I6ICM0NTRkNWQgIWRlZmF1bHQ7XG4kbGlnaHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNDAlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWRhcms6IGRhcmtlbigkZ3JheS1jb2xvciwgMjUlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRncmF5LWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG4kYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2MCUpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1kYXJrOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRiZy1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNjYlKSAhZGVmYXVsdDtcbiRiZy1jb2xvci1kYXJrOiBkYXJrZW4oJGJnLWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kYmctY29sb3ItbGlnaHQ6ICRsaWdodC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQ29udHJvbCBjb2xvcnNcbiRzdWNjZXNzLWNvbG9yOiAjMzJiNjQzICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6ICNmZmI3MDAgIWRlZmF1bHQ7XG4kZXJyb3ItY29sb3I6ICNlODU2MDAgIWRlZmF1bHQ7XG5cbi8vIE90aGVyIGNvbG9yc1xuJGNvZGUtY29sb3I6ICNlMDY4NzAgIWRlZmF1bHQ7XG4kaGlnaGxpZ2h0LWNvbG9yOiAjZmZlOWIzICFkZWZhdWx0O1xuJGJvZHktYmc6ICRiZy1jb2xvci1saWdodCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yLWRhcms6IGRhcmtlbigkbGluay1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4vLyBGb250c1xuLy8gQ3JlZGl0OiBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE1LzExL3VzaW5nLXN5c3RlbS11aS1mb250cy1wcmFjdGljYWwtZ3VpZGUvXG4kYmFzZS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvICFkZWZhdWx0O1xuJG1vbm8tZm9udC1mYW1pbHk6IFwiU0YgTW9ub1wiLCBcIlNlZ29lIFVJIE1vbm9cIiwgXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZhbGxiYWNrLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kY2prLXpoLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFIZWlcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay1qcC1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiSGlyYWdpbm8gU2Fuc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIll1IEdvdGhpY1wiLCBZdUdvdGhpYywgTWVpcnlvLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLWtvLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJNYWxndW4gR290aGljXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBVbml0IHNpemVzXG4kdW5pdC1vOiAuMDVyZW0gIWRlZmF1bHQ7XG4kdW5pdC1oOiAuMXJlbSAhZGVmYXVsdDtcbiR1bml0LTE6IC4ycmVtICFkZWZhdWx0O1xuJHVuaXQtMjogLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC0zOiAuNnJlbSAhZGVmYXVsdDtcbiR1bml0LTQ6IC44cmVtICFkZWZhdWx0O1xuJHVuaXQtNTogMXJlbSAhZGVmYXVsdDtcbiR1bml0LTY6IDEuMnJlbSAhZGVmYXVsdDtcbiR1bml0LTc6IDEuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTg6IDEuNnJlbSAhZGVmYXVsdDtcbiR1bml0LTk6IDEuOHJlbSAhZGVmYXVsdDtcbiR1bml0LTEwOiAycmVtICFkZWZhdWx0O1xuJHVuaXQtMTI6IDIuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTE2OiAzLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIEZvbnQgc2l6ZXNcbiRodG1sLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRodG1sLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IC43cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogLjlyZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFNpemVzXG4kbGF5b3V0LXNwYWNpbmc6ICR1bml0LTIgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctc206ICR1bml0LTEgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctbGc6ICR1bml0LTQgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogJHVuaXQtaCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6ICR1bml0LW8gIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLWxnOiAkdW5pdC1oICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZTogJHVuaXQtOSAhZGVmYXVsdDtcbiRjb250cm9sLXNpemUtc206ICR1bml0LTcgIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplLWxnOiAkdW5pdC0xMCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteDogJHVuaXQtMiAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1zbTogJHVuaXQtMiAqIC43NSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1sZzogJHVuaXQtMiAqIDEuNSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteTogKCRjb250cm9sLXNpemUgLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXktc206ICgkY29udHJvbC1zaXplLXNtIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15LWxnOiAoJGNvbnRyb2wtc2l6ZS1sZyAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLWljb24tc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG5cbiRjb250cm9sLXdpZHRoLXhzOiAxODBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXNtOiAzMjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLW1kOiA2NDBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHNcbiRzaXplLXhzOiA0ODBweCAhZGVmYXVsdDtcbiRzaXplLXNtOiA2MDBweCAhZGVmYXVsdDtcbiRzaXplLW1kOiA4NDBweCAhZGVmYXVsdDtcbiRzaXplLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRzaXplLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG4kc2l6ZS0yeDogMTQ0MHB4ICFkZWZhdWx0O1xuXG4kcmVzcG9uc2l2ZS1icmVha3BvaW50OiAkc2l6ZS14cyAhZGVmYXVsdDtcblxuLy8gWi1pbmRleFxuJHppbmRleC0wOiAxICFkZWZhdWx0O1xuJHppbmRleC0xOiAxMDAgIWRlZmF1bHQ7XG4kemluZGV4LTI6IDIwMCAhZGVmYXVsdDtcbiR6aW5kZXgtMzogMzAwICFkZWZhdWx0O1xuJHppbmRleC00OiA0MDAgIWRlZmF1bHQ7XG4iLCIvLyBNaXhpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYXZhdGFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvblwiO1xuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvclwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbFwiO1xuQGltcG9ydCBcIm1peGlucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90b2FzdFwiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG4iLCIvLyBBdmF0YXIgbWl4aW5cbkBtaXhpbiBhdmF0YXItYmFzZSgkc2l6ZTogJHVuaXQtOCkge1xuICBmb250LXNpemU6ICRzaXplIC8gMjtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnQgbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAzJSk7XG4gIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCRjb2xvcik7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvciwgMiUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCA3JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJi5sb2FkaW5nIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRsaWdodC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCRjb2xvcik7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3IsIDUwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAyJSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICYubG9hZGluZyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4IG1peGluXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBiZy1jb2xvci12YXJpYW50KCRuYW1lOiBcIi5iZy1wcmltYXJ5XCIsICRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgI3skbmFtZX0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcblxuICAgIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPCA2MCkge1xuICAgICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dCBjb2xvciB1dGlsaXR5IG1peGluXG5AbWl4aW4gdGV4dC1jb2xvci12YXJpYW50KCRuYW1lOiBcIi50ZXh0LXByaW1hcnlcIiwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAjeyRuYW1lfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIGEjeyRuYW1lfSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYWJlbCBiYXNlIHN0eWxlXG5AbWl4aW4gbGFiZWwtYmFzZSgpIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IC4xcmVtIC4xNXJlbTtcbn1cblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yOiAkbGlnaHQtY29sb3IsICRiZy1jb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gTWFyZ2luIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBtYXJnaW4tdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5tLSN7JGlkfSB7XG4gICAgbWFyZ2luOiAkc2l6ZTtcbiAgfVxuXG4gIC5tYi0jeyRpZH0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzaXplO1xuICB9XG5cbiAgLm1sLSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplO1xuICB9XG5cbiAgLm1yLSN7JGlkfSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gIC5tdC0jeyRpZH0ge1xuICAgIG1hcmdpbi10b3A6ICRzaXplO1xuICB9XG5cbiAgLm14LSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplO1xuICAgIG1hcmdpbi1yaWdodDogJHNpemU7XG4gIH1cblxuICAubXktI3skaWR9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZTtcbiAgfVxufVxuXG4vLyBQYWRkaW5nIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBwYWRkaW5nLXZhcmlhbnQoJGlkOiAxLCAkc2l6ZTogJHVuaXQtMSkge1xuICAucC0jeyRpZH0ge1xuICAgIHBhZGRpbmc6ICRzaXplO1xuICB9XG5cbiAgLnBiLSN7JGlkfSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzaXplO1xuICB9XG5cbiAgLnBsLSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZTtcbiAgfVxuXG4gIC5wci0jeyRpZH0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplO1xuICB9XG5cbiAgLnB0LSN7JGlkfSB7XG4gICAgcGFkZGluZy10b3A6ICRzaXplO1xuICB9XG5cbiAgLnB4LSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2l6ZTtcbiAgfVxuICBcbiAgLnB5LSN7JGlkfSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzaXplO1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZTtcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50IGZvY3VzIHNoYWRvd1xuQG1peGluIGNvbnRyb2wtc2hhZG93KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgLjFyZW0gcmdiYSgkY29sb3IsIC4yKTtcbn1cblxuLy8gU2hhZG93IG1peGluXG5AbWl4aW4gc2hhZG93LXZhcmlhbnQoJG9mZnNldCkge1xuICBib3gtc2hhZG93OiAwICRvZmZzZXQgKCRvZmZzZXQgKyAuMDVyZW0pICogMiByZ2JhKCRkYXJrLWNvbG9yLCAuMyk7XG59XG4iLCIvLyBUZXh0IEVsbGlwc2lzXG5AbWl4aW4gdGV4dC1lbGxpcHNpcygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBUb2FzdCB2YXJpYW50IG1peGluXG5AbWl4aW4gdG9hc3QtdmFyaWFudCgkY29sb3I6ICRkYXJrLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuOSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gQ29tcG9uZW50IHRyYW5zaXRpb25cbkBtaXhpbiBjb250cm9sLXRyYW5zaXRpb24oKSB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbn1cbiIsIi8vIEF1dG9jb21wbGV0ZVxuLmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5mb3JtLWF1dG9jb21wbGV0ZS1pbnB1dCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogJHVuaXQtODtcbiAgICBwYWRkaW5nOiAkdW5pdC1oO1xuXG4gICAgJi5pcy1mb2N1c2VkIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCk7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC5mb3JtLWlucHV0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBoZWlnaHQ6ICR1bml0LTY7XG4gICAgICBsaW5lLWhlaWdodDogJHVuaXQtNDtcbiAgICAgIG1hcmdpbjogJHVuaXQtaDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmF1dG9jb21wbGV0ZS1vbmVsaW5lIHtcbiAgICAuZm9ybS1hdXRvY29tcGxldGUtaW5wdXQge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cblxuICAgIC5jaGlwIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FsZW5kYXJzXG4uY2FsZW5kYXIge1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDI4MHB4O1xuXG4gIC5jYWxlbmRhci1uYXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBwYWRkaW5nOiAkbGF5b3V0LXNwYWNpbmc7XG4gIH1cblxuICAuY2FsZW5kYXItaGVhZGVyLFxuICAuY2FsZW5kYXItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nIDA7XG5cbiAgICAuY2FsZW5kYXItZGF0ZSB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjglOyAvLyA3IGNhbGVuZGFyLWl0ZW1zIGVhY2ggcm93XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4JTtcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNhbGVuZGFyLWJvZHkge1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICB9XG5cbiAgLmNhbGVuZGFyLWRhdGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAkdW5pdC0xO1xuXG4gICAgLmRhdGUtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBjb250cm9sLXRyYW5zaXRpb24oKTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgICAgaGVpZ2h0OiAkdW5pdC03O1xuICAgICAgbGluZS1oZWlnaHQ6ICR1bml0LTU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogJHVuaXQtaDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6ICR1bml0LTc7XG5cbiAgICAgICYuZGF0ZS10b2RheSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3ItbGlnaHQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA1JSk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGVuZGFyIGJhZGdlIHN1cHBvcnRcbiAgICAgICYuYmFkZ2Uge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQgLmRhdGUtaXRlbSxcbiAgICAmLmRpc2FibGVkIC5jYWxlbmRhci1ldmVudCxcbiAgICAuZGF0ZS1pdGVtOmRpc2FibGVkLFxuICAgIC5jYWxlbmRhci1ldmVudDpkaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAuMjU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItcmFuZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogJHVuaXQtNztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmLnJhbmdlLXN0YXJ0IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5yYW5nZS1lbmQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0ZS1pdGVtIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmNhbGVuZGFyLWxnIHtcbiAgICAuY2FsZW5kYXItYm9keSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuY2FsZW5kYXItZGF0ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogNS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDduKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rNykge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0ZS1pdGVtIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgaGVpZ2h0OiAkdW5pdC03O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbGF5b3V0LXNwYWNpbmctc207XG4gICAgICBtYXJnaW4tdG9wOiAkbGF5b3V0LXNwYWNpbmctc207XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLXJhbmdlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMTlweDtcbiAgICAgIH1cbiAgICAgICYucmFuZ2Utc3RhcnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmFuZ2UtZW5kIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMTlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWxlbmRhci1ldmVudHMge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nLXNtO1xuICAgIH1cblxuICAgIC5jYWxlbmRhci1ldmVudCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAkdW5pdC1oIGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogM3B4IDRweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENhcm91c2Vsc1xuLmNhcm91c2VsIHtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB6LWluZGV4OiAkemluZGV4LTA7XG5cbiAgLmNhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIGFuaW1hdGlvbjogY2Fyb3VzZWwtc2xpZGVvdXQgMXMgZWFzZS1pbi1vdXQgMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaXRlbS1wcmV2LFxuICAgICAgICAuaXRlbS1uZXh0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tcHJldixcbiAgICAuaXRlbS1uZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXktY29sb3ItbGlnaHQsIC4yNSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoJGdyYXktY29sb3ItbGlnaHQsIC41KTtcbiAgICAgIGNvbG9yOiAkZ3JheS1jb2xvci1saWdodDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtMTtcbiAgICB9XG4gICAgLml0ZW0tcHJldiB7XG4gICAgICBsZWZ0OiAxcmVtO1xuICAgIH1cbiAgICAuaXRlbS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJvdXNlbC1sb2NhdG9yIHtcbiAgICAmOm50aC1vZi10eXBlKDEpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtY29udGFpbmVyIC5jYXJvdXNlbC1pdGVtOm50aC1vZi10eXBlKDEpLFxuICAgICY6bnRoLW9mLXR5cGUoMik6Y2hlY2tlZCB+IC5jYXJvdXNlbC1jb250YWluZXIgLmNhcm91c2VsLWl0ZW06bnRoLW9mLXR5cGUoMiksXG4gICAgJjpudGgtb2YtdHlwZSgzKTpjaGVja2VkIH4gLmNhcm91c2VsLWNvbnRhaW5lciAuY2Fyb3VzZWwtaXRlbTpudGgtb2YtdHlwZSgzKSxcbiAgICAmOm50aC1vZi10eXBlKDQpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtY29udGFpbmVyIC5jYXJvdXNlbC1pdGVtOm50aC1vZi10eXBlKDQpIHtcbiAgICAgIGFuaW1hdGlvbjogY2Fyb3VzZWwtc2xpZGVpbiAuNzVzIGVhc2UtaW4tb3V0IDE7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogJHppbmRleC0xO1xuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDEpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtbmF2IC5uYXYtaXRlbTpudGgtb2YtdHlwZSgxKSxcbiAgICAmOm50aC1vZi10eXBlKDIpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtbmF2IC5uYXYtaXRlbTpudGgtb2YtdHlwZSgyKSxcbiAgICAmOm50aC1vZi10eXBlKDMpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtbmF2IC5uYXYtaXRlbTpudGgtb2YtdHlwZSgzKSxcbiAgICAmOm50aC1vZi10eXBlKDQpOmNoZWNrZWQgfiAuY2Fyb3VzZWwtbmF2IC5uYXYtaXRlbTpudGgtb2YtdHlwZSg0KSB7XG4gICAgICBjb2xvcjogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLW5hdiB7XG4gICAgYm90dG9tOiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMTByZW07XG4gICAgei1pbmRleDogJHppbmRleC0xO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRncmF5LWNvbG9yLWxpZ2h0LCAuNSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgaGVpZ2h0OiAkdW5pdC04O1xuICAgICAgbWFyZ2luOiAkdW5pdC0xO1xuICAgICAgbWF4LXdpZHRoOiAyLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHVuaXQtaDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC41cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjYXJvdXNlbC1zbGlkZWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjYXJvdXNlbC1zbGlkZW91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgY29tcGFyaXNvbiBzbGlkZXJcbi8vIENyZWRpdDogaHR0cDovL2NvZGVwZW4uaW8vc29saXBzaXN0YWNwL3Blbi9HcG1hcVxuLmNvbXBhcmlzb24tc2xpZGVyIHtcbiAgaGVpZ2h0OiA1MHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLmNvbXBhcmlzb24tYmVmb3JlLFxuICAuY29tcGFyaXNvbi1hZnRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29tcGFyaXNvbi1iZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAuY29tcGFyaXNvbi1sYWJlbCB7XG4gICAgICByaWdodDogJHVuaXQtNDtcbiAgICB9XG4gIH1cblxuICAuY29tcGFyaXNvbi1hZnRlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogJHVuaXQtNDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2hhZG93OiAwIC01cHgsIDAgNXB4O1xuICAgICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAkdW5pdC0yO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IDNweDtcbiAgICB9XG5cbiAgICAuY29tcGFyaXNvbi1sYWJlbCB7XG4gICAgICBsZWZ0OiAkdW5pdC00O1xuICAgIH1cbiAgfVxuXG4gIC5jb21wYXJpc29uLXJlc2l6ZXIge1xuICAgIGFuaW1hdGlvbjogZmlyc3QtcnVuIDEuNXMgMSBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICBoZWlnaHQ6ICR1bml0LTQ7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAkdW5pdC00O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmVzaXplOiBob3Jpem9udGFsO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZVkoMzApO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgLmNvbXBhcmlzb24tbGFiZWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhcmstY29sb3IsIC41KTtcbiAgICBib3R0b206ICR1bml0LTQ7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdW5pdC0xICR1bml0LTI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmlyc3QtcnVuIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDI1JSB7XG4gICAgd2lkdGg6ICR1bml0LTEyO1xuICB9XG4gIDUwJSB7XG4gICAgd2lkdGg6ICR1bml0LTQ7XG4gIH1cbiAgNzUlIHtcbiAgICB3aWR0aDogJHVuaXQtNjtcbiAgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuIiwiLy8gRmlsdGVycyBcbi8vIFRoZSBudW1iZXIgb2YgZmlsdGVyIG9wdGlvbnMgXG4kZmlsdGVyLW51bWJlcjogOCAhZGVmYXVsdDtcblxuJWZpbHRlci1jaGVja2VkLW5hdiB7IFxuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbn1cblxuJWZpbHRlci1jaGVja2VkLWJvZHkgeyBcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpbHRlciB7XG4gIC5maWx0ZXItbmF2IHtcbiAgICBtYXJnaW46ICRsYXlvdXQtc3BhY2luZyAwO1xuICB9XG5cbiAgLmZpbHRlci1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5maWx0ZXItdGFnIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkZmlsdGVyLW51bWJlcikge1xuICAgICAgJiN0YWctI3skaX06Y2hlY2tlZCB+IC5maWx0ZXItbmF2IC5jaGlwW2Zvcj1cInRhZy0jeyRpfVwiXSB7XG4gICAgICAgIEBleHRlbmQgJWZpbHRlci1jaGVja2VkLW5hdjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkZmlsdGVyLW51bWJlcikge1xuICAgICAgJiN0YWctI3skaX06Y2hlY2tlZCB+IC5maWx0ZXItYm9keSAuZmlsdGVyLWl0ZW06bm90KFtkYXRhLXRhZ349XCJ0YWctI3skaX1cIl0pIHtcbiAgICAgICAgQGV4dGVuZCAlZmlsdGVyLWNoZWNrZWQtYm9keTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1ldGVyc1xuLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2h0bWw1LW1ldGVyLWVsZW1lbnQvXG4ubWV0ZXIge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkdW5pdC00O1xuXG4gICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjotd2Via2l0LW1ldGVyLWJhcixcbiAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlLFxuICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUsXG4gICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1tZXRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgfVxuXG4gICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gIH1cblxuICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nLWNvbG9yO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgYmFja2dyb3VuZDogJGVycm9yLWNvbG9yO1xuICB9XG5cbiAgJjo6LW1vei1tZXRlci1iYXIsXG4gICY6LW1vei1tZXRlci1vcHRpbXVtLFxuICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW0sXG4gICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW0ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgfVxuXG4gICY6LW1vei1tZXRlci1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nLWNvbG9yO1xuICB9XG5cbiAgJjotbW96LW1ldGVyLXN1Yi1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRlcnJvci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gT2ZmIGNhbnZhcyBtZW51c1xuJG9mZi1jYW52YXMtYnJlYWtwb2ludDogJHNpemUtbGcgIWRlZmF1bHQ7XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBub3dyYXA7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAub2ZmLWNhbnZhcy10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRsYXlvdXQtc3BhY2luZztcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgICBAaWYgJHJ0bCA9PSB0cnVlIHtcbiAgICAgIHJpZ2h0OiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsZWZ0OiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgLm9mZi1jYW52YXMtc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGJvdHRvbTogMDtcbiAgICBtaW4td2lkdGg6IDEwcmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMjtcbiAgICBAaWYgJHJ0bCA9PSB0cnVlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6ICRsYXlvdXQtc3BhY2luZyAkbGF5b3V0LXNwYWNpbmcgJGxheW91dC1zcGFjaW5nIDRyZW07XG4gIH1cblxuICAub2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLWNvbG9yLCAuMSk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy1zaWRlYmFyIHtcbiAgICAmOnRhcmdldCxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgJjp0YXJnZXQgfiAub2ZmLWNhbnZhcy1vdmVybGF5LFxuICAgICYuYWN0aXZlIH4gLm9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBsYXlvdXRcbkBtZWRpYSAobWluLXdpZHRoOiAkb2ZmLWNhbnZhcy1icmVha3BvaW50KSB7XG4gIC5vZmYtY2FudmFzIHtcbiAgICAmLm9mZi1jYW52YXMtc2lkZWJhci1zaG93IHtcbiAgICAgIC5vZmYtY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gIFxuICAgICAgLm9mZi1jYW52YXMtc2lkZWJhciB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhcmFsbGF4XG4kcGFyYWxsYXgtZGVnOiAzZGVnICFkZWZhdWx0O1xuJHBhcmFsbGF4LW9mZnNldDogNC41cHggIWRlZmF1bHQ7XG4kcGFyYWxsYXgtb2Zmc2V0LXo6IDUwcHggIWRlZmF1bHQ7XG4kcGFyYWxsYXgtcGVyc3BlY3RpdmU6IDEwMDBweCAhZGVmYXVsdDtcbiRwYXJhbGxheC1zY2FsZTogLjk1ICFkZWZhdWx0O1xuJHBhcmFsbGF4LWZhZGUtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjM1KSAhZGVmYXVsdDtcblxuLy8gTWl4aW46IFBhcmFsbGF4IGRpcmVjdGlvblxuQG1peGluIHBhcmFsbGF4LWRpcigpIHtcbiAgaGVpZ2h0OiA1MCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUwJTtcbiAgei1pbmRleDogJHppbmRleC0xO1xufVxuXG4ucGFyYWxsYXgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIC5wYXJhbGxheC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctdmFyaWFudCgxcmVtKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkcGFyYWxsYXgtcGVyc3BlY3RpdmUpO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAucGFyYWxsYXgtZnJvbnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoJGRhcmstY29sb3IsIC43NSk7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigkcGFyYWxsYXgtb2Zmc2V0LXopIHNjYWxlKCRwYXJhbGxheC1zY2FsZSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgfVxuXG4gIC5wYXJhbGxheC10b3AtbGVmdCB7XG4gICAgQGluY2x1ZGUgcGFyYWxsYXgtZGlyKCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAmOmZvY3VzIH4gLnBhcmFsbGF4LWNvbnRlbnQsXG4gICAgJjpob3ZlciB+IC5wYXJhbGxheC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJHBhcmFsbGF4LXBlcnNwZWN0aXZlKSByb3RhdGVYKCRwYXJhbGxheC1kZWcpIHJvdGF0ZVkoLSRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcGFyYWxsYXgtZmFkZS1jb2xvciAwJSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICAgIH1cblxuICAgICAgLnBhcmFsbGF4LWZyb250IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkcGFyYWxsYXgtb2Zmc2V0LCAkcGFyYWxsYXgtb2Zmc2V0LCAkcGFyYWxsYXgtb2Zmc2V0LXopIHNjYWxlKCRwYXJhbGxheC1zY2FsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhcmFsbGF4LXRvcC1yaWdodCB7XG4gICAgQGluY2x1ZGUgcGFyYWxsYXgtZGlyKCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuXG4gICAgJjpmb2N1cyB+IC5wYXJhbGxheC1jb250ZW50LFxuICAgICY6aG92ZXIgfiAucGFyYWxsYXgtY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRwYXJhbGxheC1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkcGFyYWxsYXgtZGVnKSByb3RhdGVZKCRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgJHBhcmFsbGF4LWZhZGUtY29sb3IgMCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5wYXJhbGxheC1mcm9udCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWxsYXgtYm90dG9tLWxlZnQge1xuICAgIEBpbmNsdWRlIHBhcmFsbGF4LWRpcigpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjpmb2N1cyB+IC5wYXJhbGxheC1jb250ZW50LFxuICAgICY6aG92ZXIgfiAucGFyYWxsYXgtY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRwYXJhbGxheC1wZXJzcGVjdGl2ZSkgcm90YXRlWCgtJHBhcmFsbGF4LWRlZykgcm90YXRlWSgtJHBhcmFsbGF4LWRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHBhcmFsbGF4LWZhZGUtY29sb3IgMCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5wYXJhbGxheC1mcm9udCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHBhcmFsbGF4LW9mZnNldCwgLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWxsYXgtYm90dG9tLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBwYXJhbGxheC1kaXIoKTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmOmZvY3VzIH4gLnBhcmFsbGF4LWNvbnRlbnQsXG4gICAgJjpob3ZlciB+IC5wYXJhbGxheC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJHBhcmFsbGF4LXBlcnNwZWN0aXZlKSByb3RhdGVYKC0kcGFyYWxsYXgtZGVnKSByb3RhdGVZKCRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAkcGFyYWxsYXgtZmFkZS1jb2xvciAwJSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICAgIH1cblxuICAgICAgLnBhcmFsbGF4LWZyb250IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJHBhcmFsbGF4LW9mZnNldCwgLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzXG4vLyBDcmVkaXQ6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaHRtbDUtcHJvZ3Jlc3MtZWxlbWVudC9cbi5wcm9ncmVzcyB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGhlaWdodDogJHVuaXQtMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1pbmRldGVybWluYXRlIDEuNXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHByaW1hcnktY29sb3IgMzAlLCAkYmctY29sb3ItZGFyayAzMCUpIHRvcCBsZWZ0IC8gMTUwJSAxNTAlIG5vLXJlcGVhdDtcblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWluZGV0ZXJtaW5hdGUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gIH1cbn1cbiIsIi8vIFNsaWRlcnNcbi8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zdHlsaW5nLWNyb3NzLWJyb3dzZXItY29tcGF0aWJsZS1yYW5nZS1pbnB1dHMtY3NzL1xuLnNsaWRlciB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHVuaXQtNjtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmLnRvb2x0aXA6bm90KFtkYXRhLXRvb2x0aXBdKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogYXR0cih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2xpZGVyIFRodW1iXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6ICR1bml0LTM7XG4gICAgbWFyZ2luLXRvcDogLSgkdW5pdC0zIC0gJHVuaXQtaCkgLyAyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICB3aWR0aDogJHVuaXQtMztcbiAgfVxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogJHVuaXQtMztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgd2lkdGg6ICR1bml0LTM7XG4gIH1cbiAgJjo6LW1zLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogJHVuaXQtMztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgd2lkdGg6ICR1bml0LTM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgIH1cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1jb2xvci1saWdodDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNsaWRlciBUcmFja1xuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgaGVpZ2h0OiAkdW5pdC1oO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogJHVuaXQtaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmOjotbXMtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogJHVuaXQtaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cbiIsIi8vIFRpbWVsaW5lc1xuLnRpbWVsaW5lIHtcbiAgLnRpbWVsaW5lLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHVuaXQtNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJHVuaXQtNjtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWxlZnQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBwYWRkaW5nOiAycHggMCAycHggJGxheW91dC1zcGFjaW5nLWxnO1xuICAgIH1cblxuICAgIC50aW1lbGluZS1pY29uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJHVuaXQtNjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAkdW5pdC02O1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoLWxnIHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICR1bml0LTI7XG4gICAgICAgIGxlZnQ6ICR1bml0LTI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAkdW5pdC0yO1xuICAgICAgICB3aWR0aDogJHVuaXQtMjtcbiAgICAgIH1cblxuICAgICAgJi5pY29uLWxnIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLHNGQUE0RjtBYUg1RixBQUFBLGtCQUFrQixDQUFDLEVBQ2pCLFFBQVEsRUFBRSxRQUFRLEdBNENuQjs7QUE3Q0QsQUFHRSxrQkFIZ0IsQ0FHaEIsd0JBQXdCLENBQUMsRUFDdkIsYUFBYSxFQUFFLFVBQVUsRUFDekIsT0FBTyxFQUFFLElBQUksRUFDYixTQUFTLEVBQUUsSUFBSSxFQUNmLE1BQU0sRUFBRSxJQUFJLEVBQ1osVUFBVSxFWm1ETCxNQUFNLEVZbERYLE9BQU8sRVowQ0YsTUFBSyxHWXpCWDs7QUExQkgsQUFXSSxrQkFYYyxDQUdoQix3QkFBd0IsQUFRckIsV0FBVyxDQUFDLEVKVmYsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUssQ1JLVCx1QkFBTyxFWU9qQixZQUFZLEVaUEYsT0FBTyxHWVFsQjs7QUFkTCxBQWdCSSxrQkFoQmMsQ0FHaEIsd0JBQXdCLENBYXRCLFdBQVcsQ0FBQyxFQUNWLFlBQVksRUFBRSxXQUFXLEVBQ3pCLFVBQVUsRUFBRSxJQUFJLEVBQ2hCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLElBQUksRUFBRSxRQUFRLEVBQ2QsTUFBTSxFWm9DSCxNQUFNLEVZbkNULFdBQVcsRVppQ1IsTUFBSyxFWWhDUixNQUFNLEVaNEJILE1BQUssRVkzQlIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUF6QkwsQUE0QkUsa0JBNUJnQixDQTRCaEIsS0FBSyxDQUFDLEVBQ0osSUFBSSxFQUFFLENBQUMsRUFDUCxRQUFR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 */