theme.css 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. @charset "UTF-8";
  2. /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
  3. /* Document ========================================================================== */
  4. /** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
  5. html { margin: 0; padding: 0; line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }
  6. /* Sections ========================================================================== */
  7. /** Remove the margin in all browsers. */
  8. body { margin: 0; padding: 0 50px 0 50px; }
  9. /** Render the `main` element consistently in IE. */
  10. main { display: block; }
  11. /** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
  12. h1 { font-size: 2em; margin: 0; }
  13. /* Grouping content ========================================================================== */
  14. /** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
  15. hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
  16. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  17. pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  18. /* Text-level semantics ========================================================================== */
  19. /** Remove the gray background on active links in IE 10. */
  20. ul { list-style: none; }
  21. ul, li { margin: 0; padding: 0; }
  22. a { background-color: transparent; color: black; text-decoration: none; }
  23. /** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
  24. abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }
  25. /** Add the correct font weight in Chrome, Edge, and Safari. */
  26. b, strong { font-weight: bolder; }
  27. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  28. code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  29. /** Add the correct font size in all browsers. */
  30. small { font-size: 80%; }
  31. /** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
  32. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  33. sub { bottom: -0.25em; }
  34. sup { top: -0.5em; }
  35. /* Embedded content ========================================================================== */
  36. /** Remove the border on images inside links in IE 10. */
  37. img { border-style: none; width: 100%; height: 100%; }
  38. /* Forms ========================================================================== */
  39. /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
  40. button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }
  41. /** Show the overflow in IE. 1. Show the overflow in Edge. */
  42. button, input { /* 1 */ overflow: visible; }
  43. /** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
  44. button, select { /* 1 */ text-transform: none; }
  45. /** Correct the inability to style clickable types in iOS and Safari. */
  46. button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
  47. /** Remove the inner border and padding in Firefox. */
  48. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
  49. /** Restore the focus styles unset by the previous rule. */
  50. button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
  51. /** Correct the padding in Firefox. */
  52. fieldset { padding: 0.35em 0.75em 0.625em; }
  53. /** 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. */
  54. legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
  55. /** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
  56. progress { vertical-align: baseline; }
  57. /** Remove the default vertical scrollbar in IE 10+. */
  58. textarea { overflow: auto; }
  59. /** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
  60. [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
  61. /** Correct the cursor style of increment and decrement buttons in Chrome. */
  62. [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
  63. /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
  64. [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
  65. /** Remove the inner padding in Chrome and Safari on macOS. */
  66. [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
  67. /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
  68. ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
  69. /* Interactive ========================================================================== */
  70. /* Add the correct display in Edge, IE 10+, and Firefox. */
  71. details { display: block; }
  72. /* Add the correct display in all browsers. */
  73. summary { display: list-item; }
  74. /* Misc ========================================================================== */
  75. /** Add the correct display in IE 10+. */
  76. template { display: none; }
  77. /** Add the correct display in IE 10. */
  78. [hidden] { display: none; }
  79. @font-face { font-family: "leaguegothic-regular-webfont"; src: url("../fonts/League_gothic/leaguegothic-regular-webfont.eot"); src: url("../fonts/League_gothic/leaguegothic-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/League_gothic/leaguegothic-regular-webfont.woff") format("woff"), url("../fonts/League_gothic/leaguegothic-regular-webfont.ttf") format("truetype"), url("../fonts/League_gothic/leaguegothic-regular-webfont.svg#leaguegothic-regular-webfont") format("svg"); }
  80. @font-face { font-family: "Roboto-Light"; src: url("../fonts/roboto/Roboto-Light-webfont.eot"); src: url("../fonts/roboto/Roboto-Light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto/Roboto-Light-webfont.woff") format("woff"), url("../fonts/roboto/Roboto-Light-webfont.ttf") format("truetype"), url("../fonts/roboto/Roboto-Light-webfont.svg#Roboto-Light") format("svg"); }
  81. @font-face { font-family: "Roboto-Regular"; src: url("../fonts/roboto/Roboto-Regular-webfont.eot"); src: url("../fonts/roboto/Roboto-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto/Roboto-Regular-webfont.woff") format("woff"), url("../fonts/roboto/Roboto-Regular-webfont.ttf") format("truetype"), url("../fonts/roboto/Roboto-Regular-webfont.svg#Roboto-Regular") format("svg"); }
  82. @font-face { font-family: "Roboto-Italic"; src: url("../fonts/roboto/Roboto-Italic-webfont.eot"); src: url("../fonts/roboto/Roboto-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto/Roboto-Italic-webfont.woff") format("woff"), url("../fonts/roboto/Roboto-Italic-webfont.ttf") format("truetype"), url("../fonts/roboto/Roboto-Italic-webfont.svg#Roboto-Italic") format("svg"); }
  83. @font-face { font-family: "Roboto-Meduim"; src: url("../fonts/roboto/Roboto-Meduim-webfont.eot"); src: url("../fonts/roboto/Roboto-Meduim-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto/Roboto-Meduim-webfont.woff") format("woff"), url("../fonts/roboto/Roboto-Meduim-webfont.ttf") format("truetype"), url("../fonts/roboto/Roboto-Meduim-webfont.svg#Roboto-Meduim") format("svg"); }
  84. @font-face { font-family: "Roboto-Bold"; src: url("../fonts/roboto/Roboto-Bold-webfont.eot"); src: url("../fonts/roboto/Roboto-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto/Roboto-Bold-webfont.woff") format("woff"), url("../fonts/roboto/Roboto-Bold-webfont.ttf") format("truetype"), url("../fonts/roboto/Roboto-Bold-webfont.svg#Roboto-Bold") format("svg"); }
  85. html, body { font-size: 16px; line-height: 22px; }
  86. h1, h2, h3 { font-family: "leaguegothic-regular-webfont"; font-weight: normal; text-transform: uppercase; }
  87. h1, h2 { letter-spacing: 0.1rem; }
  88. h3 { letter-spacing: 0.2rem; }
  89. ul, li, a, p, del { font-family: "Roboto-Regular"; font-weight: normal; font-size: 1rem; }
  90. em { font-family: "Roboto-Italic"; font-weight: normal; }
  91. strong { font-family: "Roboto-Bold"; font-weight: normal; }
  92. h1 { font-size: 4rem; line-height: 6rem; }
  93. h1 a { font-family: "leaguegothic-regular-webfont"; font-size: 4rem; line-height: 6rem; }
  94. h2 { font-size: 3rem; line-height: 4rem; }
  95. h3 { font-size: 2rem; }
  96. header nav ul li a { font-family: "leaguegothic-regular-webfont"; font-size: 1.15rem; line-height: 4rem; letter-spacing: 0.1rem; }
  97. header .logo #user p { font-size: 2rem; font-family: "leaguegothic-regular-webfont"; line-height: 3rem; letter-spacing: 0.1rem; }
  98. header .logo .why_lsdo h3 { font-size: 1.5rem; letter-spacing: 0.1rem; }
  99. header .logo .why_lsdo h3:hover { text-decoration: underline; }
  100. #start section .block h3 { text-align: center; color: #8d2815ff; text-transform: inherit; font-family: "Roboto-Regular"; letter-spacing: 0; }
  101. #start section .block .content { text-align: justify; }
  102. #start #home > p { font-family: "Roboto-Light"; text-align: center; font-size: 1.15rem; line-height: 2rem; }
  103. #start #métier section:nth-of-type(n+3) h3 { font-size: 1.5rem; color: white; }
  104. #start #métier section:nth-of-type(-n+2) h3 { text-transform: capitalize; text-align: center; color: #8d2815ff; text-transform: inherit; font-family: "Roboto-Bold"; letter-spacing: 0; font-size: 1.5rem; }
  105. #start #références > p { text-align: center; font-size: 1.2rem; line-height: 1.7rem; }
  106. #start #références h3 { font-family: "leaguegothic-regular-webfont"; font-size: 3rem; text-align: center; color: #8d2815ff; width: 350px; margin: auto; background-color: #ffffd5ff; }
  107. #start #références #recommandations .owl-carousel .content p:first-of-type { text-align: center; }
  108. @keyframes rotateOpen { 0% { transform: rotate(-15deg); }
  109. 100% { transform: rotate(0deg); } }
  110. @keyframes rotateClose { 0% { transform: rotate(0deg); }
  111. 100% { transform: rotate(-15deg); } }
  112. @keyframes translateOpen { 0% { margin-top: 0px; }
  113. 100% { margin-top: -150px; } }
  114. @keyframes translateClose { 0% { margin-top: -150px; }
  115. 100% { margin-top: 0px; } }
  116. @keyframes translateOpensvg { 0% { margin-top: 50px; }
  117. 100% { margin-top: 180px; } }
  118. @keyframes translateClosesvg { 0% { margin-top: 180px; }
  119. 100% { margin-top: 50px; } }
  120. @keyframes visible { 0% { opacity: 0;
  121. transform: translateY(50px); }
  122. 100% { opacity: 1;
  123. transform: translateY(0px); } }
  124. @keyframes hidden { 0% { opacity: 1;
  125. transform: translateY(0px); }
  126. 100% { opacity: 0;
  127. transform: translateY(50px); } }
  128. .why_lsdo.open h3 { animation: rotateOpen 1s, translateOpen 1s; animation-fill-mode: forwards; }
  129. .why_lsdo.open section { animation: visible 1s; animation-fill-mode: forwards; }
  130. .why_lsdo.open svg { animation: rotateOpen 1s, translateOpensvg 1s; animation-fill-mode: forwards; }
  131. .why_lsdo.close h3 { animation: rotateClose 1s, translateClose 1s; animation-fill-mode: forwards; }
  132. .why_lsdo.close section { animation: hidden 1s; animation-fill-mode: forwards; }
  133. .why_lsdo.close svg { animation: rotateClose 1s, translateClosesvg 1s; animation-fill-mode: forwards; }
  134. header { z-index: 999; position: relative; }
  135. header nav { z-index: 999; position: fixed; right: 50px; top: 2px; }
  136. header nav ul { text-align: right; }
  137. header nav ul li { text-transform: uppercase; display: inline-block; margin-left: 10px; }
  138. header .title { z-index: 998; background: white; position: fixed; width: auto; left: 50px; right: 50px; padding-top: 20px; text-align: center; }
  139. header .title .filet { z-index: -1; width: auto; height: 2px; background: black; position: absolute; top: 65px; left: 0px; right: 0px; }
  140. header .title h1 { height: 90px; }
  141. header .title h1 a { padding: 0 50px; background-color: white; }
  142. header .logo { margin: 150px 0 50px 0; width: 100%; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: distribute; justify-content: space-around; -ms-flex-align: center; align-items: center; }
  143. header .logo > div { width: calc(100% / 3); min-width: 300px; margin-left: 100px; }
  144. header .logo > svg { width: calc(100% / 3); min-width: 300px; margin: 0 30px; height: 300px; }
  145. header .logo > section { width: calc(100% / 3); min-width: 300px; margin-right: 100px; }
  146. header .logo #user div { text-align: right; }
  147. header .logo #user div p { margin: 0px; }
  148. header .logo .why_lsdo { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-direction: column; flex-direction: column; position: relative; }
  149. header .logo .why_lsdo h3 { z-index: 999; position: absolute; cursor: pointer; margin: 0; transform: rotate(-15deg) translateY(0px); }
  150. header .logo .why_lsdo section { position: absolute; background: white; padding: 0 10px; opacity: 0; top: -130px; height: 300px; overflow: auto; }
  151. header .logo .why_lsdo section p { pointer-events: none; }
  152. header .logo .why_lsdo section.open { display: block !important; }
  153. header .logo .why_lsdo > svg { width: 100px; height: 20px; position: absolute; transform: rotate(-15deg) translateY(50px); }
  154. #start section { position: relative; margin-top: -10px; margin-bottom: 100px; padding-top: 5px; }
  155. #start section > h2, #start section > h3 { text-align: center; }
  156. #start section h3 { width: 100%; }
  157. #start h2 { text-align: center; width: 350px; background: white; z-index: 1; margin: auto; margin-top: -35px; }
  158. #start .filet { position: absolute; top: 0; z-index: -1; width: 100%; height: 2px; background: black !important; }
  159. #start #home { width: 50%; min-width: 700px; margin: 0 auto 100px auto; }
  160. #start #métier > div { background: #ffffd5ff; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: space-evenly; justify-content: space-evenly; }
  161. #start #métier > div h3 { text-align: center; }
  162. #start #métier > div section { width: 35%; min-width: 250px; }
  163. #start #métier > div section:nth-of-type(n+3) { position: relative; }
  164. #start #métier > div section:nth-of-type(n+3) .title { position: absolute; z-index: 1; transform: rotate(-135deg); width: 0; height: 0; top: -65px; left: -70px; border: 70px solid #0f265cff; border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; }
  165. #start #métier > div section:nth-of-type(n+3) .title h3 { transform: rotate(90deg); position: absolute; top: -75px; left: -50px; }
  166. #start #métier > div section:nth-of-type(n+3) > .content { display: none; }
  167. #start #métier > div section:nth-of-type(n+3) .images { height: auto; position: relative; }
  168. #start #métier > div section:nth-of-type(n+3) .images .content { position: absolute; top: 0; left: 0; display: none; height: 100%; width: 100%; background: #0f265cff; opacity: 0.9; }
  169. #start #métier > div section:nth-of-type(n+3) .images .content p, #start #métier > div section:nth-of-type(n+3) .images .content ul, #start #métier > div section:nth-of-type(n+3) .images .content li { text-align: center; color: white; }
  170. #start #métier > div section:nth-of-type(n+3) .images:hover .content { display: block; }
  171. #start #métier > div section .content p { text-align: justify; }
  172. #start #métier > div section .filet { display: none; }
  173. #start #références > div { background: #ffffd5ff; }
  174. #start #références > div > p { width: 50%; min-width: 600px; margin: 0px auto 0px auto; padding: 50px 0 65px 0; }
  175. #start #références > div .title { margin-bottom: 50px; }
  176. #start #références > div .title .filet { top: 13px !important; border: 2px dashed #8d2815; background: #fff59b8c; height: 0; }
  177. #start #références > div section:last-child p { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; }
  178. #start #références > div section:last-child p img { margin: 0 20px; width: 15%; min-width: 150px; height: 100%; }
  179. #start #références > div #recommandations .content { background: white; }
  180. #start #références > div #clients .images { display: -ms-inline-flexbox; display: inline-flex; }
  181. #start #contact > div { display: -ms-inline-flexbox; display: inline-flex; width: 100%; }
  182. #start #contact > div > div:nth-of-type(1) { margin-top: 50px; }
  183. #start #contact > div p:nth-of-type(1) { width: 60%; }
  184. #start #contact > div p:nth-of-type(2) { width: 40%; }
  185. .owl-carousel { display: -ms-flexbox !important; display: flex !important; margin: 50px 50px; width: auto !important; }
  186. .owl-carousel .owl-stage-outer { height: 500px; }
  187. .owl-carousel .owl-item { width: auto !important; }
  188. .owl-carousel .galerie { width: auto; }
  189. .owl-carousel .galerie .images { height: 300px; width: auto; }
  190. .owl-carousel .galerie .images img { width: auto !important; height: 300px; }
  191. .owl-carousel .galerie .content { position: absolute; }
  192. .owl-carousel .owl-nav { position: absolute; width: 100%; top: 35%; transform: translateY(-50%); }
  193. .owl-carousel .owl-nav button { width: 35px; height: 35px; border-radius: 35px; background: #8d2815ff !important; }
  194. .owl-carousel .owl-nav button span { margin-top: -9.5px; color: white; }
  195. .owl-carousel .owl-nav button.owl-prev { position: absolute; left: -40px; }
  196. .owl-carousel .owl-nav button.owl-next { position: absolute; right: -40px; }
  197. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwidGhlbWUvX3Jlc2V0LnNjc3MiLCJ0aGVtZS9fZm9udHMuc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInRoZW1lL190eXBvZ3JhcGh5LnNjc3MiLCJ0aGVtZS9fYW5pbWF0aW9uLnNjc3MiLCJ0aGVtZS9faGVhZGVyLnNjc3MiLCJ0aGVtZS9fc3RhcnQuc2NzcyIsInRoZW1lL19jYXJvdXNlbC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEBpbXBvcnQgJ3RoZW1lL21peGlucyc7XG5AaW1wb3J0ICd0aGVtZS9yZXNldCc7XG5AaW1wb3J0ICd0aGVtZS9mb250cyc7XG5AaW1wb3J0ICd0aGVtZS92YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICd0aGVtZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ3RoZW1lL2FuaW1hdGlvbic7XG5AaW1wb3J0ICd0aGVtZS9oZWFkZXInO1xuQGltcG9ydCAndGhlbWUvc3RhcnQnO1xuQGltcG9ydCAndGhlbWUvY2Fyb3VzZWwnO1xuLy8gQGltcG9ydCAndGhlbWUvbW9iaWxlJztcbi8vXG4vLyBAaW1wb3J0ICd0aGVtZS9oZWFkZXInO1xuLy8gQGltcG9ydCAndGhlbWUvZm9vdGVyJztcbi8vIEBpbXBvcnQgJ3RoZW1lL21lbnUnO1xuLy9cbi8vIC8vIEV4dHJhIFNrZWxldG9uIFN0eWxpbmdcbi8vIEBpbXBvcnQgJ3RoZW1lL2Jsb2cnO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNTBweCAwIDUwcHg7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOjA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbnVse1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxudWwsbGl7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gRm9udCBGYW1pbHlcbiRmb250LWZhbWlseS1kZWZhdWx0OiAgXHRcdFx0XCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkZXI6ICBcdFx0XHRcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2FcIiwgXCJUYWhvbWFcIiwgXCJHZW5ldmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm86IFx0XHRcdFx0XCJJbmNvbnNvbGF0YVwiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6XHRcdFx0XHRcIkdlb3JnaWFcIiwgXCJUaW1lc1wiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbi8vIEBmb250LWZhY2VcblxuLy8gbGVhZ3VlZ290aGljXG4kUmVndWxhci1MOiBcImxlYWd1ZWdvdGhpYy1yZWd1bGFyLXdlYmZvbnRcIjtcbiRmYW1pbHktTDogXCJMZWFndWVfZ290aGljXCI7XG4kZmlsZS1MX1I6IFwibGVhZ3VlZ290aGljLXJlZ3VsYXItd2ViZm9udFwiO1xuJGNhdGVnb3J5OiBcInNhbnMtc2VyaWZcIjtcblxuQG1peGluIGZvbnQtZmFjZSgkUmVndWxhci1MLCAkZmlsZS1MX1IsICRmYW1pbHktTCwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LUwgKyBcIi9cIiArICRmaWxlLUxfUjtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skUmVndWxhci1MfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJFJlZ3VsYXItTCArIFwiXCIpIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuXG4gICAgJSN7JFJlZ3VsYXItTH0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSZWd1bGFyLUx9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skUmVndWxhci1MfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL3JvYm90b1xuJFJvYm90by1MOiBcIlJvYm90by1MaWdodFwiO1xuJGZhbWlseS1SOiBcInJvYm90b1wiO1xuJGZpbGUtUl9MOiBcIlJvYm90by1MaWdodC13ZWJmb250XCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJFJvYm90by1MLCAkZmlsZS1SX0wsICRmYW1pbHktUiwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LVIgKyBcIi9cIiArICRmaWxlLVJfTDtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skUm9ib3RvLUx9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkUm9ib3RvLUwgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRSb2JvdG8tTH0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tTH1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tTH1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4kUm9ib3RvLVI6IFwiUm9ib3RvLVJlZ3VsYXJcIjtcbiRmYW1pbHktUjogXCJyb2JvdG9cIjtcbiRmaWxlLVJfUjogXCJSb2JvdG8tUmVndWxhci13ZWJmb250XCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJFJvYm90by1SLCAkZmlsZS1SX1IsICRmYW1pbHktUiwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LVIgKyBcIi9cIiArICRmaWxlLVJfUjtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skUm9ib3RvLVJ9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkUm9ib3RvLVIgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRSb2JvdG8tUn0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tUn1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tUn1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9yb2JvdG9cbiRSb2JvdG8tTTogXCJSb2JvdG8tTWVkdWltXCI7XG4kZmlsZS1SX006IFwiUm9ib3RvLU1lZHVpbS13ZWJmb250XCI7XG5AbWl4aW4gZm9udC1mYWNlKCRSb2JvdG8tTSwgJGZpbGUtUl9NLCAkZmFtaWx5LVIsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1SICsgXCIvXCIgKyAkZmlsZS1SX007XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JFJvYm90by1NfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJFJvYm90by1NICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skUm9ib3RvLU19IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skUm9ib3RvLU19XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skUm9ib3RvLU19XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRSb2JvdG8tQjogXCJSb2JvdG8tQm9sZFwiO1xuJGZpbGUtUl9COiBcIlJvYm90by1Cb2xkLXdlYmZvbnRcIjtcbkBtaXhpbiBmb250LWZhY2UoJFJvYm90by1CLCAkZmlsZS1SX0IsICRmYW1pbHktUiwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LVIgKyBcIi9cIiArICRmaWxlLVJfQjtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skUm9ib3RvLUJ9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkUm9ib3RvLUIgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRSb2JvdG8tQn0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tQn1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tQn1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJFJvYm90by1JOiBcIlJvYm90by1JdGFsaWNcIjtcbiRmaWxlLVJfSTogXCJSb2JvdG8tSXRhbGljLXdlYmZvbnRcIjtcbkBtaXhpbiBmb250LWZhY2UoJFJvYm90by1JLCAkZmlsZS1SX0ksICRmYW1pbHktUiwgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LVIgKyBcIi9cIiArICRmaWxlLVJfSTtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skUm9ib3RvLUl9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkUm9ib3RvLUkgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRSb2JvdG8tSX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tSX1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRSb2JvdG8tSX1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIGZvbnRzXG5AaW5jbHVkZSBmb250LWZhY2UoJFJlZ3VsYXItTCwgJGZpbGUtTF9SLCAkZmFtaWx5LUwsICRjYXRlZ29yeSk7Ly8xXG5AaW5jbHVkZSBmb250LWZhY2UoJFJvYm90by1MLCAkZmlsZS1SX0wsICRmYW1pbHktUiwgJGNhdGVnb3J5KTtcbkBpbmNsdWRlIGZvbnQtZmFjZSgkUm9ib3RvLVIsICRmaWxlLVJfUiwgJGZhbWlseS1SLCAkY2F0ZWdvcnkpOy8vMVxuQGluY2x1ZGUgZm9udC1mYWNlKCRSb2JvdG8tSSwgJGZpbGUtUl9JLCAkZmFtaWx5LVIsICRjYXRlZ29yeSk7Ly8xXG5AaW5jbHVkZSBmb250LWZhY2UoJFJvYm90by1NLCAkZmlsZS1SX00sICRmYW1pbHktUiwgJGNhdGVnb3J5KTsvLzFcbkBpbmNsdWRlIGZvbnQtZmFjZSgkUm9ib3RvLUIsICRmaWxlLVJfQiwgJGZhbWlseS1SLCAkY2F0ZWdvcnkpOy8vMVxuXG5cblxuLy8gZm9udC1zaXplXG4kZm9udHA6IDFyZW07XG4kZm9udG5hdjogMS4xNXJlbTtcbiRmb250UGk6IDEuMTVyZW07XG4kaDM6IDEuNXJlbTtcbiRmb250MzI6IDJyZW07XG4kZm9udGgyOiAzcmVtO1xuXG4kZm9udDQwOiAzcmVtO1xuJGZvbnQ1NjogNHJlbTtcbiRmb250SDE6IDRyZW07XG5cbi8vIGludGVybGluZVxuJGxpbmVIMjQ6IDJyZW07XG4kbGluZUgzMjogM3JlbTtcbiRsaW5lSDQwOiA0cmVtO1xuJGxpbmVIOTY6NnJlbTtcblxuLy9pbnRlcmxldHRyZVxuJGxldHRlckkxOiAwLjFyZW07XG4iLCJodG1sLGJvZHl7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG5cbmgxLCBoMiwgaDN7XG4gIGZvbnQtZmFtaWx5OiAkUmVndWxhci1MO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMSxoMntcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXJJMTtcbn1cblxuaDN7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG59XG5cbnVsLGxpLGEscCxkZWx7XG4gIGZvbnQtZmFtaWx5OiAkUm9ib3RvLVI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogJGZvbnRwO1xufVxuXG5lbXtcbiAgZm9udC1mYW1pbHk6ICRSb2JvdG8tSTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuc3Ryb25ne1xuICBmb250LWZhbWlseTogJFJvYm90by1CO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMXtcbiAgZm9udC1zaXplOiAkZm9udEgxO1xuICBsaW5lLWhlaWdodDogJGxpbmVIOTY7XG4gIGF7XG4gICAgZm9udC1mYW1pbHk6ICRSZWd1bGFyLUw7XG4gICAgZm9udC1zaXplOiAkZm9udEgxO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZUg5NjtcbiAgfVxufVxuXG5oMntcbiAgZm9udC1zaXplOiAkZm9udGgyO1xuICBsaW5lLWhlaWdodDogJGxpbmVINDA7XG59XG5cbmgze1xuICBmb250LXNpemU6ICRmb250MzI7XG59XG5cbmhlYWRlcntcbiAgbmF2e1xuICAgIHVse1xuICAgICAgbGl7XG4gICAgICAgIGF7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRSZWd1bGFyLUw7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udG5hdjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmVINDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXJJMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubG9nb3tcbiAgICAjdXNlcntcbiAgICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQzMjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRSZWd1bGFyLUw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZUgzMjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXJJMTtcbiAgICAgIH1cbiAgICB9XG4gICAgLndoeV9sc2Rve1xuICAgICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogJGgzO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlckkxO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNzdGFydHtcbiAgc2VjdGlvbntcbiAgICAuYmxvY2t7XG4gICAgICAgaDN7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICM4ZDI4MTVmZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkUm9ib3RvLVI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgfVxuICAgICAgLmNvbnRlbnR7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNob21le1xuICAgICYgPiBwe1xuICAgICAgZm9udC1mYW1pbHk6ICRSb2JvdG8tTDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnRQaTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZUgyNDtcbiAgICB9XG4gIH1cbiAgI23DqXRpZXJ7XG4gICAgc2VjdGlvbntcbiAgICAgICY6bnRoLW9mLXR5cGUobiszKXtcbiAgICAgICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoLW4rMil7XG4gICAgICAgIGgze1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogIzhkMjgxNWZmO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkUm9ib3RvLUI7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAkaDM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3LDqWbDqXJlbmNlc3tcbiAgICAmID4gcHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcbiAgICB9XG4gICAgaDN7XG4gICAgICBmb250LWZhbWlseTogJFJlZ3VsYXItTDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQ0MDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjOGQyODE1ZmY7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmQ1ZmY7XG4gICAgfVxuICAgICNyZWNvbW1hbmRhdGlvbnN7XG4gICAgICAub3dsLWNhcm91c2Vse1xuICAgICAgICAuY29udGVudHtcbiAgICAgICAgICBwOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAa2V5ZnJhbWVzIHJvdGF0ZU9wZW57XG4gICAgMCUge3RyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7fVxuICAgIDEwMCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbn1cblxuQGtleWZyYW1lcyByb3RhdGVDbG9zZXtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO31cbn1cblxuQGtleWZyYW1lcyB0cmFuc2xhdGVPcGVue1xuICAwJXttYXJnaW4tdG9wOiAwcHg7fVxuICAxMDAle21hcmdpbi10b3A6IC0xNTBweDt9XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNsYXRlQ2xvc2V7XG4gIDAle21hcmdpbi10b3A6IC0xNTBweDt9XG4gIDEwMCV7bWFyZ2luLXRvcDogMHB4O31cbn1cblxuQGtleWZyYW1lcyB0cmFuc2xhdGVPcGVuc3Zne1xuICAwJXttYXJnaW4tdG9wOiA1MHB4O31cbiAgMTAwJXttYXJnaW4tdG9wOiAxODBweDt9XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNsYXRlQ2xvc2Vzdmd7XG4gIDAle21hcmdpbi10b3A6IDE4MHB4O31cbiAgMTAwJXttYXJnaW4tdG9wOiA1MHB4O31cbn1cblxuQGtleWZyYW1lcyB2aXNpYmxle1xuICAwJXtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgfVxuICAxMDAle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaWRkZW57XG4gIDAle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbiAgMTAwJXtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgfVxufVxuXG4ud2h5X2xzZG97XG4gICYub3BlbntcbiAgICBoM3tcbiAgICAgIGFuaW1hdGlvbjogcm90YXRlT3BlbiAxcywgdHJhbnNsYXRlT3BlbiAxcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgICBzZWN0aW9ue1xuICAgICAgYW5pbWF0aW9uOiB2aXNpYmxlIDFzO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgfVxuICAgIHN2Z3tcbiAgICAgIGFuaW1hdGlvbjogcm90YXRlT3BlbiAxcywgdHJhbnNsYXRlT3BlbnN2ZyAxcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgfVxuXG4gICYuY2xvc2V7XG4gICAgaDN7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZUNsb3NlIDFzLCB0cmFuc2xhdGVDbG9zZSAxcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgICBzZWN0aW9ue1xuICAgICAgYW5pbWF0aW9uOiBoaWRkZW4gMXM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICB9XG4gICAgc3Zne1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGVDbG9zZSAxcywgdHJhbnNsYXRlQ2xvc2VzdmcgMXM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICB9XG4gIH1cblxufVxuIiwiaGVhZGVye1xuICB6LWluZGV4OiA5OTk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbmF2e1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdG9wOiAycHg7XG4gICAgdWx7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGxpe1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGl0bGV7XG4gICAgei1pbmRleDogOTk4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBsZWZ0OiA1MHB4O1xuICAgIHJpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIC5maWxldHtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2NXB4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGgxe1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgYXtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dve1xuICAgIG1hcmdpbjogMTUwcHggMCA1MHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAmID4gZGl2e1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICB9XG4gICAgJiA+IHN2Z3tcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICBtYXJnaW46IDAgMzBweDtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgIH1cbiAgICAgJiA+IHNlY3Rpb257XG4gICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcbiAgICAgfVxuICAgICN1c2Vye1xuICAgICAgZGl2e1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcHtcbiAgICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53aHlfbHNkb3tcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGgze1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZykgdHJhbnNsYXRlWSgwcHgpO1xuICAgICAgfVxuICAgICAgc2VjdGlvbntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3A6IC0xMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJj5zdmd7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZykgdHJhbnNsYXRlWSg1MHB4KTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiI3N0YXJ0e1xuICBzZWN0aW9ue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICYgPiBoMiwgJiA+IGgze1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBoM3tcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAgaDJ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtMzVweDtcbiAgfVxuICAuZmlsZXR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjayFpbXBvcnRhbnQ7XG4gIH1cbiAgI2hvbWV7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtaW4td2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDEwMHB4IGF1dG87XG4gIH1cbiAgI23DqXRpZXJ7XG4gICYgPiBkaXZ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZkNWZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgIGgze1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgc2VjdGlvbntcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgJjpudGgtb2YtdHlwZShuKzMpe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAtNjVweDtcbiAgICAgICAgICBsZWZ0OiAtNzBweDtcbiAgICAgICAgICBib3JkZXI6IDcwcHggc29saWQgIzBmMjY1Y2ZmO1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgaDN7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC03NXB4O1xuICAgICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAuY29udGVudHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAuaW1hZ2Vze1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwZjI2NWNmZjtcbiAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgICAgcCx1bCxsaXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudHtcbiAgICAgIHB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWxldHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIH1cbiAgICB9XG4gIH1cbiAgI3LDqWbDqXJlbmNlc3tcbiAgICAmID4gZGl2e1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZkNWZmO1xuICAgICYgPiBwe1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICBtYXJnaW46IDBweCBhdXRvIDBweCBhdXRvO1xuICAgICAgcGFkZGluZzogNTBweCAwIDY1cHggMDtcbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIC5maWxldHtcbiAgICAgICAgdG9wOiAxM3B4IWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAycHggZGFzaGVkICM4ZDI4MTU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY1OWI4YztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBzZWN0aW9ue1xuICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICBwe1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNyZWNvbW1hbmRhdGlvbnN7XG4gICAgICAuY29udGVudHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgICNjbGllbnRze1xuICAgICAgLmltYWdlc3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiAgI2NvbnRhY3R7XG4gICAgJiA+IGRpdntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmID4gZGl2Om50aC1vZi10eXBlKDEpe1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgfVxuICAgICAgcHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgxKXtcbiAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMil7XG4gICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm93bC1jYXJvdXNlbHtcbiAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogNTBweCA1MHB4O1xuICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gIC5vd2wtc3RhZ2Utb3V0ZXJ7XG4gIGhlaWdodDogNTAwcHg7XG4gIH1cbiAgLm93bC1pdGVte1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbiAgfVxuICAgIC5nYWxlcmlle1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC5pbWFnZXN7XG4gICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGVudHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAub3dsLW5hdntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOjM1JTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJ1dHRvbntcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzhkMjgxNWZmIWltcG9ydGFudDtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtOS41cHg7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICYub3dsLXByZXZ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICB9XG4gICAgICAgICYub3dsLW5leHR7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQSw0RUFBNEU7QUFFNUUseUZBQ2dGO0FBRWhGLHdIQUdHO0FBRUgsQUFBQSxJQUFJLENBQUMsRUFDSCxNQUFNLEVBQUUsQ0FBQyxFQUNULE9BQU8sRUFBRSxDQUFDLEVBQ1YsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQzFCLHdCQUF3QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQ3hDOztBQUVELHlGQUNnRjtBQUVoRix5Q0FFRztBQUVILEFBQUEsSUFBSSxDQUFDLEVBQ0gsTUFBTSxFQUFFLENBQUMsRUFDVCxPQUFPLEVBQUUsYUFBYSxHQUN2Qjs7QUFFRCxvREFFRztBQUVILEFBQUEsSUFBSSxDQUFDLEVBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRCxnSUFHRztBQUVILEFBQUEsRUFBRSxDQUFDLEVBQ0QsU0FBUyxFQUFFLEdBQUcsRUFDZCxNQUFNLEVBQUMsQ0FBQyxHQUNUOztBQUVELGlHQUNnRjtBQUVoRixxRkFHRztBQUVILEFBQUEsRUFBRSxDQUFDLEVBQ0Qsa0JBQWtCLEVBQUUsV0FBVyxFQUN2QixVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FDeEMsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQ2xCLFFBQVEsRUFB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 */