.c-rich-text-component {
  font-size: 1.25rem;
  position: relative;
  z-index: 2; }
  @media (min-width: 960px) {
    .c-rich-text-component__container {
      padding-left: 20%;
      padding-right: 20%; } }
  .c-rich-text-component__container--alternate {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media (min-width: 960px) {
      .c-rich-text-component__container--alternate {
        padding-left: 0;
        padding-right: 50px; } }
    @media (min-width: 1330px) {
      .c-rich-text-component__container--alternate {
        padding-right: 100px; } }
  .c-rich-text-component__container--two-column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media (min-width: 400px) {
      .c-rich-text-component__container--two-column {
        padding-right: 15%; } }
    @media (min-width: 960px) {
      .c-rich-text-component__container--two-column {
        padding-left: 15%;
        padding-right: 0; } }
  .c-rich-text-component__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    @media (max-width: 399px) {
      .c-rich-text-component__flex--col-mob {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media (max-width: 959px) {
      .c-rich-text-component__flex--col-mob-medium {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .c-rich-text-component__flex--half {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
  .c-rich-text-component p {
    font-size: 1.25rem;
    margin-bottom: 30px; }
    .c-rich-text-component p a {
      text-decoration: none;
      text-decoration: none;
      background-image: -webkit-gradient(linear, left top, right top, from(#E3553D), color-stop(50%, #E3553D), color-stop(50%, #009CDE), to(#009CDE));
      background-image: linear-gradient(to right, #E3553D, #E3553D 50%, #009CDE 50%, #009CDE);
      background-position: 100% 100%;
      background-repeat: no-repeat;
      background-size: 200% 2px;
      -webkit-transition: background-position .3s;
      transition: background-position .3s; }
      .c-rich-text-component p a:hover {
        background-position: 0 100%; }
  .c-rich-text-component ul {
    padding: 0;
    margin-top: 0; }
    .c-rich-text-component ul li {
      list-style: none;
      position: relative;
      padding-left: 20px; }
      .c-rich-text-component ul li:before {
        content: "\2022";
        color: #E3553D;
        position: absolute;
        left: 0; }
  .c-rich-text-component a {
    font-size: 1.125rem;
    color: #009CDE;
    line-height: 1.2;
    text-decoration: none;
    background-image: -webkit-gradient(linear, left top, right top, from(#E3553D), color-stop(50%, #E3553D), color-stop(50%, #009CDE), to(#009CDE));
    background-image: linear-gradient(to right, #E3553D, #E3553D 50%, #009CDE 50%, #009CDE);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 200% 2px;
    -webkit-transition: background-position .3s;
    transition: background-position .3s; }
    .c-rich-text-component a:hover {
      background-position: 0 100%; }
  .c-rich-text-component span,
  .c-rich-text-component h1,
  .c-rich-text-component h2,
  .c-rich-text-component h3,
  .c-rich-text-component h4,
  .c-rich-text-component .style1,
  .c-rich-text-component .style2,
  .c-rich-text-component .style3,
  .c-rich-text-component .style4 {
    color: #004D61;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: bold; }
  .c-rich-text-component .style1, .c-rich-text-component .style2, .c-rich-text-component .style3, .c-rich-text-component .style4 {
    font-family: "Montserrat", Arial, sans-serif; }
  .c-rich-text-component .style1, .c-rich-text-component h1.style1, .c-rich-text-component h2.style1, .c-rich-text-component h3.style1, .c-rich-text-component h4.style1 {
    font-size: 2rem; }
  .c-rich-text-component h1.style2, .c-rich-text-component h2.style2, .c-rich-text-component h3.style2, .c-rich-text-component h4.style2, .c-rich-text-component .style2 {
    font-size: 1.5rem; }
  .c-rich-text-component h1.style3, .c-rich-text-component h2.style3, .c-rich-text-component h3.style3, .c-rich-text-component h4.style3, .c-rich-text-component .style3 {
    font-size: 1.375rem; }
  .c-rich-text-component h1.style4, .c-rich-text-component h2.style4, .c-rich-text-component h3.style4, .c-rich-text-component h4.style4, .c-rich-text-component .style4 {
    font-size: 1.3125rem; }
  .c-rich-text-component .remove-margin {
    margin-bottom: 0; }
  .c-rich-text-component .small {
    font-size: 0.875rem; }
  .c-rich-text-component span.bullet {
    color: #FFB323;
    padding: 0 12px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjA0LWNvbXBvbmVudHMvcmljaC10ZXh0LWNvbXBvbmVudC5zY3NzIiwidG9vbHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsInRvb2xzL21peGlucy9fbWl4aW5zLnNjc3MiLCJzZXR0aW5ncy9fY29sb3Vycy5zY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLGtCQytCd0Q7RUQ5QnhELGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7RUUyRFY7SUYxREE7TUFFUSxpQkFBaUI7TUFDakIsa0JBQWtCLEVBQUEsRUF1QnpCO0VBckJHO0lBQ0ksbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTyxFQUFBO0lFb0RmO01GckRJO1FBR1EsZUFBZTtRQUNmLG1CQUFtQixFQUFBLEVBSzFCO0lFNENMO01GckRJO1FBT1Esb0JBQW9CLEVBQUEsRUFFM0I7RUFDRDtJQUNJLG1CQUFPO1FBQVAsV0FBTztZQUFQLE9BQU8sRUFBQTtJRTBDZjtNRjNDSTtRQUdRLGtCQUFrQixFQUFBLEVBT3pCO0lFaUNMO01GM0NJO1FBT1EsaUJBQWlCO1FBQ2pCLGdCQUFnQixFQUFBLEVBRXZCO0VBRUw7SUFDSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLFdBQVcsRUFBQTtJRTZCZjtNRjVCSTtRQUVRLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0IsRUFBQSxFQUU3QjtJRXdCTDtNRnZCSTtRQUVRLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0IsRUFBQSxFQUU3QjtJQUNEO01BQ0ksbUJBQU87VUFBUCxXQUFPO2NBQVAsT0FBTyxFQUFBO0VBN0NuQjtJQWlEUSxrQkNqQm9EO0lEa0JwRCxtQkFBbUIsRUFBQTtJQWxEM0I7TUFvRFkscUJBQXFCO01HMkQ3QixxQkFBcUI7TUFDckIsK0lBQW1IO01BQW5ILHVGQUFtSDtNQUNuSCw4QkFBOEI7TUFDOUIsNEJBQTRCO01BQzVCLHlCQUF5QjtNQUN6QiwyQ0FBbUM7TUFBbkMsbUNBQW1DLEVBQUE7TUhwSHZDO1FHc0hRLDJCQUEyQixFQUFBO0VIdEhuQztJQXlEUSxVQUFVO0lBQ1YsYUFBYSxFQUFBO0lBMURyQjtNQTREWSxnQkFBZ0I7TUFDaEIsa0JBQWtCO01BQ2xCLGtCQUFrQixFQUFBO01BOUQ5QjtRQWdFZ0IsZ0JBQWdCO1FBQ2hCLGNJdkRZO1FKd0RaLGtCQUFrQjtRQUNsQixPQUFPLEVBQUE7RUFuRXZCO0lBd0VRLG1CQ3hDb0Q7SUR5Q3BELGNJbEVvQjtJSm1FcEIsZ0JBQWdCO0lHcUNwQixxQkFBcUI7SUFDckIsK0lBQW1IO0lBQW5ILHVGQUFtSDtJQUNuSCw4QkFBOEI7SUFDOUIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QiwyQ0FBbUM7SUFBbkMsbUNBQW1DLEVBQUE7SUhwSHZDO01Hc0hRLDJCQUEyQixFQUFBO0VIdEhuQzs7Ozs7Ozs7O0lBc0ZRLGNJaEYwQjtJSmlGMUIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixpQkFBaUIsRUFBQTtFQXpGekI7SUE0RlEsNENLNUZzRCxFQUFBO0VMQTlEO0lBK0ZRLGVBQWUsRUFBQTtFQS9GdkI7SUFrR1EsaUJDbEVvRCxFQUFBO0VEaEM1RDtJQXFHUSxtQkNyRW9ELEVBQUE7RURoQzVEO0lBd0dRLG9CQ3hFb0QsRUFBQTtFRGhDNUQ7SUEyR1EsZ0JBQWdCLEVBQUE7RUEzR3hCO0lBOEdRLG1CQzlFb0QsRUFBQTtFRGhDNUQ7SUFpSFEsY0l0R2tCO0lKdUdsQixlQUFlLEVBQUEiLCJmaWxlIjoiMDQtY29tcG9uZW50cy9yaWNoLXRleHQtY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9jb3JlXCI7XHJcblxyXG4uYy1yaWNoLXRleHQtY29tcG9uZW50IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tYWx0ZXJuYXRlIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIGxhcmdlKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tdHdvLWNvbHVtbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCB4LXNtYWxsKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTUlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi0tY29sLW1vYiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCB4LXNtYWxsKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1jb2wtbW9iLW1lZGl1bSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWhhbGYge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbGluay1hbmltYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGJyYW5kLWNvbG91cignY2hhcmxpZScpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xyXG4gICAgICAgIGNvbG9yOiBicmFuZC1jb2xvdXIoJ2JyYXZvJyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBAaW5jbHVkZSBsaW5rLWFuaW1hdGlvbjtcclxuICAgIH1cclxuICAgIHNwYW4sXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIC5zdHlsZTEsXHJcbiAgICAuc3R5bGUyLFxyXG4gICAgLnN0eWxlMyxcclxuICAgIC5zdHlsZTQge1xyXG4gICAgICAgIGNvbG9yOiBicmFuZC1jb2xvdXIoJ2FscGhhJyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgLnN0eWxlMSwgLnN0eWxlMiwgLnN0eWxlMywgLnN0eWxlNHtcclxuICAgICAgICBmb250LWZhbWlseTogdHlwb2dyYXBoeSgnZm9udC1mYW1pbHktaGVhZGluZy1iYXNlJyk7XHJcbiAgICB9XHJcbiAgICAuc3R5bGUxLCBoMS5zdHlsZTEsIGgyLnN0eWxlMSwgaDMuc3R5bGUxLCBoNC5zdHlsZTEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIH1cclxuICAgIGgxLnN0eWxlMiwgaDIuc3R5bGUyLCBoMy5zdHlsZTIsIGg0LnN0eWxlMiwgLnN0eWxlMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XHJcbiAgICB9XHJcbiAgICBoMS5zdHlsZTMsIGgyLnN0eWxlMywgaDMuc3R5bGUzLCBoNC5zdHlsZTMsIC5zdHlsZTMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xyXG4gICAgfVxyXG4gICAgaDEuc3R5bGU0LCBoMi5zdHlsZTQsIGgzLnN0eWxlNCwgaDQuc3R5bGU0LCAuc3R5bGU0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyMXB4KTtcclxuICAgIH1cclxuICAgIC5yZW1vdmUtbWFyZ2luIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLnNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcclxuICAgIH1cclxuICAgIHNwYW4uYnVsbGV0e1xyXG4gICAgICAgIGNvbG9yOiBicmFuZC1jb2xvdXIoJ2RlbHRhJyk7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59IiwiJHJlYy1iYXNlbGluZTogMTZweCAhZGVmYXVsdDtcclxuJHJlYy1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XHJcbiRyZWMtcHgtb25seTogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gcmVjLXNlcGFyYXRvcigkbGlzdCwgJHNlcGFyYXRvcjogZmFsc2UpIHtcclxuICBAaWYgJHNlcGFyYXRvciA9PSBcImNvbW1hXCIgb3IgJHNlcGFyYXRvciA9PSBcInNwYWNlXCIge1xyXG4gICAgQHJldHVybiBhcHBlbmQoJGxpc3QsIG51bGwsICRzZXBhcmF0b3IpO1xyXG4gIH0gXHJcbiAgXHJcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcImxpc3Qtc2VwYXJhdG9yXCIpID09IHRydWUge1xyXG4gICAgQHJldHVybiBsaXN0LXNlcGFyYXRvcigkbGlzdCk7XHJcbiAgfVxyXG5cclxuICAvLyBsaXN0LXNlcGFyYXRvciBwb2x5ZmlsbCBieSBIdWdvIEdpcmF1ZGVsIChodHRwczovL3Nhc3MtY29tcGF0aWJpbGl0eS5naXRodWIuaW8vI2xpc3Rfc2VwYXJhdG9yX2Z1bmN0aW9uKVxyXG4gICR0ZXN0LWxpc3Q6ICgpO1xyXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgICR0ZXN0LWxpc3Q6IGFwcGVuZCgkdGVzdC1saXN0LCAkaXRlbSwgc3BhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkdGVzdC1saXN0ID09ICRsaXN0LCBzcGFjZSwgY29tbWEpO1xyXG59XHJcblxyXG5AbWl4aW4gcmVjLWJhc2VsaW5lKCR6b29tOiAxMDAlKSB7XHJcbiAgZm9udC1zaXplOiAkem9vbSAvIDE2cHggKiAkcmVjLWJhc2VsaW5lO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVjLWNvbnZlcnQoJHRvLCAkdmFsdWVzLi4uKSB7XHJcbiAgJHJlc3VsdDogKCk7XHJcbiAgJHNlcGFyYXRvcjogcmVjLXNlcGFyYXRvcigkdmFsdWVzKTtcclxuICBcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInJlbVwiIGFuZCAkdG8gPT0gXCJweFwiIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvIDFyZW0gKiAkcmVjLWJhc2VsaW5lICsgMHB4LCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInB4XCIgYW5kICR0byA9PSBcInJlbVwiIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvICRyZWMtYmFzZWxpbmUgKyAwcmVtLCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibGlzdFwiIHtcclxuICAgICAgJHZhbHVlLXNlcGFyYXRvcjogcmVjLXNlcGFyYXRvcigkdmFsdWUpO1xyXG4gICAgICAkdmFsdWU6IHJlYy1jb252ZXJ0KCR0bywgJHZhbHVlLi4uKTtcclxuICAgICAgJHZhbHVlOiByZWMtc2VwYXJhdG9yKCR2YWx1ZSwgJHZhbHVlLXNlcGFyYXRvcik7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZihsZW5ndGgoJHJlc3VsdCkgPT0gMSwgbnRoKCRyZXN1bHQsIDEpLCAkcmVzdWx0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLi4uKSB7XHJcbiAgQGlmICRyZWMtcHgtb25seSB7XHJcbiAgICBAcmV0dXJuIHJlYy1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gcmVjLWNvbnZlcnQocmVtLCAkdmFsdWVzLi4uKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZW0oJHByb3BlcnRpZXMsICR2YWx1ZXMuLi4pIHtcclxuICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJtYXBcIiB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gbWFwLWtleXMoJHByb3BlcnRpZXMpIHtcclxuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICBAaWYgJHJlYy1mYWxsYmFjayBvciAkcmVjLXB4LW9ubHkge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogcmVjLWNvbnZlcnQocHgsICR2YWx1ZXMuLi4pO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiBub3QgJHJlYy1weC1vbmx5IHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06IHJlYy1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcclxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xyXG5AbWl4aW4gdGV4dC1vdmVyZmxvdyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gc3RhbmRhcmQtY29udGFpbmVyKCRsZWZ0LXBhZGRpbmc6IDI1cHgsICRyaWdodC1wYWRkaW5nOiAyNXB4KSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0LXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQtcGFkZGluZztcclxuICAgIG1heC13aWR0aDogJGdyaWQ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuQG1peGluIGdyaWQtYmxvY2soJGNvbHMsICRncmlkLWdhcC1ob3Jpem9udGFsLCAkZ3JpZC1nYXAtdmVydGljYWwpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1nYXAtaG9yaXpvbnRhbCAvMjtcclxuICAgIG1hcmdpbi1yaWdodDogLSRncmlkLWdhcC1ob3Jpem9udGFsIC8yO1xyXG4gICAgPioge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCgoMTAwJSAvICN7JGNvbHN9KSAtICgjeyRncmlkLWdhcC1ob3Jpem9udGFsfSkpKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1nYXAtdmVydGljYWw7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1nYXAtaG9yaXpvbnRhbCAvIDI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLWdhcC1ob3Jpem9udGFsIC8gMjtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xyXG4gICAgICAgIGNvbHVtbi1nYXA6ICRncmlkLWdhcC1ob3Jpem9udGFsO1xyXG4gICAgICAgIHJvdy1nYXA6ICRncmlkLWdhcC12ZXJ0aWNhbDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2xzLCAxZnIpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgPioge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBObyBCdWxsZXRzIG9uIGxpc3RzXHJcbkBtaXhpbiBuby1idWxsZXQge1xyXG4gICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5AbWl4aW4gbm8tYnVsbGV0cyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGkge1xyXG4gICAgICAgIEBpbmNsdWRlIG5vLWJ1bGxldDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRhYmxlZnkoJHZhbGlnbm1lbnQ6IG1pZGRsZSkge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWdubWVudDtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBAaW5jbHVkZSBndXR0ZXJzKGluc2lkZSk7XHJcbn1cclxuXHJcbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGZsdWlkLXR5cGUoJHByb3BlcnRpZXMsICRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsdWUsICRtYXgtdmFsdWUpIHtcclxuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiAkbWluLXZhbHVlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4tdncpIHtcclxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skbWluLXZhbHVlfSArICN7c3RyaXAtdW5pdCgkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSl9ICogKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtdncpIHtcclxuICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRtYXgtdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XHJcbiAgICBAaWYgdHlwZS1vZigkbnVtYmVyKT09XCJudW1iZXJcImFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xyXG4gICAgICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiAkbnVtYmVyO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLWFuaW1hdGlvbigkYmFja2dyb3VuZDogYnJhbmQtY29sb3VyKCdicmF2bycpLCAkYmFja2dyb3VuZC1ob3ZlcjogYnJhbmQtY29sb3VyKCdjaGFybGllJykpIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGJhY2tncm91bmQtaG92ZXIsICRiYWNrZ3JvdW5kLWhvdmVyIDUwJSwgJGJhY2tncm91bmQgNTAlLCAkYmFja2dyb3VuZCk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDJweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gLjNzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay1hbmltYXRpb24tYWx0ZXJuYXRlKCRiYWNrZ3JvdW5kLWhvdmVyOiBicmFuZC1jb2xvdXIoJ2NoYXJsaWUnKSwgJGFsd2F5c19hY3RpdmU6IGZhbHNlKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgY3ViaWMtYmV6aWVyKDAsLjUsMCwxKTtcclxuICAgIH1cclxuICAgIEBpZiAkYWx3YXlzX2FjdGl2ZSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaW9zLWRldmljZXMge1xyXG4gICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNhZmFyaS1icm93c2VyIHtcclxuICAgIEBtZWRpYSBub3QgYWxsIGFuZCAobWluLXJlc29sdXRpb246LjAwMWRwY20pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCIuLi90b29scy9mdW5jdGlvbnMvbWFwc1wiO1xyXG5cclxuLy8gIyBDb2xvcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWxldHRlOiAoXHJcbiAgICBjb2xvdXItZ29ibGluOiAjM0E4NDMzLFxyXG4gICAgY29sb3VyLXR1YXRhcmE6ICMzQzNDM0IsXHJcbiAgICBjb2xvdXItYXN0cm9uYXV0LWJsdWU6ICMwMDRENjEsXHJcbiAgICBjb2xvdXItY2VydWxlYW46ICMwMDlDREUsXHJcbiAgICBjb2xvdXItY2hpbm86ICNDRkM1QTgsXHJcbiAgICBjb2xvdXItY2FuLWNhbjogI0Q2OThCRixcclxuICAgIGNvbG91ci1jaW5uYWJhcjogI0UzNTUzRCxcclxuICAgIGNvbG91ci1teS1zaW46ICNGRkIzMjNcclxuKTtcclxuXHJcbkBmdW5jdGlvbiBwYWxldHRlKCRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkcGFsZXR0ZSwgJGtleSk7XHJcbn1cclxuXHJcbiRicmFuZC1jb2xvdXJzOiAoXHJcbiAgICBhbHBoYTogcGFsZXR0ZSgnY29sb3VyLWFzdHJvbmF1dC1ibHVlJyksXHJcbiAgICBicmF2bzogcGFsZXR0ZSgnY29sb3VyLWNlcnVsZWFuJyksXHJcbiAgICBjaGFybGllOiBwYWxldHRlKCdjb2xvdXItY2lubmFiYXInKSxcclxuICAgIGRlbHRhOiBwYWxldHRlKCdjb2xvdXItbXktc2luJyksXHJcbiAgICBlY2hvOiBwYWxldHRlKCdjb2xvdXItZ29ibGluJyksXHJcbiAgICBmb3h0cm90OiBwYWxldHRlKCdjb2xvdXItY2FuLWNhbicpLFxyXG4gICAgZ29sZjogcGFsZXR0ZSgnY29sb3VyLWNoaW5vJyksXHJcbiAgICBob3RlbDogcGFsZXR0ZSgnY29sb3VyLXR1YXRhcmEnKVxyXG4pO1xyXG5cclxuQGZ1bmN0aW9uIGJyYW5kLWNvbG91cigka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyYW5kLWNvbG91cnMsICRrZXkpO1xyXG59XHJcblxyXG4kZnVuY3Rpb25hbC1jb2xvdXJzOiAoXHJcbiAgICBib2R5OiAoXHJcbiAgICAgICAgYmFzZTogYnJhbmQtY29sb3VyKCdob3RlbCcpXHJcbiAgICApXHJcbik7XHJcblxyXG5AZnVuY3Rpb24gZnVuY3Rpb25hbC1jb2xvdXIoJHNlY3Rpb24sICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBtYXAtZGVlcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3VycywgJHNlY3Rpb24sICR2YWx1ZSk7XHJcbn0iLCIkdHlwb2dyYXBoeTogKCBcclxuICAgIGZvbnQtZmFtaWx5LWJvZHktYmFzZTogKCdSb2JvdG8nLCBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIiwgVGFob21hLCBzYW5zLXNlcmlmKSwgXHJcbiAgICBmb250LWZhbWlseS1oZWFkaW5nLWJhc2U6ICgnTW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmKSwgXHJcbiAgICBmb250LWxpbmUtaGVpZ2h0LWJhc2U6IDEuNSwgZm9udC1zaXplLWJhc2U6IDE2cHgpO1xyXG5AZnVuY3Rpb24gdHlwb2dyYXBoeSgka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHR5cG9ncmFwaHksICRrZXkpO1xyXG59Il19 */
