theme.css 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. @font-face { font-family: "lato"; src: url("../fonts/lato/Lato-Regular.eot"); src: url("../fonts/lato/Lato-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/lato/Lato-Regular.woff") format("woff"), url("../fonts/lato/Lato-Regular.ttf") format("truetype"), url("../fonts/lato/Lato-Regular.svg#lato") format("svg"); }
  2. @font-face { font-family: "syne"; src: url("../fonts/syne/Syne-Bold.eot"); src: url("../fonts/syne/Syne-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/syne/Syne-Bold.woff") format("woff"), url("../fonts/syne/Syne-Bold.ttf") format("truetype"), url("../fonts/syne/Syne-Bold.svg#syne") format("svg"); }
  3. @font-face { font-family: "Avara"; src: url("../fonts/avara/Avara-Bold_Italic_web.eot"); src: url("../fonts/avara/Avara-Bold_Italic_web.eot?#iefix") format("embedded-opentype"), url("../fonts/avara/Avara-Bold_Italic_web.woff") format("woff"), url("../fonts/avara/Avara-Bold_Italic_web.ttf") format("truetype"), url("../fonts/avara/Avara-Bold_Italic_web.svg#Avara") format("svg"); }
  4. @font-face { font-family: "playfairdisplay-regularitalic"; src: url("../fonts/playfair/playfairdisplay-regularitalic.eot"); src: url("../fonts/playfair/playfairdisplay-regularitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/playfair/playfairdisplay-regularitalic.woff") format("woff"), url("../fonts/playfair/playfairdisplay-regularitalic.ttf") format("truetype"), url("../fonts/playfair/playfairdisplay-regularitalic.svg#playfairdisplay-regularitalic") format("svg"); }
  5. /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
  6. /* Document ========================================================================== */
  7. /** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
  8. html { margin: 0; padding: 0; line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ font-size: 16px; }
  9. /* Sections ========================================================================== */
  10. /** Remove the margin in all browsers. */
  11. body { margin: 0; padding: 0; }
  12. /** Render the `main` element consistently in IE. */
  13. main { display: block; }
  14. /** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
  15. h1 { font-size: auto; margin: 0; }
  16. /* Grouping content ========================================================================== */
  17. /** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
  18. hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
  19. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  20. pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  21. /* Text-level semantics ========================================================================== */
  22. /** Remove the gray background on active links in IE 10. */
  23. p { margin: 0; }
  24. ul { list-style: none; }
  25. ul, li { margin: 0; padding: 0; }
  26. a { background-color: transparent; color: black; text-decoration: none; }
  27. /** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
  28. abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }
  29. /** Add the correct font weight in Chrome, Edge, and Safari. */
  30. b, strong { font-weight: bolder; }
  31. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  32. code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  33. /** Add the correct font size in all browsers. */
  34. small { font-size: 80%; }
  35. /** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
  36. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  37. sub { bottom: -0.25em; }
  38. sup { top: -0.5em; }
  39. /* Embedded content ========================================================================== */
  40. /** Remove the border on images inside links in IE 10. */
  41. img { border-style: none; width: 100%; height: 100%; vertical-align: bottom; }
  42. /* Forms ========================================================================== */
  43. /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
  44. button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }
  45. /** Show the overflow in IE. 1. Show the overflow in Edge. */
  46. button, input { /* 1 */ overflow: visible; }
  47. /** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
  48. button, select { /* 1 */ text-transform: none; }
  49. /** Correct the inability to style clickable types in iOS and Safari. */
  50. button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
  51. /** Remove the inner border and padding in Firefox. */
  52. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
  53. /** Restore the focus styles unset by the previous rule. */
  54. button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
  55. /** Correct the padding in Firefox. */
  56. fieldset { padding: 0.35em 0.75em 0.625em; }
  57. /** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
  58. legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
  59. /** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
  60. progress { vertical-align: baseline; }
  61. /** Remove the default vertical scrollbar in IE 10+. */
  62. textarea { overflow: auto; }
  63. /** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
  64. [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
  65. /** Correct the cursor style of increment and decrement buttons in Chrome. */
  66. [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
  67. /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
  68. [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
  69. /** Remove the inner padding in Chrome and Safari on macOS. */
  70. [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
  71. /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
  72. ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
  73. /* Interactive ========================================================================== */
  74. /* Add the correct display in Edge, IE 10+, and Firefox. */
  75. details { display: block; }
  76. /* Add the correct display in all browsers. */
  77. summary { display: list-item; }
  78. /* Misc ========================================================================== */
  79. /** Add the correct display in IE 10+. */
  80. template { display: none; }
  81. /** Add the correct display in IE 10. */
  82. [hidden] { display: none; }
  83. h1, h2, h3, p, ul, li, a, span { font-family: "lato"; font-weight: lighter; }
  84. header a { font-size: 3.5rem; line-height: 4rem; }
  85. .home p { font-size: 3.5rem; line-height: 4rem; }
  86. .home #text_figli strong { position: relative; }
  87. .home #text_figli strong::after { display: block; position: absolute; content: ""; width: 100%; height: 1px; background: black; bottom: 0; }
  88. .home #text_figli a { position: relative; }
  89. .home #text_figli a#publique { font-family: "playfairdisplay-regularitalic"; }
  90. .home #text_figli a#sociale { font-family: "syne"; }
  91. .home #text_figli a#culturelle { font-family: "Avara"; }
  92. #item .content-title { display: -ms-flexbox; display: flex; margin: 0.5rem 0; }
  93. #item .content-title > * { margin-right: 0.5rem; font-size: 1.15rem; font-weight: bold; }
  94. #item .content-title h2 { margin: 0 0.5rem 0 0; }
  95. #item .content-title h2 a { font-weight: bold; }
  96. a.publique, span.publique { font-family: "playfairdisplay-regularitalic"; }
  97. a.sociale, span.sociale { font-family: "syne"; }
  98. a.culturelle, span.culturelle { font-family: "Avara"; }
  99. .sidebar-right ul, .sidebar-right a { font-size: 0.8rem; line-height: 1.25rem; }
  100. .other_projets h3 { font-size: 3.5rem; margin: 0; }
  101. .card h2 { margin: 0; font-size: 1rem; }
  102. header { position: fixed; top: 0; left: 0; margin: 0 0 0 0.5rem; padding: 0.5rem 0; width: calc( 80% - 0.5rem); border-bottom: 1px solid black; }
  103. * { box-sizing: border-box; }
  104. html, body, header { background: #f9f9f9fe; }
  105. body #start { width: calc( 80% - 0.5rem); margin: 0.5rem auto auto 0.5rem; }
  106. body #start #text_figli p a { position: relative; }
  107. body #start #text_figli p a.marg { margin-right: 0.5rem; }
  108. body #start #text_figli .card { width: calc((100% / 3) - ( 0.5rem * 2)); height: auto; display: inline-block; vertical-align: top; line-height: 0; margin-right: 0.5rem; position: relative; margin-top: 0.5rem; }
  109. body #start #text_figli .card .card-header { display: none; }
  110. body #start #text_figli .card .card-header > * { font-size: 0.8rem; line-height: 1rem; margin-right: 0.5rem; }
  111. body #start #text_figli .card:hover .card-header { width: 100%; background: rgba(255, 255, 255, 0.5); padding: 0.5rem; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: absolute; transform: translateY(-100%); }
  112. body #start #text_figli .card:last-of-type { vertical-align: baseline !important; }
  113. body #start #text_figli .card #item { width: calc( 307% - 0.5rem); }
  114. body:not(.home) #start { margin-top: calc( 2rem + 4rem); }
  115. .sidebar-right { position: fixed; width: 20%; height: 100%; right: 0; top: 0; display: -ms-inline-flexbox; display: inline-flex; }
  116. .sidebar-right .list-projets { margin: auto; }
  117. .sidebar-right .list-projets ul { margin: 0.5rem 0.5rem 0px 0; text-align: right; }
  118. .sidebar-right .list-projets ul:nth-child(1) { margin-top: 0; }
  119. .sidebar-right .list-projets ul li:hover a { color: black; }
  120. .sidebar-right .list-projets ul a { color: grey; }
  121. #item_list { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
  122. #item_list .card { width: calc(( 100% / 2 ) - (1rem / 2)); }
  123. #item_list .card:nth-child(odd) { margin-right: 1rem; }
  124. #item_list .card .card-header { display: -ms-inline-flexbox; display: inline-flex; width: 100%; margin-bottom: 0.5rem; }
  125. #item_list .card .card-header > * { margin-right: 0.5rem; }
  126. #item .e-content { columns: 300px 2; margin-bottom: 0.5rem; }
  127. #item .card-image img { margin-bottom: 0.5rem; }
  128. .other_projets { border-top: 1px solid black; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 1rem; margin-bottom: 1rem; }
  129. .other_projets h3 { margin: 1rem 0 0.5rem 0; width: 100%; }
  130. .other_projets .card { width: calc(( 100% / 3 ) - (1rem / 3)); }
  131. .other_projets .card:nth-child(-1n+3) { margin-right: 0.5rem; }
  132. .other_projets .card .card-header { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  133. .other_projets .card .card-header > * { margin-right: 0.5rem; }
  134. @media screen and (max-width: 414px) { header a { font-size: 1.5rem; line-height: 2rem; }
  135. .home p { font-size: 1.5rem !important; line-height: 2rem !important; }
  136. .other_projets h3 { font-size: 1.5rem; }
  137. header { width: calc( 100% - (0.5rem * 2)); }
  138. body #start { width: calc( 100% - (0.5rem * 2)); }
  139. body:not(.home) #start { margin-top: 4rem; }
  140. body .sidebar-right { display: none; }
  141. #item_list .card { width: calc( 100%); }
  142. #item_list .card:nth-child(odd) { margin-right: 0; }
  143. #item_list .card .card-header { margin-bottom: 0.5rem; }
  144. #item_list .card .card-header > * { margin-right: 0.5rem; }
  145. .other_projets { margin-top: 1rem; }
  146. .other_projets .card { width: 100%; }
  147. .other_projets .card:nth-child(-1n+3) { margin-right: 0; } }
  148. @media screen and (max-width: 768px) and (orientation: portrait) { header a { font-size: 2.5rem; line-height: 3rem; }
  149. .home p { font-size: 2.5rem !important; line-height: 3rem !important; }
  150. .other_projets h3 { font-size: 2.5rem; }
  151. body:not(.home) #start { margin-top: 5rem; }
  152. #item_list .card { width: calc( 100%); }
  153. #item_list .card:nth-child(odd) { margin-right: 0; }
  154. #item_list .card .card-header { margin-bottom: 0.5rem; }
  155. #item_list .card .card-header > * { margin-right: 0.5rem; } }
  156. @media screen and (max-width: 812px) and (orientation: landscape) { header a { font-size: 1.5rem; line-height: 2rem; }
  157. .home p { font-size: 1.5rem !important; line-height: 2rem !important; }
  158. .other_projets h3 { font-size: 1.5rem; }
  159. header { width: calc( 100% - (0.5rem * 2)); }
  160. body #start { width: calc( 100% - (0.5rem * 2)); }
  161. body:not(.home) #start { margin-top: 4rem; }
  162. body .sidebar-right { display: none; }
  163. #item_list .card { width: calc(( 100% / 2 ) - (1rem / 2)); }
  164. #item_list .card:nth-child(odd) { margin-right: 1rem; }
  165. .other_projets .card { width: calc(( 100% / 3 ) - (1rem / 3)); }
  166. .other_projets .card:nth-child(-1n+3) { margin-right: 0.5rem; } }
  167. @media screen and (max-width: 910px) and (orientation: portrait) { header a { font-size: 2.5rem; line-height: 3rem; }
  168. .home p { font-size: 2.5rem !important; line-height: 3rem !important; }
  169. .other_projets h3 { font-size: 2.5rem; }
  170. body:not(.home) #start { margin-top: 5rem; } }
  171. @media screen and (max-width: 660px) { header a { font-size: 1.5rem; line-height: 2rem; }
  172. .home p { font-size: 1.5rem !important; line-height: 2rem !important; }
  173. .other_projets h3 { font-size: 1.5rem; }
  174. body:not(.home) #start { margin-top: 4rem; } }
  175. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwiY29uZmlndXJhdGlvbnMvX2ZvbnRzLnNjc3MiLCJjb25maWd1cmF0aW9ucy9fdmFyaWFibGUuc2NzcyIsImNvbmZpZ3VyYXRpb25zL19leHRlbmQuc2NzcyIsInRoZW1lL19yZXNldC5zY3NzIiwidGhlbWUvX3R5cG9ncmFwaHkuc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19zdGFydC5zY3NzIiwidGhlbWUvX3NpZGViYXIuc2NzcyIsInRoZW1lL19ibG9nLnNjc3MiLCJ0aGVtZS9faXRlbS5zY3NzIiwidGhlbWUvX21vYmlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgJ2NvbmZpZ3VyYXRpb25zL19mb250cyc7XG5AaW1wb3J0ICdjb25maWd1cmF0aW9ucy9fdmFyaWFibGUnO1xuQGltcG9ydCAnY29uZmlndXJhdGlvbnMvX2V4dGVuZCc7XG5AaW1wb3J0ICd0aGVtZS9yZXNldCc7XG5AaW1wb3J0ICd0aGVtZS90eXBvZ3JhcGh5JztcblxuQGltcG9ydCAndGhlbWUvaGVhZGVyJztcbkBpbXBvcnQgJ3RoZW1lL3N0YXJ0JztcbkBpbXBvcnQgJ3RoZW1lL3NpZGViYXInO1xuQGltcG9ydCAndGhlbWUvYmxvZyc7XG5AaW1wb3J0ICd0aGVtZS9pdGVtJztcbkBpbXBvcnQgJ3RoZW1lL21vYmlsZSc7IFxuIiwiLy8gRm9udCBGYW1pbHlcbiRmb250LWZhbWlseS1kZWZhdWx0OiAgXHRcdFx0XCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkZXI6ICBcdFx0XHRcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2FcIiwgXCJUYWhvbWFcIiwgXCJHZW5ldmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm86IFx0XHRcdFx0XCJJbmNvbnNvbGF0YVwiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6XHRcdFx0XHRcIkdlb3JnaWFcIiwgXCJUaW1lc1wiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbi8vIEBmb250LWZhY2VcblxuJGxhdG86IFwibGF0b1wiO1xuJGZhbWlseTogXCJsYXRvXCI7XG4kZmlsZS1yZWd1bGFyOiBcIkxhdG8tUmVndWxhclwiO1xuJGNhdGVnb3J5OiBcInNhbnMtc2VyaWZcIjtcblxuQG1peGluIGZvbnQtZmFjZSgkbGF0bywgJGZpbGUtcmVndWxhciwgJGZhbWlseSwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5ICsgXCIvXCIgKyAkZmlsZS1yZWd1bGFyO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRsYXRvfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJGxhdG8gKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRsYXRvfSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIEBpZiAkY2F0ZWdvcnkgIT0gXCJcIiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JGxhdG99XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skbGF0b31cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJHN5bmU6IFwic3luZVwiO1xuJGZhbWlseS1ib2xkOiBcInN5bmVcIjtcbiRmaWxlLWJvbGQ6IFwiU3luZS1Cb2xkXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJHN5bmUsICRmaWxlLWJvbGQsICRmYW1pbHktYm9sZCwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LWJvbGQgKyBcIi9cIiArICRmaWxlLWJvbGQ7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHN5bmV9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgIH1cblxuICAgICUjeyRzeW5lfSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIEBpZiAkY2F0ZWdvcnkgIT0gXCJcIiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN5bmV9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skc3luZX1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJGF2YXJhOiBcIkF2YXJhXCI7XG4kZmFtaWx5LWJvbGQtaXRhbGljOiBcImF2YXJhXCI7XG4kZmlsZS1ib2xkLWl0YWxpYzogXCJBdmFyYS1Cb2xkX0l0YWxpY193ZWJcIjtcblxuQG1peGluIGZvbnQtZmFjZSgkYXZhcmEsICRmaWxlLWJvbGQtaXRhbGljLCAkZmFtaWx5LWJvbGQtaXRhbGljLCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCIuLi9mb250cy9cIiArICRmYW1pbHktYm9sZC1pdGFsaWMgKyBcIi9cIiArICRmaWxlLWJvbGQtaXRhbGljO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRhdmFyYX1cIjtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90XCIpO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi50dGZcIikgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnN2ZyNcIiArICRhdmFyYSArIFwiXCIpIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuXG4gICAgJSN7JGF2YXJhfSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIEBpZiAkY2F0ZWdvcnkgIT0gXCJcIiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JGF2YXJhfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JGF2YXJhfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4kcGxheWZhaXI6IFwicGxheWZhaXJkaXNwbGF5LXJlZ3VsYXJpdGFsaWNcIjtcbiRmYW1pbHktaXRhbGljOiBcInBsYXlmYWlyXCI7XG4kZmlsZS1pdGFsaWM6IFwicGxheWZhaXJkaXNwbGF5LXJlZ3VsYXJpdGFsaWNcIjtcblxuQG1peGluIGZvbnQtZmFjZSgkcGxheWZhaXIsICRmaWxlLWl0YWxpYywgJGZhbWlseS1pdGFsaWMsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1pdGFsaWMgKyBcIi9cIiArICRmaWxlLWl0YWxpYztcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skcGxheWZhaXJ9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkcGxheWZhaXIgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRwbGF5ZmFpcn0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcGxheWZhaXJ9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcGxheWZhaXJ9XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW5jbHVkZSBmb250LWZhY2UoJGxhdG8sICRmaWxlLXJlZ3VsYXIsICRmYW1pbHksICRjYXRlZ29yeSk7Ly8xXG5AaW5jbHVkZSBmb250LWZhY2UoJHN5bmUsICRmaWxlLWJvbGQsICRmYW1pbHktYm9sZCwgJGNhdGVnb3J5KTsvLzJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkYXZhcmEsICRmaWxlLWJvbGQtaXRhbGljLCAkZmFtaWx5LWJvbGQtaXRhbGljLCAkY2F0ZWdvcnkpOy8vMlxuQGluY2x1ZGUgZm9udC1mYWNlKCRwbGF5ZmFpciwgJGZpbGUtaXRhbGljLCAkZmFtaWx5LWl0YWxpYywgJGNhdGVnb3J5KTsvLzJcblxuLy8gZm9udC1zaXplXG4kdHh0LWZpZ2xpOiAzLjVyZW07XG5cbi8vIGxpbmUtaGVpZ2h0XG4kRmxob21lOiA0cmVtO1xuXG4kbWFyZzogMC41cmVtO1xuJG1hcmdJOiAxcmVtO1xuJFdpOiA4MCU7XG5cbiRXaTUwOiBjYWxjKCggMTAwJSAvIDIgKSAtICgjeyRtYXJnSX0gLyAyKSk7XG4kV2kzMzogY2FsYygoIDEwMCUgLyAzICkgLSAoI3skbWFyZ0l9IC8gMykpO1xuXG4vLyBtb2JpbGVcbiR0eHQtZmlnbGktbTogMS41cmVtO1xuXG4vLyBsaW5lLWhlaWdodFxuJEZsaG9tZS1tOiAycmVtO1xuJFdpLW06MTAwJTtcblxuLy8gdGFibGV0dGVcbiR0eHQtZmlnbGktdDogMi41cmVtO1xuXG4vLyBsaW5lLWhlaWdodFxuJEZsaG9tZS10OiAzcmVtO1xuXG4vLyA6cm9vdCB7XG4vLyAgIC0tY29sb3I6IHJlZDtcbi8vIH1cbi8vXG4vLyA6cm9vdCAuY2F0ZWdvcnl7XG4vLyAgIC0tY29sb3I6Ymx1ZTtcbi8vIH1cbi8vXG4vLyAuY2FyZHtcbi8vICAgY29sb3I6IHZhcigtLWNvbG9yKTtcbi8vIH1cbi8vXG4vLyA6cm9vdCAuY2F0ZWdvcnl7XG4vLyAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4vLyB9XG4iLCIiLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiBhdXRvO1xuICBtYXJnaW46MDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xucHtcbiBtYXJnaW46IDA7XG59XG5cbnVse1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxudWwsbGl7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiaDEsIGgyLCBoMywgcCwgdWwsIGxpLCBhLCBzcGFue1xuICBmb250LWZhbWlseTogJGxhdG87XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xufVxuXG5oZWFkZXJ7XG4gIGF7XG4gICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpO1xuICAgIGxpbmUtaGVpZ2h0OiAkRmxob21lO1xuICB9XG59XG5cbi5ob21le1xuICBwe1xuICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaTtcbiAgICBsaW5lLWhlaWdodDogJEZsaG9tZTtcbiAgfVxuICAjdGV4dF9maWdsaXtcbiAgICBzdHJvbmd7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBhe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpudGgtY2hpbGQoMSl7XG4gICAgICB9XG4gICAgICAmI3B1YmxpcXVle1xuICAgICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xuICAgICAgfVxuICAgICAgJiNzb2NpYWxle1xuICAgICAgICBmb250LWZhbWlseTogJHN5bmU7XG4gICAgICB9XG4gICAgICAmI2N1bHR1cmVsbGV7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYXZhcmE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNpdGVte1xuICAuY29udGVudC10aXRsZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogJG1hcmcgMDtcbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIGgye1xuICAgICAgbWFyZ2luOiAwICRtYXJnIDAgMDtcbiAgICAgIGF7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hLnB1YmxpcXVlLCBzcGFuLnB1YmxpcXVle1xuICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xufVxuXG5hLnNvY2lhbGUsIHNwYW4uc29jaWFsZXtcbiAgZm9udC1mYW1pbHk6ICRzeW5lO1xufVxuXG5hLmN1bHR1cmVsbGUsIHNwYW4uY3VsdHVyZWxsZXtcbiAgZm9udC1mYW1pbHk6ICRhdmFyYTtcbn1cblxuLnNpZGViYXItcmlnaHR7XG4gIHVsLCBhe1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG59XG5cbi5vdGhlcl9wcm9qZXRze1xuICBoM3tcbiAgICBmb250LXNpemU6ICR0eHQtZmlnbGk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5jYXJke1xuICBoMntcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4iLCJoZWFkZXJ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDAgMCAwICRtYXJnO1xuICBwYWRkaW5nOiAkbWFyZyAwO1xuICB3aWR0aDogY2FsYyggI3skV2l9IC0gI3skbWFyZ30gKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xufVxuIiwiKntcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbmh0bWwsIGJvZHksIGhlYWRlcntcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOWZlO1xufVxuXG5ib2R5e1xuICAjc3RhcnR7XG4gICAgICB3aWR0aDogY2FsYyggI3skV2l9IC0gI3skbWFyZ30gKTtcbiAgICAgIG1hcmdpbjogJG1hcmcgYXV0byBhdXRvICRtYXJnO1xuICAgICAgI3RleHRfZmlnbGl7XG4gICAgICAgIHAge1xuICAgICAgICAgIGF7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAvLyAgICY6OmFmdGVye1xuICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDA7XG4gICAgICAgICAgICAvLyAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUlLC02NSUpO1xuICAgICAgICAgICAgLy8gICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIC8vICAgfVxuICAgICAgICAgICAgLy8gJjpob3ZlcntcbiAgICAgICAgICAgIC8vICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICAvLyAgICAgY29udGVudDogdXJsKCcvdXNlci90aGVtZXMvZmlndXJlc2xpYnJlcy9pbWFnZXMvb3ZhbGUuc3ZnJyk7XG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgLy8gICAgIHRvcDogMDtcbiAgICAgICAgICAgIC8vICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgLy8gICB9XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAmLm1hcmd7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJke1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgLSAoICN7JG1hcmd9ICogMikgKTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkbWFyZzsgICAgICAgIFxuICAgICAgICAgIC5jYXJkLWhlYWRlcntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAmID4gKntcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmNhcmQtaGVhZGVye1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAkbWFyZztcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICNpdGVte1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDMwNyUgLSAjeyRtYXJnfSApO1xuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG4gICY6bm90KC5ob21lKXtcbiAgICAjc3RhcnR7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKCAycmVtICsgICN7JEZsaG9tZX0pO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpZGViYXItcmlnaHR7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLmxpc3QtcHJvamV0c3tcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdWx7XG4gICAgICAmOm50aC1jaGlsZCgxKXtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbjogJG1hcmcgJG1hcmcgMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGxpe1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhe1xuICAgICAgICBjb2xvcjogZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNpdGVtX2xpc3R7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAuY2FyZHtcbiAgICB3aWR0aDogJFdpNTA7XG4gICAgJjpudGgtY2hpbGQob2RkKXtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdJO1xuICAgIH1cbiAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJG1hcmc7XG4gICAgICAmID4gKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjaXRlbXtcbiAgLmUtY29udGVudHtcbiAgICAtd2Via2l0LWNvbHVtbnM6IDMwMHB4IDI7XG4gICAgLW1vei1jb2x1bW5zOiAzMDBweCAyO1xuICAgICAgICBjb2x1bW5zOiAzMDBweCAyO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnO1xuICAgIH1cbiAgLmNhcmQtaW1hZ2V7XG4gICAgaW1ne1xuICAgICAgbWFyZ2luLWJvdHRvbTogJG1hcmc7XG4gICAgfVxuICB9XG59XG5cbi5vdGhlcl9wcm9qZXRze1xuICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogJG1hcmdJO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ0k7XG4gIGgze1xuICAgIG1hcmdpbjogMXJlbSAwICRtYXJnIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNhcmR7XG4gICAgd2lkdGg6ICRXaTMzO1xuICAgICY6bnRoLWNoaWxkKC0xbiszKXtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmc7XG4gICAgfVxuICAgIC5jYXJkLWhlYWRlcntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAmID4gKntcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC8vIHR5cG9ncmFwaGllXG4gIGhlYWRlcntcbiAgICBhe1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW07XG4gICAgICBsaW5lLWhlaWdodDogJEZsaG9tZS1tO1xuICAgIH1cbiAgfVxuICAuaG9tZXtcbiAgICBwe1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW0haW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6ICRGbGhvbWUtbSFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5vdGhlcl9wcm9qZXRze1xuICAgIGgze1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW07XG4gICAgfVxuICB9XG5cbiAgLy8gbWVwXG4gIGhlYWRlcntcbiAgICB3aWR0aDogY2FsYyggI3skV2ktbX0gLSAoI3skbWFyZ30gKiAyKSApO1xuICB9XG5cbiAgYm9keXtcbiAgICAjc3RhcnR7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAjeyRXaS1tfSAtICgjeyRtYXJnfSAqIDIpICk7XG4gICAgfVxuICAgICY6bm90KC5ob21lKXtcbiAgICAgICNzdGFydHtcbiAgICAgICAgbWFyZ2luLXRvcDogJEZsaG9tZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNpZGViYXItcmlnaHR7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICNpdGVtX2xpc3R7XG4gICAgLmNhcmR7XG4gICAgICB3aWR0aDogY2FsYyggI3skV2ktbX0gICk7XG4gICAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnO1xuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vdGhlcl9wcm9qZXRze1xuICAgIG1hcmdpbi10b3A6ICRtYXJnSTtcbiAgICAuY2FyZHtcbiAgICAgIHdpZHRoOiAkV2ktbTtcbiAgICAgICY6bnRoLWNoaWxkKC0xbiszKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC8vIHR5cG9ncmFwaGllXG4gIGhlYWRlcntcbiAgICBhe1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICB9XG4gIH1cbiAgLmhvbWV7XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaS10IWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkRmxob21lLXQhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAub3RoZXJfcHJvamV0c3tcbiAgICBoM3tcbiAgICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaS10O1xuICAgIH1cbiAgfVxuXG4gIGJvZHl7XG4gICAgJjpub3QoLmhvbWUpe1xuICAgICAgI3N0YXJ0e1xuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNpdGVtX2xpc3R7XG4gICAgLmNhcmR7XG4gICAgICB3aWR0aDogY2FsYyggI3skV2ktbX0gICk7XG4gICAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnO1xuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MTJweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8vIHR5cG9ncmFwaGllXG4gIGhlYWRlcntcbiAgICBhe1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW07XG4gICAgICBsaW5lLWhlaWdodDogJEZsaG9tZS1tO1xuICAgIH1cbiAgfVxuICAuaG9tZXtcbiAgICBwe1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW0haW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6ICRGbGhvbWUtbSFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5vdGhlcl9wcm9qZXRze1xuICAgIGgze1xuICAgICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpLW07XG4gICAgfVxuICB9XG5cbiAgLy8gbWVwXG4gIGhlYWRlcntcbiAgICB3aWR0aDogY2FsYyggI3skV2ktbX0gLSAoI3skbWFyZ30gKiAyKSApO1xuICB9XG5cbiAgYm9keXtcbiAgICAjc3RhcnR7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAjeyRXaS1tfSAtICgjeyRtYXJnfSAqIDIpICk7XG4gICAgfVxuICAgICY6bm90KC5ob21lKXtcbiAgICAgICNzdGFydHtcbiAgICAgICAgbWFyZ2luLXRvcDogJEZsaG9tZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNpZGViYXItcmlnaHR7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICNpdGVtX2xpc3R7XG4gICAgLmNhcmR7XG4gICAgICB3aWR0aDogJFdpNTA7XG4gICAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnSTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAub3RoZXJfcHJvamV0c3tcbiAgICAuY2FyZHtcbiAgICAgIHdpZHRoOiAkV2kzMztcbiAgICAgICY6bnRoLWNoaWxkKC0xbiszKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTEwcHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIGhlYWRlcntcbiAgICBhe1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICB9XG4gIH1cbiAgLmhvbWV7XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaS10IWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkRmxob21lLXQhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAub3RoZXJfcHJvamV0c3tcbiAgICBoM3tcbiAgICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaS10O1xuICAgIH1cbiAgfVxuICBib2R5e1xuICAgICY6bm90KC5ob21lKXtcbiAgICAgICNzdGFydHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjYwcHgpIHtcbiAgaGVhZGVye1xuICAgIGF7XG4gICAgICBmb250LXNpemU6ICR0eHQtZmlnbGktbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkRmxob21lLW07XG4gICAgfVxuICB9XG4gIC5ob21le1xuICAgIHB7XG4gICAgICBmb250LXNpemU6ICR0eHQtZmlnbGktbSFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogJEZsaG9tZS1tIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm90aGVyX3Byb2pldHN7XG4gICAgaDN7XG4gICAgICBmb250LXNpemU6ICR0eHQtZmlnbGktbTtcbiAgICB9XG4gIH1cblxuICBib2R5e1xuICAgICY6bm90KC5ob21lKXtcbiAgICAgICNzdGFydHtcbiAgICAgICAgbWFyZ2luLXRvcDogJEZsaG9tZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNnR0ksVUFBVSxHQUNOLFdBQVcsRUFBRSxNQUFjLEVBQzNCLEdBQUcsRUFBRSxxQ0FBdUIsRUFDNUIsR0FBRyxFQUFFLDRDQUE4QixDQUFDLDJCQUEyQixFQUN6RCxzQ0FBd0IsQ0FBQyxjQUFjLEVBQ3ZDLHFDQUF1QixDQUFFLGtCQUFrQixFQUMzQywwQ0FBeUMsQ0FBQyxhQUFhOztBQU5qRSxVQUFVLEdBQ04sV0FBVyxFQUFFLE1BQWMsRUFDM0IsR0FBRyxFQUFFLGtDQUF1QixFQUM1QixHQUFHLEVBQUUseUNBQThCLENBQUMsMkJBQTJCLEVBQ3pELG1DQUF3QixDQUFDLGNBQWMsRUFDdkMsa0NBQXVCLENBQUUsa0JBQWtCLEVBQzNDLHVDQUF5QyxDQUFDLGFBQWE7O0FBTmpFLFVBQVUsR0FDTixXQUFXLEVBQUUsT0FBYyxFQUMzQixHQUFHLEVBQUUsK0NBQXVCLEVBQzVCLEdBQUcsRUFBRSxzREFBOEIsQ0FBQywyQkFBMkIsRUFDekQsZ0RBQXdCLENBQUMsY0FBYyxFQUN2QywrQ0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MscURBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSwrQkFBYyxFQUMzQixHQUFHLEVBQUUsMERBQXVCLEVBQzVCLEdBQUcsRUFBRSxpRUFBOEIs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 */