.angle--top-left {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%);
}

@supports not ((-webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%)) or (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 100%))) {
  .angle--top-left::before, .angle--top-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--top-left::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
}

.angle--top-right {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%);
}

@supports not ((-webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%)) or (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 100%))) {
  .angle--top-right::before, .angle--top-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--top-right::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
}

.angle--bottom-left {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw));
}

@supports not ((-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw))) or (clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 7vw)))) {
  .angle--bottom-left::before, .angle--bottom-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--bottom-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--bottom-right {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
}

@supports not ((-webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%)) or (clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%))) {
  .angle--bottom-right::before, .angle--bottom-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--bottom-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-left-left {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw));
          clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw));
}

@supports not ((-webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw))) or (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% 100%, 0 calc(100% - 7vw)))) {
  .angle--both-left-left::before, .angle--both-left-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-left-left::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-left-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-right-right {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%);
          clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%);
}

@supports not ((-webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%)) or (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% calc(100% - 7vw), 0 100%))) {
  .angle--both-right-right::before, .angle--both-right-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-right-right::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-right-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-left-right {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%);
          clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%);
}

@supports not ((-webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%)) or (clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%))) {
  .angle--both-left-right::before, .angle--both-left-right::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-left-right::before {
    top: 0;
    border-width: 8vw 100vw 0 0;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-left-right::after {
    bottom: 0;
    border-width: 0 0 8vw 100vw;
    border-color: transparent transparent #fff transparent;
  }
}

.angle--both-right-left {
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw));
          clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw));
}

@supports not ((-webkit-clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw))) or (clip-path: polygon(0 0, 100% calc(0% + 7vw), 100% 100%, 0 calc(100% - 7vw)))) {
  .angle--both-right-left::before, .angle--both-right-left::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    border-style: solid;
  }
  .angle--both-right-left::before {
    top: 0;
    border-width: 8vw 0 0 100vw;
    border-color: #fff transparent transparent transparent;
  }
  .angle--both-right-left::after {
    bottom: 0;
    border-width: 0 100vw 8vw 0;
    border-color: transparent transparent #fff transparent;
  }
}

.angle__content {
  display: block;
  width: 100%;
  height: auto;
}

