@font-face{font-family:"Abril Fatface";font-style:normal;font-weight:400;src:local("Abril Fatface"),local("AbrilFatface-Regular"),url(/fonts/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.subset.woff2) format("woff2");font-display:swap}@font-face{font-family:"PT Sans";font-style:italic;font-weight:400;src:local("PT Sans Italic"),local("PTSans-Italic"),url(/fonts/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}@font-face{font-family:"PT Sans";font-style:italic;font-weight:400;src:local("PT Sans Italic"),local("PTSans-Italic"),url(/fonts/jizYRExUiTo99u79D0e0x8mI.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;src:local("PT Sans"),local("PTSans-Regular"),url(/fonts/jizaRExUiTo99u79D0yExdGM.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;src:local("PT Sans"),local("PTSans-Regular"),url(/fonts/jizaRExUiTo99u79D0KExQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;src:local("PT Sans Bold"),local("PTSans-Bold"),url(/fonts/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;src:local("PT Sans Bold"),local("PTSans-Bold"),url(/fonts/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/SourceCodePro-Medium.otf.subset.woff2) format("woff2");unicode-range:U+0020-007F,U+00A0-00FF,U+20AC,U+20BC,U+2010,U+2013,U+2014,U+2018,U+2019,U+201A,U+201C,U+201D,U+201E,U+2039,U+203A,U+2026,U+2022}@font-face{font-family:"Source Code Pro";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SourceCodePro-Bold.otf.subset.woff2) format("woff2");unicode-range:U+0020-007F,U+00A0-00FF,U+20AC,U+20BC,U+2010,U+2013,U+2014,U+2018,U+2019,U+201A,U+201C,U+201D,U+201E,U+2039,U+203A,U+2026,U+2022}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}@media (min-width: 38em){html{font-size:20px}}body{color:#515151;background-color:#fff;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media (prefers-color-scheme: dark){body{color:#fff;background-color:#121212}}a{color:#369be2;text-decoration:underline dotted}a:hover,a:focus{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:bold;line-height:1.25;color:#313131;text-rendering:optimizeLegibility}@media (prefers-color-scheme: dark){h1,h2,h3,h4,h5,h6{color:#d0d0d0}}h1{font-size:2rem}h2{margin-top:1rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}p{margin-top:0;margin-bottom:1rem}strong{color:#313131}@media (prefers-color-scheme: dark){strong{color:#d0d0d0}}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:bold}dd{margin-bottom:.5rem}hr{position:relative;margin:1.5rem 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr{font-size:85%;font-weight:bold;color:#555;text-transform:uppercase}abbr[title]{cursor:help;border-bottom:1px dotted #e5e5e5}code,pre{font-family:"Source Code Pro",monospace}code{font-size:85%;color:#b8515d;background-color:#f9f9f9;border-radius:3px}@media (prefers-color-scheme: dark){code{color:#d2b3cc;background-color:#202020}}pre{display:block;margin-top:0;margin-bottom:1rem;padding:1rem;font-size:.8rem;line-height:1.4;overflow-x:auto;background-color:#f9f9f9}pre code{padding:0;font-size:100%;color:inherit;background-color:rgba(0,0,0,0)}.highlight{margin-bottom:1rem;border-radius:4px}.highlight pre{margin-bottom:0}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#7a7a7a;border-left:.25rem solid #e5e5e5}blockquote p:last-child{margin-bottom:0}@media (min-width: 38em){blockquote{padding-right:5rem;padding-left:1.25rem}}img{display:block;margin:0 0 1rem;border-radius:5px;max-width:100%;height:auto}@media (prefers-color-scheme: dark){img{filter:brightness(.8) contrast(1.2)}}table{margin-bottom:1rem;width:100%;border:1px solid #e5e5e5;border-collapse:collapse}td,th{padding:.25rem .5rem;border:1px solid #e5e5e5}tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:#f9f9f9}@media (prefers-color-scheme: dark){tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:#292929}}.lead{font-size:1rem;font-weight:300}.message{margin-bottom:1rem;padding:1rem;color:#717171;background-color:#f9f9f9}.container{max-width:38rem;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}.masthead{padding-top:1rem;padding-bottom:1rem;margin-bottom:3rem}.masthead-title{margin-top:0;margin-bottom:0;color:#505050}.masthead-title a{color:#505050}.masthead-title small{font-size:75%;font-weight:400;color:silver;letter-spacing:0}.page,.post{margin-bottom:4em}.page-title,.post-title,.post-title a{color:#303030}@media (prefers-color-scheme: dark){.page-title,.post-title,.post-title a{color:#d0d0d0}}.page-title,.post-title{margin-top:0}header.post-title p{margin-top:-1rem;font-size:120%}.post-date{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#666}@media (prefers-color-scheme: dark){.post-date{color:#9a9a9a}}.list-date{display:block;margin-bottom:.5rem;color:#666;font-size:75%}@media (prefers-color-scheme: dark){.list-date{color:#bbb}}.post-authors{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#9a9a9a}.related{padding-top:2rem;padding-bottom:2rem;border-top:1px solid #eee}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts li small{font-size:75%;color:#999}.related-posts li a:hover{color:#268bd2;text-decoration:none}.related-posts li a:hover small{color:inherit}:not(.footnote-definition)+.footnote-definition{border-top:1px solid;padding-top:1rem}.footnote-definition{margin-top:1rem;font-size:80%}.footnote-definition sup{margin-left:-1rem;float:left}.footnote-definition+:not(.footnote-definition){border-top:1px solid;padding-top:1rem}.footnote-definition:last-child{border-bottom:1px solid}.pagination{overflow:hidden;margin-left:-1rem;margin-right:-1rem;font-family:"PT Sans",Helvetica,Arial,sans-serif;color:#ccc;text-align:center}.pagination-item{display:block;padding:1rem;border:1px solid #eee}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:#f5f5f5}@media (min-width: 30em){.pagination{margin:3rem 0}.pagination-item{float:left;width:50%}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:4px;border-bottom-right-radius:4px}}details{margin:.5rem;padding:.5rem;border-radius:.5rem;background-color:#eee}@media (prefers-color-scheme: dark){details{background-color:#222}}.section{margin-bottom:1rem}.section>ul{margin-bottom:0}.column{width:100%;margin:.1em}@media (min-width: 100em){.column{width:50%}.row{margin-right:calc(50% - 50vw);display:flex}}html{font-family:"PT Sans",Helvetica,Arial,sans-serif}@media (min-width: 50em){html{font-size:16px}}@media (min-width: 58em){html{font-size:20px}}.sidebar{text-align:center;padding:1rem 1rem;color:#fff;background-color:#202020}@media (min-width: 50em){.sidebar{position:fixed;top:0;left:0;bottom:0;width:15rem;text-align:left}}.sidebar a{color:#fff}.sidebar-about h1{color:#fff;margin-top:0;font-family:"Abril Fatface",serif;font-size:3.25rem}.sidebar-about a{text-decoration:none}.sidebar-nav{padding-left:0;list-style:none;font-size:80%;display:flex;flex-direction:row;justify-content:space-evenly}@media (min-width: 50em){.sidebar-nav{flex-direction:column}}.sidebar-nav-item{display:block}a.sidebar-nav-item:hover,a.sidebar-nav-item:focus{text-decoration:underline}.sidebar-nav-item.active{font-weight:bold}.copyright{font-size:60%}@media (min-width: 50em){.sidebar-sticky{position:absolute;right:1rem;bottom:1rem;left:1rem}}.content{padding-top:1rem;padding-bottom:1rem}@media (min-width: 50em){.content{padding-top:4rem;padding-bottom:4rem;max-width:38rem;margin-left:17rem;margin-right:2rem}}@media (min-width: 64em){.content{margin-left:17rem;margin-right:4rem}}@media (min-width: 50em){.layout-reverse .sidebar{left:auto;right:0}.layout-reverse .content{margin-left:2rem;margin-right:20rem}}@media (min-width: 64em){.layout-reverse .content{margin-left:4rem;margin-right:22rem}}.theme-base-08 .sidebar{background-color:#ac4142}.theme-base-08 .content a,.theme-base-08 .related-posts li a:hover{color:#ac4142}.theme-base-09 .sidebar{background-color:#d28445}.theme-base-09 .content a,.theme-base-09 .related-posts li a:hover{color:#d28445}.theme-base-0a .sidebar{background-color:#f4bf75}.theme-base-0a .content a,.theme-base-0a .related-posts li a:hover{color:#f4bf75}.theme-base-0b .sidebar{background-color:#90a959}.theme-base-0b .content a,.theme-base-0b .related-posts li a:hover{color:#90a959}.theme-base-0c .sidebar{background-color:#75b5aa}.theme-base-0c .content a,.theme-base-0c .related-posts li a:hover{color:#75b5aa}.theme-base-0d .sidebar{background-color:#6a9fb5}.theme-base-0d .content a,.theme-base-0d .related-posts li a:hover{color:#6a9fb5}.theme-base-0e .sidebar{background-color:#9e6192}@media (prefers-color-scheme: dark){.theme-base-0e .sidebar{background-color:#561248}}.theme-base-0e .content a,.theme-base-0e .related-posts li a:hover{color:#9e6192}@media (prefers-color-scheme: dark){.theme-base-0e .content a,.theme-base-0e .related-posts li a:hover{color:#e23dc1}}.theme-base-0f .sidebar{background-color:#8f5536}.theme-base-0f .content a,.theme-base-0f .related-posts li a:hover{color:#8f5536}.search-container input{width:100%;padding:.5rem}@media (prefers-color-scheme: dark){.search-container input{background:#101010;color:#fff}}.search-results{display:none;background:#fff;color:#000;padding:1rem;max-height:100%;overflow:auto;left:0}@media (prefers-color-scheme: dark){.search-results{background:#101010;color:#fff}}.search-results__items{list-style:none}.search-results li{margin-top:1rem;border-bottom:1px solid #ccc;font-size:.9rem}.search-results li:first-of-type{margin-top:0}.search-results__item{margin-bottom:1rem}.search-results__item a{color:#9e6192;font-size:1.2rem;display:inline-block;margin-bottom:.5rem}pre.z-code{background-color:#282828;color:#fff;font-size:.75rem}pre.z-code.language-c:before{content:"LANGUAGE: C";display:block;text-align:center;margin-bottom:1.5em;margin-top:-1rem;margin-left:-1rem;margin-right:-1rem;background-color:#cb93c0;color:#282828}pre.z-code.language-rust:before{content:"LANGUAGE: RUST";display:block;text-align:center;margin-bottom:1.5em;margin-top:-1rem;margin-left:-1rem;margin-right:-1rem;background-color:#cb93c0;color:#282828}.z-entity.z-name.z-function,.z-entity.z-name.z-struct{color:#fff;font-weight:bold}.z-comment{color:#aaa}.z-storage,.z-keyword{color:#cb93c0}.z-punctuation.z-group,.z-punctuation.z-brackets,.z-punctuation.z-block{font-weight:bold;color:#cb93c0}.z-punctuation.z-separator{color:#cb93c0}.z-punctuation.z-accessor{color:#cb93c0}.z-punctuation.z-generic{color:#cb93c0}.z-path{color:#a4cb93}.z-constant{color:#a4cb93}.z-constant.z-numeric{color:#cbc393}.z-string{color:#cbc393}.z-string .z-escape,.z-string .z-placeholder{color:#cb93c0}.z-meta.z-annotation{color:#cbc393}.z-meta.z-annotation .z-punctuation.z-group{color:#cbc393}.language-txt{font-size:85%;line-height:1.2}@media print{.sidebar{display:none !important}.content{margin:0 auto;width:100%;float:none;display:initial}.container{width:100%;float:none;display:initial;padding-left:1rem;padding-right:1rem;margin:0 auto}}