UNPKG

basscss

Version:
768 lines (489 loc) 42.3 kB
/*! Basscss | http://basscss.com | MIT License */ /* Basscss Type Scale */ .h00 { font-size: var(--h00) } .h0 { font-size: var(--h0) } .h1 { font-size: var(--h1) } .h2 { font-size: var(--h2) } .h3 { font-size: var(--h3) } .h4 { font-size: var(--h4) } .h5 { font-size: var(--h5) } .h6 { font-size: var(--h6) } :root { --h00: 4rem; --h0: 3rem; --h1: 2rem; --h2: 1.5rem; --h3: 1.25rem; --h4: 1rem; --h5: .875rem; --h6: .75rem; } /* Basscss Typography */ .font-family-inherit { font-family: inherit } .font-size-inherit { font-size: inherit } .text-decoration-none { text-decoration: none } .bold { font-weight: var(--bold-font-weight, bold) } .regular { font-weight: normal } .italic { font-style: italic } .caps { text-transform: uppercase; letter-spacing: var(--caps-letter-spacing); } .left-align { text-align: left } .center { text-align: center } .right-align { text-align: right } .justify { text-align: justify } .nowrap { white-space: nowrap } .break-word { word-wrap: break-word } .line-height-1 { line-height: var(--line-height-1) } .line-height-2 { line-height: var(--line-height-2) } .line-height-3 { line-height: var(--line-height-3) } .line-height-4 { line-height: var(--line-height-4) } .list-style-none { list-style: none } .underline { text-decoration: underline } .truncate { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .list-reset { list-style: none; padding-left: 0; } :root { --line-height-1: 1; --line-height-2: 1.125; --line-height-3: 1.25; --line-height-4: 1.5; --caps-letter-spacing: .2em; --bold-font-weight: bold; } /* Basscss Layout */ .inline { display: inline } .block { display: block } .inline-block { display: inline-block } .table { display: table } .table-cell { display: table-cell } .overflow-hidden { overflow: hidden } .overflow-scroll { overflow: scroll } .overflow-auto { overflow: auto } .clearfix:before, .clearfix:after { content: " "; display: table } .clearfix:after { clear: both } .left { float: left } .right { float: right } .fit { max-width: 100% } .max-width-1 { max-width: var(--width-1) } .max-width-2 { max-width: var(--width-2) } .max-width-3 { max-width: var(--width-3) } .max-width-4 { max-width: var(--width-4) } .border-box { box-sizing: border-box } :root { --width-1: 24rem; --width-2: 32rem; --width-3: 48rem; --width-4: 64rem; } /* Basscss Align */ .align-baseline { vertical-align: baseline } .align-top { vertical-align: top } .align-middle { vertical-align: middle } .align-bottom { vertical-align: bottom } /* Basscss Margin */ .m0 { margin: 0 } .mt0 { margin-top: 0 } .mr0 { margin-right: 0 } .mb0 { margin-bottom: 0 } .ml0 { margin-left: 0 } .mx0 { margin-left: 0; margin-right: 0 } .my0 { margin-top: 0; margin-bottom: 0 } .m1 { margin: var(--space-1) } .mt1 { margin-top: var(--space-1) } .mr1 { margin-right: var(--space-1) } .mb1 { margin-bottom: var(--space-1) } .ml1 { margin-left: var(--space-1) } .mx1 { margin-left: var(--space-1); margin-right: var(--space-1) } .my1 { margin-top: var(--space-1); margin-bottom: var(--space-1) } .m2 { margin: var(--space-2) } .mt2 { margin-top: var(--space-2) } .mr2 { margin-right: var(--space-2) } .mb2 { margin-bottom: var(--space-2) } .ml2 { margin-left: var(--space-2) } .mx2 { margin-left: var(--space-2); margin-right: var(--space-2) } .my2 { margin-top: var(--space-2); margin-bottom: var(--space-2) } .m3 { margin: var(--space-3) } .mt3 { margin-top: var(--space-3) } .mr3 { margin-right: var(--space-3) } .mb3 { margin-bottom: var(--space-3) } .ml3 { margin-left: var(--space-3) } .mx3 { margin-left: var(--space-3); margin-right: var(--space-3) } .my3 { margin-top: var(--space-3); margin-bottom: var(--space-3) } .m4 { margin: var(--space-4) } .mt4 { margin-top: var(--space-4) } .mr4 { margin-right: var(--space-4) } .mb4 { margin-bottom: var(--space-4) } .ml4 { margin-left: var(--space-4) } .mx4 { margin-left: var(--space-4); margin-right: var(--space-4) } .my4 { margin-top: var(--space-4); margin-bottom: var(--space-4) } .mxn1 { margin-left: calc(var(--space-1) * -1); margin-right: calc(var(--space-1) * -1); } .mxn2 { margin-left: calc(var(--space-2) * -1); margin-right: calc(var(--space-2) * -1); } .mxn3 { margin-left: calc(var(--space-3) * -1); margin-right: calc(var(--space-3) * -1); } .mxn4 { margin-left: calc(var(--space-4) * -1); margin-right: calc(var(--space-4) * -1); } .m-auto { margin: auto; } .mt-auto { margin-top: auto } .mr-auto { margin-right: auto } .mb-auto { margin-bottom: auto } .ml-auto { margin-left: auto } .mx-auto { margin-left: auto; margin-right: auto; } .my-auto { margin-top: auto; margin-bottom: auto; } :root { --space-1: .5rem; --space-2: 1rem; --space-3: 2rem; --space-4: 4rem; } /* Basscss Padding */ .p0 { padding: 0 } .pt0 { padding-top: 0 } .pr0 { padding-right: 0 } .pb0 { padding-bottom: 0 } .pl0 { padding-left: 0 } .px0 { padding-left: 0; padding-right: 0 } .py0 { padding-top: 0; padding-bottom: 0 } .p1 { padding: var(--space-1) } .pt1 { padding-top: var(--space-1) } .pr1 { padding-right: var(--space-1) } .pb1 { padding-bottom: var(--space-1) } .pl1 { padding-left: var(--space-1) } .py1 { padding-top: var(--space-1); padding-bottom: var(--space-1) } .px1 { padding-left: var(--space-1); padding-right: var(--space-1) } .p2 { padding: var(--space-2) } .pt2 { padding-top: var(--space-2) } .pr2 { padding-right: var(--space-2) } .pb2 { padding-bottom: var(--space-2) } .pl2 { padding-left: var(--space-2) } .py2 { padding-top: var(--space-2); padding-bottom: var(--space-2) } .px2 { padding-left: var(--space-2); padding-right: var(--space-2) } .p3 { padding: var(--space-3) } .pt3 { padding-top: var(--space-3) } .pr3 { padding-right: var(--space-3) } .pb3 { padding-bottom: var(--space-3) } .pl3 { padding-left: var(--space-3) } .py3 { padding-top: var(--space-3); padding-bottom: var(--space-3) } .px3 { padding-left: var(--space-3); padding-right: var(--space-3) } .p4 { padding: var(--space-4) } .pt4 { padding-top: var(--space-4) } .pr4 { padding-right: var(--space-4) } .pb4 { padding-bottom: var(--space-4) } .pl4 { padding-left: var(--space-4) } .py4 { padding-top: var(--space-4); padding-bottom: var(--space-4) } .px4 { padding-left: var(--space-4); padding-right: var(--space-4) } :root { --space-1: .5rem; --space-2: 1rem; --space-3: 2rem; --space-4: 4rem; } /* Basscss Grid */ .col { float: left; box-sizing: border-box; } .col-right { float: right; box-sizing: border-box; } .col-1 { width: calc(1/12 * 100%); } .col-2 { width: calc(2/12 * 100%); } .col-3 { width: calc(3/12 * 100%); } .col-4 { width: calc(4/12 * 100%); } .col-5 { width: calc(5/12 * 100%); } .col-6 { width: calc(6/12 * 100%); } .col-7 { width: calc(7/12 * 100%); } .col-8 { width: calc(8/12 * 100%); } .col-9 { width: calc(9/12 * 100%); } .col-10 { width: calc(10/12 * 100%); } .col-11 { width: calc(11/12 * 100%); } .col-12 { width: 100%; } @media (min-width: 40em) { .sm-col { float: left; box-sizing: border-box; } .sm-col-right { float: right; box-sizing: border-box; } .sm-col-1 { width: calc(1/12 * 100%); } .sm-col-2 { width: calc(2/12 * 100%); } .sm-col-3 { width: calc(3/12 * 100%); } .sm-col-4 { width: calc(4/12 * 100%); } .sm-col-5 { width: calc(5/12 * 100%); } .sm-col-6 { width: calc(6/12 * 100%); } .sm-col-7 { width: calc(7/12 * 100%); } .sm-col-8 { width: calc(8/12 * 100%); } .sm-col-9 { width: calc(9/12 * 100%); } .sm-col-10 { width: calc(10/12 * 100%); } .sm-col-11 { width: calc(11/12 * 100%); } .sm-col-12 { width: 100%; } } @media (min-width: 52em) { .md-col { float: left; box-sizing: border-box; } .md-col-right { float: right; box-sizing: border-box; } .md-col-1 { width: calc(1/12 * 100%); } .md-col-2 { width: calc(2/12 * 100%); } .md-col-3 { width: calc(3/12 * 100%); } .md-col-4 { width: calc(4/12 * 100%); } .md-col-5 { width: calc(5/12 * 100%); } .md-col-6 { width: calc(6/12 * 100%); } .md-col-7 { width: calc(7/12 * 100%); } .md-col-8 { width: calc(8/12 * 100%); } .md-col-9 { width: calc(9/12 * 100%); } .md-col-10 { width: calc(10/12 * 100%); } .md-col-11 { width: calc(11/12 * 100%); } .md-col-12 { width: 100%; } } @media (min-width: 64em) { .lg-col { float: left; box-sizing: border-box; } .lg-col-right { float: right; box-sizing: border-box; } .lg-col-1 { width: calc(1/12 * 100%); } .lg-col-2 { width: calc(2/12 * 100%); } .lg-col-3 { width: calc(3/12 * 100%); } .lg-col-4 { width: calc(4/12 * 100%); } .lg-col-5 { width: calc(5/12 * 100%); } .lg-col-6 { width: calc(6/12 * 100%); } .lg-col-7 { width: calc(7/12 * 100%); } .lg-col-8 { width: calc(8/12 * 100%); } .lg-col-9 { width: calc(9/12 * 100%); } .lg-col-10 { width: calc(10/12 * 100%); } .lg-col-11 { width: calc(11/12 * 100%); } .lg-col-12 { width: 100%; } } .flex { display: flex } @media (min-width: 40em) { .sm-flex { display: flex } } @media (min-width: 52em) { .md-flex { display: flex } } @media (min-width: 64em) { .lg-flex { display: flex } } .flex-column { flex-direction: column } .flex-wrap { flex-wrap: wrap } .items-start { align-items: flex-start } .items-end { align-items: flex-end } .items-center { align-items: center } .items-baseline { align-items: baseline } .items-stretch { align-items: stretch } .self-start { align-self: flex-start } .self-end { align-self: flex-end } .self-center { align-self: center } .self-baseline { align-self: baseline } .self-stretch { align-self: stretch } .justify-start { justify-content: flex-start } .justify-end { justify-content: flex-end } .justify-center { justify-content: center } .justify-between { justify-content: space-between } .justify-around { justify-content: space-around } .justify-evenly { justify-content: space-evenly } .content-start { align-content: flex-start } .content-end { align-content: flex-end } .content-center { align-content: center } .content-between { align-content: space-between } .content-around { align-content: space-around } .content-stretch { align-content: stretch } /* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */ .flex-auto { flex: 1 1 auto; min-width: 0; /* 1 */ min-height: 0; /* 1 */ } .flex-none { flex: none } .order-0 { order: 0 } .order-1 { order: 1 } .order-2 { order: 2 } .order-3 { order: 3 } .order-last { order: 99999 } /* Basscss Position */ .relative { position: relative } .absolute { position: absolute } .fixed { position: fixed } .top-0 { top: 0 } .right-0 { right: 0 } .bottom-0 { bottom: 0 } .left-0 { left: 0 } .z1 { z-index: var(--z1) } .z2 { z-index: var(--z2) } .z3 { z-index: var(--z3) } .z4 { z-index: var(--z4) } :root { --z1: 1; --z2: 2; --z3: 3; --z4: 4; } /* Basscss Border */ .border { border-style: solid; border-width: var(--border-width); } .border-top { border-top-style: solid; border-top-width: var(--border-width); } .border-right { border-right-style: solid; border-right-width: var(--border-width); } .border-bottom { border-bottom-style: solid; border-bottom-width: var(--border-width); } .border-left { border-left-style: solid; border-left-width: var(--border-width); } .border-none { border: 0 } .rounded { border-radius: var(--border-radius) } .circle { border-radius: 50% } .rounded-top { border-radius: var(--border-radius) var(--border-radius) 0 0 } .rounded-right { border-radius: 0 var(--border-radius) var(--border-radius) 0 } .rounded-bottom { border-radius: 0 0 var(--border-radius) var(--border-radius) } .rounded-left { border-radius: var(--border-radius) 0 0 var(--border-radius) } .not-rounded { border-radius: 0 } :root { --border-width: 1px; --border-radius: 3px; } /* Basscss Hide */ .hide { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); } @media (max-width: 40em) { .xs-hide { display: none !important } } @media (min-width: 40em) and (max-width: 52em) { .sm-hide { display: none !important } } @media (min-width: 52em) and (max-width: 64em) { .md-hide { display: none !important } } @media (min-width: 64em) { .lg-hide { display: none !important } } .display-none { display: none !important } /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNzY3NzLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9iYXNzY3NzLXR5cGUtc2NhbGUvaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtdHlwb2dyYXBoeS9pbmRleC5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYmFzc2Nzcy1sYXlvdXQvaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtYWxpZ24vaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtbWFyZ2luL2luZGV4LmNzcyIsIi4uL25vZGVfbW9kdWxlcy9iYXNzY3NzLXBhZGRpbmcvaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtZ3JpZC9pbmRleC5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYmFzc2Nzcy1ncmlkL2xpYi9ncmlkLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9iYXNzY3NzLWdyaWQvbGliL3NtLWdyaWQuY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtZ3JpZC9saWIvbWQtZ3JpZC5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYmFzc2Nzcy1ncmlkL2xpYi9sZy1ncmlkLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9iYXNzY3NzLWZsZXhib3gvaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtcG9zaXRpb24vaW5kZXguY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jhc3Njc3MtYm9yZGVyL2luZGV4LmNzcyIsIi4uL25vZGVfbW9kdWxlcy9iYXNzY3NzLWhpZGUvaW5kZXguY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdEQUFnRDs7QUNBaEQsdUJBQXVCOztBQUV2QixPQUFPLHNCQUFzQjs7QUFDN0IsTUFBTSxxQkFBcUI7O0FBQzNCLE1BQU0scUJBQXFCOztBQUMzQixNQUFNLHFCQUFxQjs7QUFDM0IsTUFBTSxxQkFBcUI7O0FBQzNCLE1BQU0scUJBQXFCOztBQUMzQixNQUFNLHFCQUFxQjs7QUFDM0Is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O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FDeERBOztFQUVFO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtFQUN4Qjs7RUFFQTtJQUNFLFlBQVk7SUFDWixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSxXQUFXO0VBQ2I7O0FBRUY7O0FDNURBOztFQUVFO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtFQUN4Qjs7RUFFQTtJQUNFLFlBQVk7SUFDWixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSxXQUFXO0VBQ2I7O0FBRUY7O0FDNURBOztFQUVFO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtFQUN4Qjs7RUFFQTtJQUNFLFlBQVk7SUFDWixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0VBRUE7SUFDRSxXQUFXO0VBQ2I7O0FBRUY7O0FDNURBLFFBQVEsY0FBYzs7QUFFdEI7RUFDRSxXQUFXLGNBQWM7QUFDM0I7O0FBRUE7RUFDRSxXQUFXLGNBQWM7QUFDM0I7O0FBRUE7RUFDRSxXQUFXLGNBQWM7QUFDM0I7O0FBRUEsZ0JBQWdCLHVCQUF1Qjs7QUFDdkMsZ0JBQWdCLGdCQUFnQjs7QUFFaEMsa0JBQWtCLHdCQUF3Qjs7QUFDMUMsa0JBQWtCLHNCQUFzQjs7QUFDeEMsa0JBQWtCLG9CQUFvQjs7QUFDdEMsa0JBQWtCLHNCQUFzQjs7QUFDeEMsa0JBQWtCLHFCQUFxQjs7QUFFdkMsaUJBQWlCLHVCQUF1Qjs7QUFDeEMsaUJBQWlCLHFCQUFxQjs7QUFDdEMsaUJBQWlCLG1CQUFtQjs7QUFDcEMsaUJBQWlCLHFCQUFxQjs7QUFDdEMsaUJBQWlCLG9CQUFvQjs7QUFFckMsbUJBQW1CLDRCQUE0Qjs7QUFDL0MsbUJBQW1CLDBCQUEwQjs7QUFDN0MsbUJBQW1CLHdCQUF3Qjs7QUFDM0MsbUJBQW1CLCtCQUErQjs7QUFDbEQsbUJBQW1CLDhCQUE4Qjs7QUFDakQsbUJBQW1CLDhCQUE4Qjs7QUFFakQsbUJBQW1CLDBCQUEwQjs7QUFDN0MsbUJBQW1CLHdCQUF3Qjs7QUFDM0MsbUJBQW1CLHNCQUFzQjs7QUFDekMsbUJBQW1CLDZCQUE2Qjs7QUFDaEQsbUJBQW1CLDRCQUE0Qjs7QUFDL0MsbUJBQW1CLHVCQUF1Qjs7QUFFMUMseUZBQXlGOztBQUN6RjtFQUNFLGNBQWM7RUFDZCxZQUFZLEVBQUUsTUFBTTtFQUNwQixhQUFhLEVBQUUsTUFBTTtBQUN2Qjs7QUFDQSxhQUFhLFdBQVc7O0FBRXhCLFdBQVcsU0FBUzs7QUFDcEIsV0FBVyxTQUFTOztBQUNwQixXQUFXLFNBQVM7O0FBQ3BCLFdBQVcsU0FBUzs7QUFDcEIsY0FBYyxhQUFhOztBQ3hEM0IscUJBQXFCOztBQUVyQixZQUFZLG1CQUFtQjs7QUFDL0IsWUFBWSxtQkFBbUI7O0FBQy9CLFlBQVksZ0JBQWdCOztBQUU1QixZQUFZLE9BQU87O0FBQ25CLFlBQVksU0FBUzs7QUFDckIsWUFBWSxVQUFVOztBQUN0QixZQUFZLFFBQVE7O0FBRXBCLE1BQU0sbUJBQW1COztBQUN6QixNQUFNLG1CQUFtQjs7QUFDekIsTUFBTSxtQkFBbUI7O0FBQ3pCLE1BQU0sbUJBQW1COztBQUV6QjtFQUNFLE9BQU87RUFDUCxPQUFPO0VBQ1AsT0FBTztFQUNQLE9BQU87QUFDVDs7QUNyQkEsbUJBQW1COztBQUVuQjtFQUNFLG1CQUFtQjtFQUNuQixpQ0FBaUM7QUFDbkM7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLDBCQUEwQjtFQUMxQix3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsc0NBQXNDO0FBQ3hDOztBQUVBLGVBQWUsVUFBVTs7QUFFekIsV0FBVyxvQ0FBb0M7O0FBQy9DLFdBQVcsbUJBQW1COztBQUU5QixrQkFBa0IsNkRBQTZEOztBQUMvRSxrQkFBa0IsNkRBQTZEOztBQUMvRSxrQkFBa0IsNkRBQTZEOztBQUMvRSxrQkFBa0IsNkRBQTZEOztBQUUvRSxlQUFlLGlCQUFpQjs7QUFFaEM7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CO0FBQ3RCOztBQzFDQSxpQkFBaUI7O0FBRWpCO0VBQ0UsNkJBQTZCO0VBQzdCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLFdBQVcseUJBQXlCO0FBQ3RDOztBQUVBO0VBQ0UsV0FBVyx5QkFBeUI7QUFDdEM7O0FBRUE7RUFDRSxXQUFXLHlCQUF5QjtBQUN0Qzs7QUFFQTtFQUNFLFdBQVcseUJBQXlCO0FBQ3RDOztBQUVBLGdCQUFnQix5QkFBeUIiLCJmaWxlIjoiYmFzc2Nzcy1jcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgQmFzc2NzcyB8IGh0dHA6Ly9iYXNzY3NzLmNvbSB8IE1JVCBMaWNlbnNlICovXG5cbkBpbXBvcnQgJ2Jhc3Njc3MtdHlwZS1zY2FsZSc7XG5AaW1wb3J0ICdiYXNzY3NzLXR5cG9ncmFwaHknO1xuQGltcG9ydCAnYmFzc2Nzcy1sYXlvdXQnO1xuQGltcG9ydCAnYmFzc2Nzcy1hbGlnbic7XG5AaW1wb3J0ICdiYXNzY3NzLW1hcmdpbic7XG5AaW1wb3J0ICdiYXNzY3NzLXBhZGRpbmcnO1xuQGltcG9ydCAnYmFzc2Nzcy1ncmlkJztcbkBpbXBvcnQgJ2Jhc3Njc3MtZmxleGJveCc7XG5AaW1wb3J0ICdiYXNzY3NzLXBvc2l0aW9uJztcbkBpbXBvcnQgJ2Jhc3Njc3MtYm9yZGVyJztcbkBpbXBvcnQgJ2Jhc3Njc3MtaGlkZSc7XG5cbiIsIi8qIEJhc3Njc3MgVHlwZSBTY2FsZSAqL1xuXG4uaDAwIHsgZm9udC1zaXplOiB2YXIoLS1oMDApIH1cbi5oMCB7IGZvbnQtc2l6ZTogdmFyKC0taDApIH1cbi5oMSB7IGZvbnQtc2l6ZTogdmFyKC0taDEpIH1cbi5oMiB7IGZvbnQtc2l6ZTogdmFyKC0taDIpIH1cbi5oMyB7IGZvbnQtc2l6ZTogdmFyKC0taDMpIH1cbi5oNCB7IGZvbnQtc2l6ZTogdmFyKC0taDQpIH1cbi5oNSB7IGZvbnQtc2l6ZTogdmFyKC0taDUpIH1cbi5oNiB7IGZvbnQtc2l6ZTogdmFyKC0taDYpIH1cblxuOnJvb3Qge1xuICAtLWgwMDogNHJlbTtcbiAgLS1oMDogM3JlbTtcbiAgLS1oMTogMnJlbTtcbiAgLS1oMjogMS41cmVtO1xuICAtLWgzOiAxLjI1cmVtO1xuICAtLWg0OiAxcmVtO1xuICAtLWg1OiAuODc1cmVtO1xuICAtLWg2OiAuNzVyZW07XG59XG4iLCIvKiBCYXNzY3NzIFR5cG9ncmFwaHkgKi9cblxuLmZvbnQtZmFtaWx5LWluaGVyaXQgeyBmb250LWZhbWlseTogaW5oZXJpdCB9XG4uZm9udC1zaXplLWluaGVyaXQgeyBmb250LXNpemU6IGluaGVyaXQgfVxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lIH1cblxuLmJvbGQgICAgeyBmb250LXdlaWdodDogdmFyKC0tYm9sZC1mb250LXdlaWdodCwgYm9sZCkgfVxuLnJlZ3VsYXIgeyBmb250LXdlaWdodDogbm9ybWFsIH1cbi5pdGFsaWMgIHsgZm9udC1zdHlsZTogaXRhbGljIH1cbi5jYXBzICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNhcHMtbGV0dGVyLXNwYWNpbmcpOyB9XG5cbi5sZWZ0LWFsaWduICAgeyB0ZXh0LWFsaWduOiBsZWZ0IH1cbi5jZW50ZXIgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgfVxuLnJpZ2h0LWFsaWduICB7IHRleHQtYWxpZ246IHJpZ2h0IH1cbi5qdXN0aWZ5ICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5IH1cblxuLm5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXAgfVxuLmJyZWFrLXdvcmQgeyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgfVxuXG4ubGluZS1oZWlnaHQtMSB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC0xKSB9XG4ubGluZS1oZWlnaHQtMiB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC0yKSB9XG4ubGluZS1oZWlnaHQtMyB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC0zKSB9XG4ubGluZS1oZWlnaHQtNCB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC00KSB9XG5cbi5saXN0LXN0eWxlLW5vbmUgeyBsaXN0LXN0eWxlOiBub25lIH1cbi51bmRlcmxpbmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9XG5cbi50cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5saXN0LXJlc2V0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG46cm9vdCB7XG4gIC0tbGluZS1oZWlnaHQtMTogMTtcbiAgLS1saW5lLWhlaWdodC0yOiAxLjEyNTtcbiAgLS1saW5lLWhlaWdodC0zOiAxLjI1O1xuICAtLWxpbmUtaGVpZ2h0LTQ6IDEuNTtcbiAgLS1jYXBzLWxldHRlci1zcGFjaW5nOiAuMmVtO1xuICAtLWJvbGQtZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIvKiBCYXNzY3NzIExheW91dCAqL1xuXG4uaW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lIH1cbi5ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayB9XG4uaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrIH1cbi50YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSB9XG4udGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCB9XG5cbi5vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuIH1cbi5vdmVyZmxvdy1zY3JvbGwgeyBvdmVyZmxvdzogc2Nyb2xsIH1cbi5vdmVyZmxvdy1hdXRvICAgeyBvdmVyZmxvdzogYXV0byB9XG5cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGVcbn1cbi5jbGVhcmZpeDphZnRlciB7IGNsZWFyOiBib3RoIH1cblxuLmxlZnQgIHsgZmxvYXQ6IGxlZnQgfVxuLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0IH1cblxuLmZpdCB7IG1heC13aWR0aDogMTAwJSB9XG5cbi5tYXgtd2lkdGgtMSB7IG1heC13aWR0aDogdmFyKC0td2lkdGgtMSkgfVxuLm1heC13aWR0aC0yIHsgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC0yKSB9XG4ubWF4LXdpZHRoLTMgeyBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLTMpIH1cbi5tYXgtd2lkdGgtNCB7IG1heC13aWR0aDogdmFyKC0td2lkdGgtNCkgfVxuXG4uYm9yZGVyLWJveCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3ggfVxuXG46cm9vdCB7XG4gIC0td2lkdGgtMTogMjRyZW07XG4gIC0td2lkdGgtMjogMzJyZW07XG4gIC0td2lkdGgtMzogNDhyZW07XG4gIC0td2lkdGgtNDogNjRyZW07XG59XG5cbiIsIi8qIEJhc3Njc3MgQWxpZ24gKi9cblxuLmFsaWduLWJhc2VsaW5lIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lIH1cbi5hbGlnbi10b3AgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgfVxuLmFsaWduLW1pZGRsZSAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSB9XG4uYWxpZ24tYm90dG9tICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tIH1cblxuIiwiLyogQmFzc2NzcyBNYXJnaW4gKi9cblxuLm0wICB7IG1hcmdpbjogICAgICAgIDAgfVxuLm10MCB7IG1hcmdpbi10b3A6ICAgIDAgfVxuLm1yMCB7IG1hcmdpbi1yaWdodDogIDAgfVxuLm1iMCB7IG1hcmdpbi1ib3R0b206IDAgfVxuLm1sMCB7IG1hcmdpbi1sZWZ0OiAgIDAgfVxuLm14MCB7IG1hcmdpbi1sZWZ0OiAgIDA7IG1hcmdpbi1yaWdodDogIDAgfVxuLm15MCB7IG1hcmdpbi10b3A6ICAgIDA7IG1hcmdpbi1ib3R0b206IDAgfVxuXG4ubTEgIHsgbWFyZ2luOiAgICAgICAgdmFyKC0tc3BhY2UtMSkgfVxuLm10MSB7IG1hcmdpbi10b3A6ICAgIHZhcigtLXNwYWNlLTEpIH1cbi5tcjEgeyBtYXJnaW4tcmlnaHQ6ICB2YXIoLS1zcGFjZS0xKSB9XG4ubWIxIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSkgfVxuLm1sMSB7IG1hcmdpbi1sZWZ0OiAgIHZhcigtLXNwYWNlLTEpIH1cbi5teDEgeyBtYXJnaW4tbGVmdDogICB2YXIoLS1zcGFjZS0xKTsgbWFyZ2luLXJpZ2h0OiAgdmFyKC0tc3BhY2UtMSkgfVxuLm15MSB7IG1hcmdpbi10b3A6ICAgIHZhcigtLXNwYWNlLTEpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKSB9XG5cbi5tMiAgeyBtYXJnaW46ICAgICAgICB2YXIoLS1zcGFjZS0yKSB9XG4ubXQyIHsgbWFyZ2luLXRvcDogICAgdmFyKC0tc3BhY2UtMikgfVxuLm1yMiB7IG1hcmdpbi1yaWdodDogIHZhcigtLXNwYWNlLTIpIH1cbi5tYjIgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKSB9XG4ubWwyIHsgbWFyZ2luLWxlZnQ6ICAgdmFyKC0tc3BhY2UtMikgfVxuLm14MiB7IG1hcmdpbi1sZWZ0OiAgIHZhcigtLXNwYWNlLTIpOyBtYXJnaW4tcmlnaHQ6ICB2YXIoLS1zcGFjZS0yKSB9XG4ubXkyIHsgbWFyZ2luLXRvcDogICAgdmFyKC0tc3BhY2UtMik7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpIH1cblxuLm0zICB7IG1hcmdpbjogICAgICAgIHZhcigtLXNwYWNlLTMpIH1cbi5tdDMgeyBtYXJnaW4tdG9wOiAgICB2YXIoLS1zcGFjZS0zKSB9XG4ubXIzIHsgbWFyZ2luLXJpZ2h0OiAgdmFyKC0tc3BhY2UtMykgfVxuLm1iMyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpIH1cbi5tbDMgeyBtYXJnaW4tbGVmdDogICB2YXIoLS1zcGFjZS0zKSB9XG4ubXgzIHsgbWFyZ2luLWxlZnQ6ICAgdmFyKC0tc3BhY2UtMyk7IG1hcmdpbi1yaWdodDogIHZhcigtLXNwYWNlLTMpIH1cbi5teTMgeyBtYXJnaW4tdG9wOiAgICB2YXIoLS1zcGFjZS0zKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMykgfVxuXG4ubTQgIHsgbWFyZ2luOiAgICAgICAgdmFyKC0tc3BhY2UtNCkgfVxuLm10NCB7IG1hcmdpbi10b3A6ICAgIHZhcigtLXNwYWNlLTQpIH1cbi5tcjQgeyBtYXJnaW4tcmlnaHQ6ICB2YXIoLS1zcGFjZS00KSB9XG4ubWI0IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCkgfVxuLm1sNCB7IG1hcmdpbi1sZWZ0OiAgIHZhcigtLXNwYWNlLTQpIH1cbi5teDQgeyBtYXJnaW4tbGVmdDogICB2YXIoLS1zcGFjZS00KTsgbWFyZ2luLXJpZ2h0OiAgdmFyKC0tc3BhY2UtNCkgfVxuLm15NCB7IG1hcmdpbi10b3A6ICAgIHZhcigtLXNwYWNlLTQpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KSB9XG5cbi5teG4xIHsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2UtMSkgKiAtMSk7IG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZS0xKSAqIC0xKTsgfVxuLm14bjIgeyBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zcGFjZS0yKSAqIC0xKTsgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlLTIpICogLTEpOyB9XG4ubXhuMyB7IG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTMpICogLTEpOyBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2UtMykgKiAtMSk7IH1cbi5teG40IHsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2UtNCkgKiAtMSk7IG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZS00KSAqIC0xKTsgfVxuXG4ubS1hdXRvICB7IG1hcmdpbjogYXV0bzsgfVxuLm10LWF1dG8geyBtYXJnaW4tdG9wOiBhdXRvIH1cbi5tci1hdXRvIHsgbWFyZ2luLXJpZ2h0OiBhdXRvIH1cbi5tYi1hdXRvIHsgbWFyZ2luLWJvdHRvbTogYXV0byB9XG4ubWwtYXV0byB7IG1hcmdpbi1sZWZ0OiBhdXRvIH1cbi5teC1hdXRvIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuLm15LWF1dG8geyBtYXJnaW4tdG9wOiBhdXRvOyBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG5cbjpyb290IHtcbiAgLS1zcGFjZS0xOiAuNXJlbTtcbiAgLS1zcGFjZS0yOiAxcmVtO1xuICAtLXNwYWNlLTM6IDJyZW07XG4gIC0tc3BhY2UtNDogNHJlbTtcbn1cbiIsIi8qIEJhc3Njc3MgUGFkZGluZyAqL1xuXG4ucDAgIHsgcGFkZGluZzogMCB9XG4ucHQwIHsgcGFkZGluZy10b3A6IDAgfVxuLnByMCB7IHBhZGRpbmctcmlnaHQ6IDAgfVxuLnBiMCB7IHBhZGRpbmctYm90dG9tOiAwIH1cbi5wbDAgeyBwYWRkaW5nLWxlZnQ6IDAgfVxuLnB4MCB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogIDAgfVxuLnB5MCB7IHBhZGRpbmctdG9wOiAwOyAgcGFkZGluZy1ib3R0b206IDAgfVxuXG4ucDEgIHsgcGFkZGluZzogICAgICAgIHZhcigtLXNwYWNlLTEpIH1cbi5wdDEgeyBwYWRkaW5nLXRvcDogICAgdmFyKC0tc3BhY2UtMSkgfVxuLnByMSB7IHBhZGRpbmctcmlnaHQ6ICB2YXIoLS1zcGFjZS0xKSB9XG4ucGIxIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTEpIH1cbi5wbDEgeyBwYWRkaW5nLWxlZnQ6ICAgdmFyKC0tc3BhY2UtMSkgfVxuLnB5MSB7IHBhZGRpbmctdG9wOiAgICB2YXIoLS1zcGFjZS0xKTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTEpIH1cbi5weDEgeyBwYWRkaW5nLWxlZnQ6ICAgdmFyKC0tc3BhY2UtMSk7IHBhZGRpbmctcmlnaHQ6ICB2YXIoLS1zcGFjZS0xKSB9XG5cbi5wMiAgeyBwYWRkaW5nOiAgICAgICAgdmFyKC0tc3BhY2UtMikgfVxuLnB0MiB7IHBhZGRpbmctdG9wOiAgICB2YXIoLS1zcGFjZS0yKSB9XG4ucHIyIHsgcGFkZGluZy1yaWdodDogIHZhcigtLXNwYWNlLTIpIH1cbi5wYjIgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMikgfVxuLnBsMiB7IHBhZGRpbmctbGVmdDogICB2YXIoLS1zcGFjZS0yKSB9XG4ucHkyIHsgcGFkZGluZy10b3A6ICAgIHZhcigtLXNwYWNlLTIpOyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMikgfVxuLnB4MiB7IHBhZGRpbmctbGVmdDogICB2YXIoLS1zcGFjZS0yKTsgcGFkZGluZy1yaWdodDogIHZhcigtLXNwYWNlLTIpIH1cblxuLnAzICB7IHBhZGRpbmc6ICAgICAgICB2YXIoLS1zcGFjZS0zKSB9XG4ucHQzIHsgcGFkZGluZy10b3A6ICAgIHZhcigtLXNwYWNlLTMpIH1cbi5wcjMgeyBwYWRkaW5nLXJpZ2h0OiAgdmFyKC0tc3BhY2UtMykgfVxuLnBiMyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zKSB9XG4ucGwzIHsgcGFkZGluZy1sZWZ0OiAgIHZhcigtLXNwYWNlLTMpIH1cbi5weTMgeyBwYWRkaW5nLXRvcDogICAgdmFyKC0tc3BhY2UtMyk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zKSB9XG4ucHgzIHsgcGFkZGluZy1sZWZ0OiAgIHZhcigtLXNwYWNlLTMpOyBwYWRkaW5nLXJpZ2h0OiAgdmFyKC0tc3BhY2UtMykgfVxuXG4ucDQgIHsgcGFkZGluZzogICAgICAgIHZhcigtLXNwYWNlLTQpIH1cbi5wdDQgeyBwYWRkaW5nLXRvcDogICAgdmFyKC0tc3BhY2UtNCkgfVxuLnByNCB7IHBhZGRpbmctcmlnaHQ6ICB2YXIoLS1zcGFjZS00KSB9XG4ucGI0IHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpIH1cbi5wbDQgeyBwYWRkaW5nLWxlZnQ6ICAgdmFyKC0tc3BhY2UtNCkgfVxuLnB5NCB7IHBhZGRpbmctdG9wOiAgICB2YXIoLS1zcGFjZS00KTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpIH1cbi5weDQgeyBwYWRkaW5nLWxlZnQ6ICAgdmFyKC0tc3BhY2UtNCk7IHBhZGRpbmctcmlnaHQ6ICB2YXIoLS1zcGFjZS00KSB9XG5cbjpyb290IHtcbiAgLS1zcGFjZS0xOiAuNXJlbTtcbiAgLS1zcGFjZS0yOiAxcmVtO1xuICAtLXNwYWNlLTM6IDJyZW07XG4gIC0tc3BhY2UtNDogNHJlbTtcbn1cblxuIiwiLyogQmFzc2NzcyBHcmlkICovXG5cbkBpbXBvcnQgXCIuL2xpYi9ncmlkXCI7XG5AaW1wb3J0IFwiLi9saWIvc20tZ3JpZFwiO1xuQGltcG9ydCBcIi4vbGliL21kLWdyaWRcIjtcbkBpbXBvcnQgXCIuL2xpYi9sZy1ncmlkXCI7XG5cbkBjdXN0b20tbWVkaWEgLS1icmVha3BvaW50LXNtIChtaW4td2lkdGg6IDQwZW0pO1xuQGN1c3RvbS1tZWRpYSAtLWJyZWFrcG9pbnQtbWQgKG1pbi13aWR0aDogNTJlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1sZyAobWluLXdpZHRoOiA2NGVtKTtcblxuIiwiXG4uY29sIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb2wtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb2wtMSB7XG4gIHdpZHRoOiBjYWxjKDEvMTIgKiAxMDAlKTtcbn1cblxuLmNvbC0yIHtcbiAgd2lkdGg6IGNhbGMoMi8xMiAqIDEwMCUpO1xufVxuXG4uY29sLTMge1xuICB3aWR0aDogY2FsYygzLzEyICogMTAwJSk7XG59XG5cbi5jb2wtNCB7XG4gIHdpZHRoOiBjYWxjKDQvMTIgKiAxMDAlKTtcbn1cblxuLmNvbC01IHtcbiAgd2lkdGg6IGNhbGMoNS8xMiAqIDEwMCUpO1xufVxuXG4uY29sLTYge1xuICB3aWR0aDogY2FsYyg2LzEyICogMTAwJSk7XG59XG5cbi5jb2wtNyB7XG4gIHdpZHRoOiBjYWxjKDcvMTIgKiAxMDAlKTtcbn1cblxuLmNvbC04IHtcbiAgd2lkdGg6IGNhbGMoOC8xMiAqIDEwMCUpO1xufVxuXG4uY29sLTkge1xuICB3aWR0aDogY2FsYyg5LzEyICogMTAwJSk7XG59XG5cbi5jb2wtMTAge1xuICB3aWR0aDogY2FsYygxMC8xMiAqIDEwMCUpO1xufVxuXG4uY29sLTExIHtcbiAgd2lkdGg6IGNhbGMoMTEvMTIgKiAxMDAlKTtcbn1cblxuLmNvbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4iLCJcbkBtZWRpYSAoLS1icmVha3BvaW50LXNtKSB7XG5cbiAgLnNtLWNvbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5zbS1jb2wtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLnNtLWNvbC0xIHtcbiAgICB3aWR0aDogY2FsYygxLzEyICogMTAwJSk7XG4gIH1cblxuICAuc20tY29sLTIge1xuICAgIHdpZHRoOiBjYWxjKDIvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5zbS1jb2wtMyB7XG4gICAgd2lkdGg6IGNhbGMoMy8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLnNtLWNvbC00IHtcbiAgICB3aWR0aDogY2FsYyg0LzEyICogMTAwJSk7XG4gIH1cblxuICAuc20tY29sLTUge1xuICAgIHdpZHRoOiBjYWxjKDUvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5zbS1jb2wtNiB7XG4gICAgd2lkdGg6IGNhbGMoNi8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLnNtLWNvbC03IHtcbiAgICB3aWR0aDogY2FsYyg3LzEyICogMTAwJSk7XG4gIH1cblxuICAuc20tY29sLTgge1xuICAgIHdpZHRoOiBjYWxjKDgvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5zbS1jb2wtOSB7XG4gICAgd2lkdGg6IGNhbGMoOS8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLnNtLWNvbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5zbS1jb2wtMTEge1xuICAgIHdpZHRoOiBjYWxjKDExLzEyICogMTAwJSk7XG4gIH1cblxuICAuc20tY29sLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG59XG5cbiIsIlxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbWQpIHtcblxuICAubWQtY29sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLm1kLWNvbC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAubWQtY29sLTEge1xuICAgIHdpZHRoOiBjYWxjKDEvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5tZC1jb2wtMiB7XG4gICAgd2lkdGg6IGNhbGMoMi8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLm1kLWNvbC0zIHtcbiAgICB3aWR0aDogY2FsYygzLzEyICogMTAwJSk7XG4gIH1cblxuICAubWQtY29sLTQge1xuICAgIHdpZHRoOiBjYWxjKDQvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5tZC1jb2wtNSB7XG4gICAgd2lkdGg6IGNhbGMoNS8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLm1kLWNvbC02IHtcbiAgICB3aWR0aDogY2FsYyg2LzEyICogMTAwJSk7XG4gIH1cblxuICAubWQtY29sLTcge1xuICAgIHdpZHRoOiBjYWxjKDcvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5tZC1jb2wtOCB7XG4gICAgd2lkdGg6IGNhbGMoOC8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLm1kLWNvbC05IHtcbiAgICB3aWR0aDogY2FsYyg5LzEyICogMTAwJSk7XG4gIH1cblxuICAubWQtY29sLTEwIHtcbiAgICB3aWR0aDogY2FsYygxMC8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLm1kLWNvbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoMTEvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5tZC1jb2wtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbn1cblxuIiwiXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1sZykge1xuXG4gIC5sZy1jb2wge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAubGctY29sLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5sZy1jb2wtMSB7XG4gICAgd2lkdGg6IGNhbGMoMS8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLmxnLWNvbC0yIHtcbiAgICB3aWR0aDogY2FsYygyLzEyICogMTAwJSk7XG4gIH1cblxuICAubGctY29sLTMge1xuICAgIHdpZHRoOiBjYWxjKDMvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5sZy1jb2wtNCB7XG4gICAgd2lkdGg6IGNhbGMoNC8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLmxnLWNvbC01IHtcbiAgICB3aWR0aDogY2FsYyg1LzEyICogMTAwJSk7XG4gIH1cblxuICAubGctY29sLTYge1xuICAgIHdpZHRoOiBjYWxjKDYvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5sZy1jb2wtNyB7XG4gICAgd2lkdGg6IGNhbGMoNy8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLmxnLWNvbC04IHtcbiAgICB3aWR0aDogY2FsYyg4LzEyICogMTAwJSk7XG4gIH1cblxuICAubGctY29sLTkge1xuICAgIHdpZHRoOiBjYWxjKDkvMTIgKiAxMDAlKTtcbiAgfVxuXG4gIC5sZy1jb2wtMTAge1xuICAgIHdpZHRoOiBjYWxjKDEwLzEyICogMTAwJSk7XG4gIH1cblxuICAubGctY29sLTExIHtcbiAgICB3aWR0aDogY2FsYygxMS8xMiAqIDEwMCUpO1xuICB9XG5cbiAgLmxnLWNvbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxufVxuXG4iLCJcbi5mbGV4IHsgZGlzcGxheTogZmxleCB9XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LXNtKSB7XG4gIC5zbS1mbGV4IHsgZGlzcGxheTogZmxleCB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1kKSB7XG4gIC5tZC1mbGV4IHsgZGlzcGxheTogZmxleCB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LWxnKSB7XG4gIC5sZy1mbGV4IHsgZGlzcGxheTogZmxleCB9XG59XG5cbi5mbGV4LWNvbHVtbiAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uIH1cbi5mbGV4LXdyYXAgICAgeyBmbGV4LXdyYXA6IHdyYXAgfVxuXG4uaXRlbXMtc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCB9XG4uaXRlbXMtZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgfVxuLml0ZW1zLWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciB9XG4uaXRlbXMtYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfVxuLml0ZW1zLXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggfVxuXG4uc2VsZi1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgfVxuLnNlbGYtZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCB9XG4uc2VsZi1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciB9XG4uc2VsZi1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lIH1cbi5zZWxmLXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCB9XG5cbi5qdXN0aWZ5LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgfVxuLmp1c3RpZnktZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgfVxuLmp1c3RpZnktY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyIH1cbi5qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gfVxuLmp1c3RpZnktYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kIH1cbi5qdXN0aWZ5LWV2ZW5seSAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSB9XG5cbi5jb250ZW50LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0IH1cbi5jb250ZW50LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCB9XG4uY29udGVudC1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyIH1cbi5jb250ZW50LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuIH1cbi5jb250ZW50LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgfVxuLmNvbnRlbnQtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggfVxuXG4vKiAxLiBGaXggZm9yIENocm9tZSA0NCBidWcuIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD01MDY4OTMgKi9cbi5mbGV4LWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwOyAvKiAxICovXG4gIG1pbi1oZWlnaHQ6IDA7IC8qIDEgKi9cbn1cbi5mbGV4LW5vbmUgeyBmbGV4OiBub25lIH1cblxuLm9yZGVyLTAgeyBvcmRlcjogMCB9XG4ub3JkZXItMSB7IG9yZGVyOiAxIH1cbi5vcmRlci0yIHsgb3JkZXI6IDIgfVxuLm9yZGVyLTMgeyBvcmRlcjogMyB9XG4ub3JkZXItbGFzdCB7IG9yZGVyOiA5OTk5OSB9XG5cbkBjdXN0b20tbWVkaWEgLS1icmVha3BvaW50LXNtIChtaW4td2lkdGg6IDQwZW0pO1xuQGN1c3RvbS1tZWRpYSAtLWJyZWFrcG9pbnQtbWQgKG1pbi13aWR0aDogNTJlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1sZyAobWluLXdpZHRoOiA2NGVtKTtcblxuIiwiLyogQmFzc2NzcyBQb3NpdGlvbiAqL1xuXG4ucmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgfVxuLmFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlIH1cbi5maXhlZCAgICB7IHBvc2l0aW9uOiBmaXhlZCB9XG5cbi50b3AtMCAgICB7IHRvcDogMCB9XG4ucmlnaHQtMCAgeyByaWdodDogMCB9XG4uYm90dG9tLTAgeyBib3R0b206IDAgfVxuLmxlZnQtMCAgIHsgbGVmdDogMCB9XG5cbi56MSB7IHotaW5kZXg6IHZhcigtLXoxKSB9XG4uejIgeyB6LWluZGV4OiB2YXIoLS16MikgfVxuLnozIHsgei1pbmRleDogdmFyKC0tejMpIH1cbi56NCB7IHotaW5kZXg6IHZhcigtLXo0KSB9XG5cbjpyb290IHtcbiAgLS16MTogMTtcbiAgLS16MjogMjtcbiAgLS16MzogMztcbiAgLS16NDogNDtcbn1cblxuIiwiLyogQmFzc2NzcyBCb3JkZXIgKi9cblxuLmJvcmRlciB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbn1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbn1cblxuLmJvcmRlci1yaWdodCB7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbn1cblxuLmJvcmRlci1sZWZ0IHtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbn1cblxuLmJvcmRlci1ub25lIHsgYm9yZGVyOiAwIH1cblxuLnJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB9XG4uY2lyY2xlICB7IGJvcmRlci1yYWRpdXM6IDUwJSB9XG5cbi5yb3VuZGVkLXRvcCAgICB7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCB9XG4ucm91bmRlZC1yaWdodCAgeyBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgfVxuLnJvdW5kZWQtYm90dG9tIHsgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIH1cbi5yb3VuZGVkLWxlZnQgICB7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB9XG5cbi5ub3Qtcm91bmRlZCB7IGJvcmRlci1yYWRpdXM6IDAgfVxuXG46cm9vdCB7XG4gIC0tYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0tYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4iLCIvKiBCYXNzY3NzIEhpZGUgKi9cblxuLmhpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQteHMpIHtcbiAgLnhzLWhpZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQgfVxufVxuXG5AbWVkaWEgKC0tYnJlYWtwb2ludC1zbS1tZCkge1xuICAuc20taGlkZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudCB9XG59XG5cbkBtZWRpYSAoLS1icmVha3BvaW50LW1kLWxnKSB7XG4gIC5tZC1oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50IH1cbn1cblxuQG1lZGlhICgtLWJyZWFrcG9pbnQtbGcpIHtcbiAgLmxnLWhpZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQgfVxufVxuXG4uZGlzcGxheS1ub25lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50IH1cblxuQGN1c3RvbS1tZWRpYSAtLWJyZWFrcG9pbnQteHMgKG1heC13aWR0aDogNDBlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1zbS1tZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTJlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1tZC1sZyAobWluLXdpZHRoOiA1MmVtKSBhbmQgKG1heC13aWR0aDogNjRlbSk7XG5AY3VzdG9tLW1lZGlhIC0tYnJlYWtwb2ludC1sZyAobWluLXdpZHRoOiA2NGVtKTtcblxuIl19 */