.angle--colour {
  color: #fff;
  background-color: #2196F3;
  text-align: center;
  padding: 10% 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFuZ2xlZC1lZGdlcy5zY3NzIiwiYW5nbGVkLWVkZ2VzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0SEE7RUFsSEUsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQW1FakIsd0VBRG1CO1VBQ25CLGdFQURtQjtDQWlEcEI7O0FBMUN3QztFQXdDekM7SUFyQ1EsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsWUFBWTtJQUNaLGVBQWU7SUFDZixvQkFBb0I7R0FDckI7RUErQlA7SUEzQlUsT0FBTztJQUNQLDRCQXZEMEM7SUF3RDFDLHVEQS9DZ0U7R0FnRGpFO0NDaEZSOztBRDRHRDtFQXRIRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBbUVqQix3RUFEbUI7VUFDbkIsZ0VBRG1CO0NBcURwQjs7QUE5Q3dDO0VBNEN6QztJQXpDUSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtHQUNyQjtFQW1DUDtJQS9CVSxPQUFPO0lBQ1AsNEJBakQwQztJQWtEMUMsdURBL0NnRTtHQWdEakU7Q0MxRFI7O0FEMEZEO0VBMUhFLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFtRWpCLHVFQURtQjtVQUNuQiwrREFEbUI7Q0F5RHBCOztBQWxEd0M7RUFnRHpDO0lBN0NRLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLFlBQVk7SUFDWixlQUFlO0lBQ2Ysb0JBQW9CO0dBQ3JCO0VBdUNQO0lBM0JVLFVBQVU7SUFDViw0QkF6QzZDO0lBMEM3Qyx1REFqQ21FO0dBa0NwRTtDQzVDUjs7QUR3RUQ7RUE5SEUsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQW1FakIsdUVBRG1CO1VBQ25CLCtEQURtQjtDQTZEcEI7O0FBdER3QztFQW9EekM7SUFqRFEsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsWUFBWTtJQUNaLGVBQWU7SUFDZixvQkFBb0I7R0FDckI7RUEyQ1A7SUEvQlUsVUFBVTtJQUNWLDRCQW5DNkM7SUFvQzdDLHVEQWpDbUU7R0FrQ3BFO0NDdEJSOztBRHNERDtFQWxJRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBbUVqQixvRkFEbUI7VUFDbkIsNEVBRG1CO0NBaUVwQjs7QUExRHdDO0VBd0R6QztJQXJEUSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtHQUNyQjtFQStDUDtJQTNDVSxPQUFPO0lBQ1AsNEJBdkQwQztJQXdEMUMsdURBL0NnRTtHQWdEakU7RUF3Q1Q7SUFuQ1UsVUFBVTtJQUNWLDRCQXpDNkM7SUEwQzdDLHVEQWpDbUU7R0FrQ3BFO0NDS1I7O0FEK0JEO0VBdElFLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFtRWpCLG9GQURtQjtVQUNuQiw0RUFEbUI7Q0FxRXBCOztBQTlEd0M7RUE0RHpDO0lBekRRLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLFlBQVk7SUFDWixlQUFlO0lBQ2Ysb0JBQW9CO0dBQ3JCO0VBbURQO0lBL0NVLE9BQU87SUFDUCw0QkFqRDBDO0lBa0QxQyx1REEvQ2dFO0dBZ0RqRTtFQTRDVDtJQXZDVSxVQUFVO0lBQ1YsNEJBbkM2QztJQW9DN0MsdURBakNtRTtHQWtDcEU7Q0NnQ1I7O0FEUUQ7RUExSUUsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQW1FakIsb0ZBRG1CO1VBQ25CLDRFQURtQjtDQXlFcEI7O0FBbEV3QztFQWdFekM7SUE3RFEsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsWUFBWTtJQUNaLGVBQWU7SUFDZixvQkFBb0I7R0FDckI7RUF1RFA7SUFuRFUsT0FBTztJQUNQLDRCQXZEMEM7SUF3RDFDLHVEQS9DZ0U7R0FnRGpFO0VBZ0RUO0lBM0NVLFVBQVU7SUFDViw0QkFuQzZDO0lBb0M3Qyx1REFqQ21FO0dBa0NwRTtDQzJEUjs7QURmRDtFQTlJRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBbUVqQixvRkFEbUI7VUFDbkIsNEVBRG1CO0NBNkVwQjs7QUF0RXdDO0VBb0V6QztJQWpFUSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtHQUNyQjtFQTJEUDtJQXZEVSxPQUFPO0lBQ1AsNEJBakQwQztJQWtEMUMsdURBL0NnRTtHQWdEakU7RUFvRFQ7SUEvQ1UsVUFBVTtJQUNWLDRCQXpDNkM7SUEwQzdDLHVEQWpDbUU7R0FrQ3BFO0NDc0ZSOztBRHJDQztFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osYUFBYTtDQUNkOztBQUVIO0VBQ0UsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsZUFBZTtDQUNoQiIsImZpbGUiOiJhbmdsZWQtZWRnZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyAkYW5nbGU6IFRoZSBhbmdsZSBpbiBkZWdyZWVzOiAxIC0gNDVcbi8vICRhbmdsZS1wb3NpdGlvbi15OiBUaGUgWSBwb3NpdGlvbiBvZiB0aGUgYW5nbGU6IHRvcCB8IGJvdHRvbSB8IGJvdGhcbi8vICRhbmdsZS1wb3NpdGlvbi14OiBUaGUgWCBwb3NpdGlvbiBvZiB0aGUgYW5nbGU6IGxlZnQgfCByaWdodFxuLy8gJGFuZ2xlLXBvc2l0aW9uLWJvdHRvbS14OiBUaGUgWCBwb3NpdGlvbiBvZiB0aGUgYm90dG9tIGFuZ2xlIGlmIHVzaW5nICdib3RoJyBmb3IgJGFuZ2xlLXBvc2l0aW9uLXk6IGxlZnQgfCByaWdodFxuLy8gJGZhbGxiYWNrOiBDcmVhdGUgYSBmYWxsYmFjayBmb3Igb2xkZXIgYnJvd3NlcnM6IHRydWUgfCBmYWxzZVxuLy8gJGZhbGxiYWNrLWNvbG9yOiBGYWxsYmFjayBjb2xvdXIgZm9yIG9sZGVyIGJyb3dzZXJzOiBIZXggY29sb3JcblxuQG1peGluIGFuZ2xlLWVkZ2UoJGFuZ2xlLCAkYW5nbGUtcG9zaXRpb24teSwgJGFuZ2xlLXBvc2l0aW9uLXgsICRhbmdsZS1wb3NpdGlvbi1ib3R0b20teDogJycsICRmYWxsYmFjazogdHJ1ZSwgJGZhbGxiYWNrLWNvbG9yOiAjZmZmKSB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIENvbnZlcnRzIGRlZ3JlZXMgdG8gVlcsIDEwMHZ3ID0gNDVkZWcgdXNpbmcgdGhpcyB0ZWNobmlxdWVcbiAgQGlmICRhbmdsZSA8IDQ2IHtcbiAgICAkYW5nbGU6IGNvbnZlcnREZWdUb1ZXKCRhbmdsZSk7XG4gIH1cbiAgQGlmICRhbmdsZSA+IDQ1IHtcbiAgICAkYW5nbGU6IDA7XG4gICAgQGVycm9yICdJbnZhbGlkIGFuZ2xlLCBpdCBtdXN0IGJlIGJldHdlZW4gMS00NSc7XG4gIH1cblxuICBAaWYgJGFuZ2xlLXBvc2l0aW9uLWJvdHRvbS14ID09ICcnIHtcbiAgICAkYW5nbGUtcG9zaXRpb24tYm90dG9tLXg6ICRhbmdsZS1wb3NpdGlvbi14O1xuICB9XG5cbiAgJGFuZ2xlLWNhbGMtdG9wOiBjYWxjKDAlICsgI3skYW5nbGV9dncpO1xuICAkYW5nbGUtY2FsYy1ib3R0b206IGNhbGMoMTAwJSAtICN7JGFuZ2xlfXZ3KTtcblxuICAkY2xpcC1wYXRoLXRvcDogMCAwLCAxMDAlIDA7XG4gICRjbGlwLXBhdGgtYm90dG9tOiAxMDAlIDEwMCUsIDAgMTAwJTtcblxuICAkYm9yZGVyLXdpZHRoLXRvcDogJyc7XG4gICRib3JkZXItd2lkdGgtYm90dG9tOiAnJztcbiAgJGJvcmRlci1jb2xvci10b3A6ICcnO1xuICAkYm9yZGVyLWNvbG9yLWJvdHRvbTogJyc7XG5cblxuICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXkgPT0gJ3RvcCcgb3IgJGFuZ2xlLXBvc2l0aW9uLXkgPT0gJ2JvdGgnIHtcbiAgICBcbiAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXggPT0gJ2xlZnQnIHtcbiAgICAgICRjbGlwLXBhdGgtdG9wOiAwICRhbmdsZS1jYWxjLXRvcCwgMTAwJSAwOyAgIFxuXG4gICAgICAkYm9yZGVyLXdpZHRoLXRvcDogI3skYW5nbGUgKyAxfXZ3IDEwMHZ3IDAgMDtcbiAgICB9XG5cbiAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXggPT0gJ3JpZ2h0JyB7XG4gICAgICAkY2xpcC1wYXRoLXRvcDogMCAwLCAxMDAlICRhbmdsZS1jYWxjLXRvcDtcblxuICAgICAgJGJvcmRlci13aWR0aC10b3A6ICN7JGFuZ2xlICsgMX12dyAwIDAgMTAwdnc7XG4gICAgfVxuXG4gICAgJGJvcmRlci1jb2xvci10b3A6ICRmYWxsYmFjay1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuXG5cbiAgQGlmICRhbmdsZS1wb3NpdGlvbi15ID09ICdib3R0b20nIG9yICRhbmdsZS1wb3NpdGlvbi15ID09ICdib3RoJyB7XG5cbiAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXkgPT0gJ2JvdGgnIGFuZCAkYW5nbGUtcG9zaXRpb24teCAhPSAkYW5nbGUtcG9zaXRpb24tYm90dG9tLXgge1xuICAgICAgJGFuZ2xlLXBvc2l0aW9uLXg6ICRhbmdsZS1wb3NpdGlvbi1ib3R0b20teDtcbiAgICB9XG5cbiAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXggPT0gJ2xlZnQnIHtcbiAgICAgICRjbGlwLXBhdGgtYm90dG9tOiAxMDAlIDEwMCUsIDAgJGFuZ2xlLWNhbGMtYm90dG9tOyAgIFxuXG4gICAgICAkYm9yZGVyLXdpZHRoLWJvdHRvbTogMCAxMDB2dyAjeyRhbmdsZSArIDF9dncgMDtcbiAgICB9XG5cbiAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXggPT0gJ3JpZ2h0JyB7XG4gICAgICAkY2xpcC1wYXRoLWJvdHRvbTogMTAwJSAkYW5nbGUtY2FsYy1ib3R0b20sIDAgMTAwJTsgICBcblxuICAgICAgJGJvcmRlci13aWR0aC1ib3R0b206IDAgMCAjeyRhbmdsZSArIDF9dncgMTAwdnc7XG4gICAgfVxuICAgIFxuICAgICRib3JkZXItY29sb3ItYm90dG9tOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkZmFsbGJhY2stY29sb3IgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAkY2xpcC1wYXRoOiBwb2x5Z29uKCRjbGlwLXBhdGgtdG9wLCAkY2xpcC1wYXRoLWJvdHRvbSk7XG4gIGNsaXAtcGF0aDogJGNsaXAtcGF0aDtcblxuXG4gIC8vIEZhbGxiYWNrIGZvciBjbGlwLXBhdGggd2l0aCBzb2xpZCBjb2xvdXJzXG4gIEBpZiAkZmFsbGJhY2sge1xuXG4gICAgQHN1cHBvcnRzIG5vdCAoY2xpcC1wYXRoOiAkY2xpcC1wYXRoKSB7XG5cbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cblxuICAgICAgQGlmICRhbmdsZS1wb3NpdGlvbi15ID09ICd0b3AnIG9yICRhbmdsZS1wb3NpdGlvbi15ID09ICdib3RoJyB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aC10b3A7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yLXRvcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGFuZ2xlLXBvc2l0aW9uLXkgPT0gJ2JvdHRvbScgb3IgJGFuZ2xlLXBvc2l0aW9uLXkgPT0gJ2JvdGgnIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGgtYm90dG9tO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvci1ib3R0b207XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuLy8gQ29udmVydHMgZGVncmVlcyB0byBWVywgMTAwdncgPSA0NWRlZyB1c2luZyB0aGlzIHRlY2huaXF1ZVxuQGZ1bmN0aW9uIGNvbnZlcnREZWdUb1ZXKCRhbmdsZSl7XG4gIEByZXR1cm4gcm91bmQoJGFuZ2xlKjIuMjIpO1xufVxuXG5cbi8vIENsYXNzZXNcbi5hbmdsZS0tdG9wLWxlZnQge1xuICBAaW5jbHVkZSBhbmdsZS1lZGdlKCRhbmdsZTogMywgJGFuZ2xlLXBvc2l0aW9uLXk6ICd0b3AnLCAkYW5nbGUtcG9zaXRpb24teDogJ2xlZnQnKTtcbn1cblxuLmFuZ2xlLS10b3AtcmlnaHQge1xuICBAaW5jbHVkZSBhbmdsZS1lZGdlKCRhbmdsZTogMywgJGFuZ2xlLXBvc2l0aW9uLXk6ICd0b3AnLCAkYW5nbGUtcG9zaXRpb24teDogJ3JpZ2h0Jyk7XG59XG5cbi5hbmdsZS0tYm90dG9tLWxlZnQge1xuICBAaW5jbHVkZSBhbmdsZS1lZGdlKCRhbmdsZTogMywgJGFuZ2xlLXBvc2l0aW9uLXk6ICdib3R0b20nLCAkYW5nbGUtcG9zaXRpb24teDogJ2xlZnQnKTtcbn1cblxuLmFuZ2xlLS1ib3R0b20tcmlnaHQge1xuICBAaW5jbHVkZSBhbmdsZS1lZGdlKCRhbmdsZTogMywgJGFuZ2xlLXBvc2l0aW9uLXk6ICdib3R0b20nLCAkYW5nbGUtcG9zaXRpb24teDogJ3JpZ2h0Jyk7XG59XG5cbi5hbmdsZS0tYm90aC1sZWZ0LWxlZnQge1xuICBAaW5jbHVkZSBhbmdsZS1lZGdlKCRhbmdsZTogMywgJGFuZ2xlLXBvc2l0aW9uLXk6ICdib3RoJywgJGFuZ2xlLXBvc2l0aW9uLXg6ICdsZWZ0Jyk7XG59XG5cbi5hbmdsZS0tYm90aC1yaWdodC1yaWdodCB7XG4gIEBpbmNsdWRlIGFuZ2xlLWVkZ2UoJGFuZ2xlOiAzLCAkYW5nbGUtcG9zaXRpb24teTogJ2JvdGgnLCAkYW5nbGUtcG9zaXRpb24teDogJ3JpZ2h0Jyk7XG59XG5cbi5hbmdsZS0tYm90aC1sZWZ0LXJpZ2h0IHtcbiAgQGluY2x1ZGUgYW5nbGUtZWRnZSgkYW5nbGU6IDMsICRhbmdsZS1wb3NpdGlvbi15OiAnYm90aCcsICRhbmdsZS1wb3NpdGlvbi14OiAnbGVmdCcsICRhbmdsZS1wb3NpdGlvbi1ib3R0b20teDogJ3JpZ2h0Jyk7XG59XG5cbi5hbmdsZS0tYm90aC1yaWdodC1sZWZ0IHtcbiAgQGluY2x1ZGUgYW5nbGUtZWRnZSgkYW5nbGU6IDMsICRhbmdsZS1wb3NpdGlvbi15OiAnYm90aCcsICRhbmdsZS1wb3NpdGlvbi14OiAncmlnaHQnLCAkYW5nbGUtcG9zaXRpb24tYm90dG9tLXg6ICdsZWZ0Jyk7XG59XG5cblxuICAuYW5nbGVfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4uYW5nbGUtLWNvbG91ciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5NkYzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwJSAwO1xufVxuIiwiLmFuZ2xlLS10b3AtbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuXG5Ac3VwcG9ydHMgbm90IChjbGlwLXBhdGg6IHBvbHlnb24oMCBjYWxjKDAlICsgN3Z3KSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSkpIHtcbiAgLmFuZ2xlLS10b3AtbGVmdDo6YmVmb3JlLCAuYW5nbGUtLXRvcC1sZWZ0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG4gIC5hbmdsZS0tdG9wLWxlZnQ6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci13aWR0aDogOHZ3IDEwMHZ3IDAgMDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmFuZ2xlLS10b3AtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgY2FsYygwJSArIDd2dyksIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cblxuQHN1cHBvcnRzIG5vdCAoY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSBjYWxjKDAlICsgN3Z3KSwgMTAwJSAxMDAlLCAwIDEwMCUpKSB7XG4gIC5hbmdsZS0tdG9wLXJpZ2h0OjpiZWZvcmUsIC5hbmdsZS0tdG9wLXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG4gIC5hbmdsZS0tdG9wLXJpZ2h0OjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItd2lkdGg6IDh2dyAwIDAgMTAwdnc7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5hbmdsZS0tYm90dG9tLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIGNhbGMoMTAwJSAtIDd2dykpO1xufVxuXG5Ac3VwcG9ydHMgbm90IChjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCBjYWxjKDEwMCUgLSA3dncpKSkge1xuICAuYW5nbGUtLWJvdHRvbS1sZWZ0OjpiZWZvcmUsIC5hbmdsZS0tYm90dG9tLWxlZnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3R0b20tbGVmdDo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMTAwdncgOHZ3IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5hbmdsZS0tYm90dG9tLXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTtcbn1cblxuQHN1cHBvcnRzIG5vdCAoY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSkpIHtcbiAgLmFuZ2xlLS1ib3R0b20tcmlnaHQ6OmJlZm9yZSwgLmFuZ2xlLS1ib3R0b20tcmlnaHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3R0b20tcmlnaHQ6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgOHZ3IDEwMHZ3O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYW5nbGUtLWJvdGgtbGVmdC1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCBjYWxjKDAlICsgN3Z3KSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgY2FsYygxMDAlIC0gN3Z3KSk7XG59XG5cbkBzdXBwb3J0cyBub3QgKGNsaXAtcGF0aDogcG9seWdvbigwIGNhbGMoMCUgKyA3dncpLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCBjYWxjKDEwMCUgLSA3dncpKSkge1xuICAuYW5nbGUtLWJvdGgtbGVmdC1sZWZ0OjpiZWZvcmUsIC5hbmdsZS0tYm90aC1sZWZ0LWxlZnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3RoLWxlZnQtbGVmdDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiA4dncgMTAwdncgMCAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYW5nbGUtLWJvdGgtbGVmdC1sZWZ0OjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci13aWR0aDogMCAxMDB2dyA4dncgMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmFuZ2xlLS1ib3RoLXJpZ2h0LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIGNhbGMoMCUgKyA3dncpLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSk7XG59XG5cbkBzdXBwb3J0cyBub3QgKGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgY2FsYygwJSArIDd2dyksIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKSkge1xuICAuYW5nbGUtLWJvdGgtcmlnaHQtcmlnaHQ6OmJlZm9yZSwgLmFuZ2xlLS1ib3RoLXJpZ2h0LXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG4gIC5hbmdsZS0tYm90aC1yaWdodC1yaWdodDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiA4dncgMCAwIDEwMHZ3O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYW5nbGUtLWJvdGgtcmlnaHQtcmlnaHQ6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgOHZ3IDEwMHZ3O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYW5nbGUtLWJvdGgtbGVmdC1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpO1xufVxuXG5Ac3VwcG9ydHMgbm90IChjbGlwLXBhdGg6IHBvbHlnb24oMCBjYWxjKDAlICsgN3Z3KSwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSkpIHtcbiAgLmFuZ2xlLS1ib3RoLWxlZnQtcmlnaHQ6OmJlZm9yZSwgLmFuZ2xlLS1ib3RoLWxlZnQtcmlnaHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3RoLWxlZnQtcmlnaHQ6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci13aWR0aDogOHZ3IDEwMHZ3IDAgMDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3RoLWxlZnQtcmlnaHQ6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgOHZ3IDEwMHZ3O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYW5nbGUtLWJvdGgtcmlnaHQtbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSBjYWxjKDAlICsgN3Z3KSwgMTAwJSAxMDAlLCAwIGNhbGMoMTAwJSAtIDd2dykpO1xufVxuXG5Ac3VwcG9ydHMgbm90IChjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIGNhbGMoMCUgKyA3dncpLCAxMDAlIDEwMCUsIDAgY2FsYygxMDAlIC0gN3Z3KSkpIHtcbiAgLmFuZ2xlLS1ib3RoLXJpZ2h0LWxlZnQ6OmJlZm9yZSwgLmFuZ2xlLS1ib3RoLXJpZ2h0LWxlZnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3RoLXJpZ2h0LWxlZnQ6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci13aWR0aDogOHZ3IDAgMCAxMDB2dztcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmFuZ2xlLS1ib3RoLXJpZ2h0LWxlZnQ6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDEwMHZ3IDh2dyAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYW5nbGVfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmFuZ2xlLS1jb2xvdXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxOTZGMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMCUgMDtcbn1cbiJdfQ== */
