@font-face{font-family:KaTeX_AMS;src:url(/static/fonts/KaTeX_AMS-Regular.e78e28b.woff2) format("woff2"),
url(/static/fonts/KaTeX_AMS-Regular.7f06b4e.woff) format("woff"),
url(/static/fonts/KaTeX_AMS-Regular.aaf4eee.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Caligraphic;src:url(/static/fonts/KaTeX_Caligraphic-Bold.4ec58be.woff2) format("woff2"),
url(/static/fonts/KaTeX_Caligraphic-Bold.1e802ca.woff) format("woff"),
url(/static/fonts/KaTeX_Caligraphic-Bold.021dd4d.ttf) format("truetype");
font-weight:700;
font-style:normal
}
@font-face{font-family:KaTeX_Caligraphic;src:url(/static/fonts/KaTeX_Caligraphic-Regular.7edb53b.woff2) format("woff2"),
url(/static/fonts/KaTeX_Caligraphic-Regular.d3b46c3.woff) format("woff"),
url(/static/fonts/KaTeX_Caligraphic-Regular.d49f2d5.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Fraktur;src:url(/static/fonts/KaTeX_Fraktur-Bold.d5b59ec.woff2) format("woff2"),
url(/static/fonts/KaTeX_Fraktur-Bold.c4c8cab.woff) format("woff"),
url(/static/fonts/KaTeX_Fraktur-Bold.a31e7cb.ttf) format("truetype");
font-weight:700;
font-style:normal
}
@font-face{font-family:KaTeX_Fraktur;src:url(/static/fonts/KaTeX_Fraktur-Regular.32a5339.woff2) format("woff2"),
url(/static/fonts/KaTeX_Fraktur-Regular.b7d9c46.woff) format("woff"),
url(/static/fonts/KaTeX_Fraktur-Regular.a48dad4.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Main;src:url(/static/fonts/KaTeX_Main-Bold.8e1e01c.woff2) format("woff2"),
url(/static/fonts/KaTeX_Main-Bold.22086eb.woff) format("woff"),
url(/static/fonts/KaTeX_Main-Bold.9ceff51.ttf) format("truetype");
font-weight:700;
font-style:normal
}
@font-face{font-family:KaTeX_Main;src:url(/static/fonts/KaTeX_Main-BoldItalic.284a17f.woff2) format("woff2"),
url(/static/fonts/KaTeX_Main-BoldItalic.4c57dbc.woff) format("woff"),
url(/static/fonts/KaTeX_Main-BoldItalic.e8b44b9.ttf) format("truetype");
font-weight:700;
font-style:italic
}
@font-face{font-family:KaTeX_Main;src:url(/static/fonts/KaTeX_Main-Italic.e533d5a.woff2) format("woff2"),
url(/static/fonts/KaTeX_Main-Italic.99be0e1.woff) format("woff"),
url(/static/fonts/KaTeX_Main-Italic.29c8639.ttf) format("truetype");
font-weight:400;
font-style:italic
}
@font-face{font-family:KaTeX_Main;src:url(/static/fonts/KaTeX_Main-Regular.5c734d7.woff2) format("woff2"),
url(/static/fonts/KaTeX_Main-Regular.b741441.woff) format("woff"),
url(/static/fonts/KaTeX_Main-Regular.5c94aef.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Math;src:url(/static/fonts/KaTeX_Math-BoldItalic.d747bd1.woff2) format("woff2"),
url(/static/fonts/KaTeX_Math-BoldItalic.b13731e.woff) format("woff"),
url(/static/fonts/KaTeX_Math-BoldItalic.9a2834a.ttf) format("truetype");
font-weight:700;
font-style:italic
}
@font-face{font-family:KaTeX_Math;src:url(/static/fonts/KaTeX_Math-Italic.4ad08b8.woff2) format("woff2"),
url(/static/fonts/KaTeX_Math-Italic.f030390.woff) format("woff"),
url(/static/fonts/KaTeX_Math-Italic.291e76b.ttf) format("truetype");
font-weight:400;
font-style:italic
}
@font-face{font-family:KaTeX_SansSerif;src:url(/static/fonts/KaTeX_SansSerif-Bold.6e0830b.woff2) format("woff2"),
url(/static/fonts/KaTeX_SansSerif-Bold.3fb4195.woff) format("woff"),
url(/static/fonts/KaTeX_SansSerif-Bold.7dc027c.ttf) format("truetype");
font-weight:700;
font-style:normal
}
@font-face{font-family:KaTeX_SansSerif;src:url(/static/fonts/KaTeX_SansSerif-Italic.fba01c9.woff2) format("woff2"),
url(/static/fonts/KaTeX_SansSerif-Italic.727a9b0.woff) format("woff"),
url(/static/fonts/KaTeX_SansSerif-Italic.4059868.ttf) format("truetype");
font-weight:400;
font-style:italic
}
@font-face{font-family:KaTeX_SansSerif;src:url(/static/fonts/KaTeX_SansSerif-Regular.d929cd6.woff2) format("woff2"),
url(/static/fonts/KaTeX_SansSerif-Regular.2555754.woff) format("woff"),
url(/static/fonts/KaTeX_SansSerif-Regular.5c58d16.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Script;src:url(/static/fonts/KaTeX_Script-Regular.755e249.woff2) format("woff2"),
url(/static/fonts/KaTeX_Script-Regular.d524c9a.woff) format("woff"),
url(/static/fonts/KaTeX_Script-Regular.d12ea9e.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Size1;src:url(/static/fonts/KaTeX_Size1-Regular.048c39c.woff2) format("woff2"),
url(/static/fonts/KaTeX_Size1-Regular.08b5f00.woff) format("woff"),
url(/static/fonts/KaTeX_Size1-Regular.7342d45.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Size2;src:url(/static/fonts/KaTeX_Size2-Regular.81d6b8d.woff2) format("woff2"),
url(/static/fonts/KaTeX_Size2-Regular.af24b0e.woff) format("woff"),
url(/static/fonts/KaTeX_Size2-Regular.eb130dc.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Size3;src:url(/static/fonts/KaTeX_Size3-Regular.b311ca0.woff2) format("woff2"),
url(/static/fonts/KaTeX_Size3-Regular.0d89264.woff) format("woff"),
url(/static/fonts/KaTeX_Size3-Regular.7e02a40.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Size4;src:url(/static/fonts/KaTeX_Size4-Regular.6a3255d.woff2) format("woff2"),
url(/static/fonts/KaTeX_Size4-Regular.68895bb.woff) format("woff"),
url(/static/fonts/KaTeX_Size4-Regular.ad76725.ttf) format("truetype");
font-weight:400;
font-style:normal
}
@font-face{font-family:KaTeX_Typewriter;src:url(/static/fonts/KaTeX_Typewriter-Regular.6cc31ea.woff2) format("woff2"),
url(/static/fonts/KaTeX_Typewriter-Regular.3fe216d.woff) format("woff"),
url(/static/fonts/KaTeX_Typewriter-Regular.2570235.ttf) format("truetype");
font-weight:400;
font-style:normal
}
.katex {
	font:normal 1.21em KaTeX_Main,
	Times New Roman,
	serif;
	line-height:1.2;
	text-indent:0;
	text-rendering:auto
}
.katex * {
	-ms-high-contrast-adjust:none!important
}
.katex .katex-version:after {
	content:"0.10.2"
}
.katex .katex-mathml {
	position:absolute;
	clip:rect(1px,
	1px,
	1px,
	1px);
	padding:0;
	border:0;
	height:1px;
	width:1px;
	overflow:hidden
}
.katex .katex-html>.newline {
	display:block
}
.katex .base {
	position:relative;
	white-space:nowrap;
	width:min-content
}
.katex .base,
.katex .strut {
	display:inline-block
}
.katex .textbf {
	font-weight:700
}
.katex .textit {
	font-style:italic
}
.katex .textrm {
	font-family:KaTeX_Main
}
.katex .textsf {
	font-family:KaTeX_SansSerif
}
.katex .texttt {
	font-family:KaTeX_Typewriter
}
.katex .mathdefault {
	font-family:KaTeX_Math;
	font-style:italic
}
.katex .mathit {
	font-family:KaTeX_Main;
	font-style:italic
}
.katex .mathrm {
	font-style:normal
}
.katex .mathbf {
	font-family:KaTeX_Main;
	font-weight:700
}
.katex .boldsymbol {
	font-family:KaTeX_Math;
	font-weight:700;
	font-style:italic
}
.katex .amsrm,
.katex .mathbb,
.katex .textbb {
	font-family:KaTeX_AMS
}
.katex .mathcal {
	font-family:KaTeX_Caligraphic
}
.katex .mathfrak,
.katex .textfrak {
	font-family:KaTeX_Fraktur
}
.katex .mathtt {
	font-family:KaTeX_Typewriter
}
.katex .mathscr,
.katex .textscr {
	font-family:KaTeX_Script
}
.katex .mathsf,
.katex .textsf {
	font-family:KaTeX_SansSerif
}
.katex .mathboldsf,
.katex .textboldsf {
	font-family:KaTeX_SansSerif;
	font-weight:700
}
.katex .mathitsf,
.katex .textitsf {
	font-family:KaTeX_SansSerif;
	font-style:italic
}
.katex .mainrm {
	font-family:KaTeX_Main;
	font-style:normal
}
.katex .vlist-t {
	display:inline-table;
	table-layout:fixed
}
.katex .vlist-r {
	display:table-row
}
.katex .vlist {
	display:table-cell;
	vertical-align:bottom;
	position:relative
}
.katex .vlist>span {
	display:block;
	height:0;
	position:relative
}
.katex .vlist>span>span {
	display:inline-block
}
.katex .vlist>span>.pstrut {
	overflow:hidden;
	width:0
}
.katex .vlist-t2 {
	margin-right:-2px
}
.katex .vlist-s {
	display:table-cell;
	vertical-align:bottom;
	font-size:1px;
	width:2px;
	min-width:2px
}
.katex .msupsub {
	text-align:left
}
.katex .mfrac>span>span {
	text-align:center
}
.katex .mfrac .frac-line {
	display:inline-block;
	width:100%;
	border-bottom-style:solid
}
.katex .hdashline,
.katex .hline,
.katex .mfrac .frac-line,
.katex .overline .overline-line,
.katex .rule,
.katex .underline .underline-line {
	min-height:1px
}
.katex .mspace {
	display:inline-block
}
.katex .clap,
.katex .llap,
.katex .rlap {
	width:0;
	position:relative
}
.katex .clap>.inner,
.katex .llap>.inner,
.katex .rlap>.inner {
	position:absolute
}
.katex .clap>.fix,
.katex .llap>.fix,
.katex .rlap>.fix {
	display:inline-block
}
.katex .llap>.inner {
	right:0
}
.katex .clap>.inner,
.katex .rlap>.inner {
	left:0
}
.katex .clap>.inner>span {
	margin-left:-50%;
	margin-right:50%
}
.katex .rule {
	display:inline-block;
	border:0 solid;
	position:relative
}
.katex .hline,
.katex .overline .overline-line,
.katex .underline .underline-line {
	display:inline-block;
	width:100%;
	border-bottom-style:solid
}
.katex .hdashline {
	display:inline-block;
	width:100%;
	border-bottom-style:dashed
}
.katex .sqrt>.root {
	margin-left:.27777778em;
	margin-right:-.55555556em
}
.katex .fontsize-ensurer,
.katex .sizing {
	display:inline-block
}
.katex .fontsize-ensurer.reset-size1.size1,
.katex .sizing.reset-size1.size1 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size1.size2,
.katex .sizing.reset-size1.size2 {
	font-size:1.2em
}
.katex .fontsize-ensurer.reset-size1.size3,
.katex .sizing.reset-size1.size3 {
	font-size:1.4em
}
.katex .fontsize-ensurer.reset-size1.size4,
.katex .sizing.reset-size1.size4 {
	font-size:1.6em
}
.katex .fontsize-ensurer.reset-size1.size5,
.katex .sizing.reset-size1.size5 {
	font-size:1.8em
}
.katex .fontsize-ensurer.reset-size1.size6,
.katex .sizing.reset-size1.size6 {
	font-size:2em
}
.katex .fontsize-ensurer.reset-size1.size7,
.katex .sizing.reset-size1.size7 {
	font-size:2.4em
}
.katex .fontsize-ensurer.reset-size1.size8,
.katex .sizing.reset-size1.size8 {
	font-size:2.88em
}
.katex .fontsize-ensurer.reset-size1.size9,
.katex .sizing.reset-size1.size9 {
	font-size:3.456em
}
.katex .fontsize-ensurer.reset-size1.size10,
.katex .sizing.reset-size1.size10 {
	font-size:4.148em
}
.katex .fontsize-ensurer.reset-size1.size11,
.katex .sizing.reset-size1.size11 {
	font-size:4.976em
}
.katex .fontsize-ensurer.reset-size2.size1,
.katex .sizing.reset-size2.size1 {
	font-size:.83333333em
}
.katex .fontsize-ensurer.reset-size2.size2,
.katex .sizing.reset-size2.size2 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size2.size3,
.katex .sizing.reset-size2.size3 {
	font-size:1.16666667em
}
.katex .fontsize-ensurer.reset-size2.size4,
.katex .sizing.reset-size2.size4 {
	font-size:1.33333333em
}
.katex .fontsize-ensurer.reset-size2.size5,
.katex .sizing.reset-size2.size5 {
	font-size:1.5em
}
.katex .fontsize-ensurer.reset-size2.size6,
.katex .sizing.reset-size2.size6 {
	font-size:1.66666667em
}
.katex .fontsize-ensurer.reset-size2.size7,
.katex .sizing.reset-size2.size7 {
	font-size:2em
}
.katex .fontsize-ensurer.reset-size2.size8,
.katex .sizing.reset-size2.size8 {
	font-size:2.4em
}
.katex .fontsize-ensurer.reset-size2.size9,
.katex .sizing.reset-size2.size9 {
	font-size:2.88em
}
.katex .fontsize-ensurer.reset-size2.size10,
.katex .sizing.reset-size2.size10 {
	font-size:3.45666667em
}
.katex .fontsize-ensurer.reset-size2.size11,
.katex .sizing.reset-size2.size11 {
	font-size:4.14666667em
}
.katex .fontsize-ensurer.reset-size3.size1,
.katex .sizing.reset-size3.size1 {
	font-size:.71428571em
}
.katex .fontsize-ensurer.reset-size3.size2,
.katex .sizing.reset-size3.size2 {
	font-size:.85714286em
}
.katex .fontsize-ensurer.reset-size3.size3,
.katex .sizing.reset-size3.size3 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size3.size4,
.katex .sizing.reset-size3.size4 {
	font-size:1.14285714em
}
.katex .fontsize-ensurer.reset-size3.size5,
.katex .sizing.reset-size3.size5 {
	font-size:1.28571429em
}
.katex .fontsize-ensurer.reset-size3.size6,
.katex .sizing.reset-size3.size6 {
	font-size:1.42857143em
}
.katex .fontsize-ensurer.reset-size3.size7,
.katex .sizing.reset-size3.size7 {
	font-size:1.71428571em
}
.katex .fontsize-ensurer.reset-size3.size8,
.katex .sizing.reset-size3.size8 {
	font-size:2.05714286em
}
.katex .fontsize-ensurer.reset-size3.size9,
.katex .sizing.reset-size3.size9 {
	font-size:2.46857143em
}
.katex .fontsize-ensurer.reset-size3.size10,
.katex .sizing.reset-size3.size10 {
	font-size:2.96285714em
}
.katex .fontsize-ensurer.reset-size3.size11,
.katex .sizing.reset-size3.size11 {
	font-size:3.55428571em
}
.katex .fontsize-ensurer.reset-size4.size1,
.katex .sizing.reset-size4.size1 {
	font-size:.625em
}
.katex .fontsize-ensurer.reset-size4.size2,
.katex .sizing.reset-size4.size2 {
	font-size:.75em
}
.katex .fontsize-ensurer.reset-size4.size3,
.katex .sizing.reset-size4.size3 {
	font-size:.875em
}
.katex .fontsize-ensurer.reset-size4.size4,
.katex .sizing.reset-size4.size4 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size4.size5,
.katex .sizing.reset-size4.size5 {
	font-size:1.125em
}
.katex .fontsize-ensurer.reset-size4.size6,
.katex .sizing.reset-size4.size6 {
	font-size:1.25em
}
.katex .fontsize-ensurer.reset-size4.size7,
.katex .sizing.reset-size4.size7 {
	font-size:1.5em
}
.katex .fontsize-ensurer.reset-size4.size8,
.katex .sizing.reset-size4.size8 {
	font-size:1.8em
}
.katex .fontsize-ensurer.reset-size4.size9,
.katex .sizing.reset-size4.size9 {
	font-size:2.16em
}
.katex .fontsize-ensurer.reset-size4.size10,
.katex .sizing.reset-size4.size10 {
	font-size:2.5925em
}
.katex .fontsize-ensurer.reset-size4.size11,
.katex .sizing.reset-size4.size11 {
	font-size:3.11em
}
.katex .fontsize-ensurer.reset-size5.size1,
.katex .sizing.reset-size5.size1 {
	font-size:.55555556em
}
.katex .fontsize-ensurer.reset-size5.size2,
.katex .sizing.reset-size5.size2 {
	font-size:.66666667em
}
.katex .fontsize-ensurer.reset-size5.size3,
.katex .sizing.reset-size5.size3 {
	font-size:.77777778em
}
.katex .fontsize-ensurer.reset-size5.size4,
.katex .sizing.reset-size5.size4 {
	font-size:.88888889em
}
.katex .fontsize-ensurer.reset-size5.size5,
.katex .sizing.reset-size5.size5 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size5.size6,
.katex .sizing.reset-size5.size6 {
	font-size:1.11111111em
}
.katex .fontsize-ensurer.reset-size5.size7,
.katex .sizing.reset-size5.size7 {
	font-size:1.33333333em
}
.katex .fontsize-ensurer.reset-size5.size8,
.katex .sizing.reset-size5.size8 {
	font-size:1.6em
}
.katex .fontsize-ensurer.reset-size5.size9,
.katex .sizing.reset-size5.size9 {
	font-size:1.92em
}
.katex .fontsize-ensurer.reset-size5.size10,
.katex .sizing.reset-size5.size10 {
	font-size:2.30444444em
}
.katex .fontsize-ensurer.reset-size5.size11,
.katex .sizing.reset-size5.size11 {
	font-size:2.76444444em
}
.katex .fontsize-ensurer.reset-size6.size1,
.katex .sizing.reset-size6.size1 {
	font-size:.5em
}
.katex .fontsize-ensurer.reset-size6.size2,
.katex .sizing.reset-size6.size2 {
	font-size:.6em
}
.katex .fontsize-ensurer.reset-size6.size3,
.katex .sizing.reset-size6.size3 {
	font-size:.7em
}
.katex .fontsize-ensurer.reset-size6.size4,
.katex .sizing.reset-size6.size4 {
	font-size:.8em
}
.katex .fontsize-ensurer.reset-size6.size5,
.katex .sizing.reset-size6.size5 {
	font-size:.9em
}
.katex .fontsize-ensurer.reset-size6.size6,
.katex .sizing.reset-size6.size6 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size6.size7,
.katex .sizing.reset-size6.size7 {
	font-size:1.2em
}
.katex .fontsize-ensurer.reset-size6.size8,
.katex .sizing.reset-size6.size8 {
	font-size:1.44em
}
.katex .fontsize-ensurer.reset-size6.size9,
.katex .sizing.reset-size6.size9 {
	font-size:1.728em
}
.katex .fontsize-ensurer.reset-size6.size10,
.katex .sizing.reset-size6.size10 {
	font-size:2.074em
}
.katex .fontsize-ensurer.reset-size6.size11,
.katex .sizing.reset-size6.size11 {
	font-size:2.488em
}
.katex .fontsize-ensurer.reset-size7.size1,
.katex .sizing.reset-size7.size1 {
	font-size:.41666667em
}
.katex .fontsize-ensurer.reset-size7.size2,
.katex .sizing.reset-size7.size2 {
	font-size:.5em
}
.katex .fontsize-ensurer.reset-size7.size3,
.katex .sizing.reset-size7.size3 {
	font-size:.58333333em
}
.katex .fontsize-ensurer.reset-size7.size4,
.katex .sizing.reset-size7.size4 {
	font-size:.66666667em
}
.katex .fontsize-ensurer.reset-size7.size5,
.katex .sizing.reset-size7.size5 {
	font-size:.75em
}
.katex .fontsize-ensurer.reset-size7.size6,
.katex .sizing.reset-size7.size6 {
	font-size:.83333333em
}
.katex .fontsize-ensurer.reset-size7.size7,
.katex .sizing.reset-size7.size7 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size7.size8,
.katex .sizing.reset-size7.size8 {
	font-size:1.2em
}
.katex .fontsize-ensurer.reset-size7.size9,
.katex .sizing.reset-size7.size9 {
	font-size:1.44em
}
.katex .fontsize-ensurer.reset-size7.size10,
.katex .sizing.reset-size7.size10 {
	font-size:1.72833333em
}
.katex .fontsize-ensurer.reset-size7.size11,
.katex .sizing.reset-size7.size11 {
	font-size:2.07333333em
}
.katex .fontsize-ensurer.reset-size8.size1,
.katex .sizing.reset-size8.size1 {
	font-size:.34722222em
}
.katex .fontsize-ensurer.reset-size8.size2,
.katex .sizing.reset-size8.size2 {
	font-size:.41666667em
}
.katex .fontsize-ensurer.reset-size8.size3,
.katex .sizing.reset-size8.size3 {
	font-size:.48611111em
}
.katex .fontsize-ensurer.reset-size8.size4,
.katex .sizing.reset-size8.size4 {
	font-size:.55555556em
}
.katex .fontsize-ensurer.reset-size8.size5,
.katex .sizing.reset-size8.size5 {
	font-size:.625em
}
.katex .fontsize-ensurer.reset-size8.size6,
.katex .sizing.reset-size8.size6 {
	font-size:.69444444em
}
.katex .fontsize-ensurer.reset-size8.size7,
.katex .sizing.reset-size8.size7 {
	font-size:.83333333em
}
.katex .fontsize-ensurer.reset-size8.size8,
.katex .sizing.reset-size8.size8 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size8.size9,
.katex .sizing.reset-size8.size9 {
	font-size:1.2em
}
.katex .fontsize-ensurer.reset-size8.size10,
.katex .sizing.reset-size8.size10 {
	font-size:1.44027778em
}
.katex .fontsize-ensurer.reset-size8.size11,
.katex .sizing.reset-size8.size11 {
	font-size:1.72777778em
}
.katex .fontsize-ensurer.reset-size9.size1,
.katex .sizing.reset-size9.size1 {
	font-size:.28935185em
}
.katex .fontsize-ensurer.reset-size9.size2,
.katex .sizing.reset-size9.size2 {
	font-size:.34722222em
}
.katex .fontsize-ensurer.reset-size9.size3,
.katex .sizing.reset-size9.size3 {
	font-size:.40509259em
}
.katex .fontsize-ensurer.reset-size9.size4,
.katex .sizing.reset-size9.size4 {
	font-size:.46296296em
}
.katex .fontsize-ensurer.reset-size9.size5,
.katex .sizing.reset-size9.size5 {
	font-size:.52083333em
}
.katex .fontsize-ensurer.reset-size9.size6,
.katex .sizing.reset-size9.size6 {
	font-size:.5787037em
}
.katex .fontsize-ensurer.reset-size9.size7,
.katex .sizing.reset-size9.size7 {
	font-size:.69444444em
}
.katex .fontsize-ensurer.reset-size9.size8,
.katex .sizing.reset-size9.size8 {
	font-size:.83333333em
}
.katex .fontsize-ensurer.reset-size9.size9,
.katex .sizing.reset-size9.size9 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size9.size10,
.katex .sizing.reset-size9.size10 {
	font-size:1.20023148em
}
.katex .fontsize-ensurer.reset-size9.size11,
.katex .sizing.reset-size9.size11 {
	font-size:1.43981481em
}
.katex .fontsize-ensurer.reset-size10.size1,
.katex .sizing.reset-size10.size1 {
	font-size:.24108004em
}
.katex .fontsize-ensurer.reset-size10.size2,
.katex .sizing.reset-size10.size2 {
	font-size:.28929605em
}
.katex .fontsize-ensurer.reset-size10.size3,
.katex .sizing.reset-size10.size3 {
	font-size:.33751205em
}
.katex .fontsize-ensurer.reset-size10.size4,
.katex .sizing.reset-size10.size4 {
	font-size:.38572806em
}
.katex .fontsize-ensurer.reset-size10.size5,
.katex .sizing.reset-size10.size5 {
	font-size:.43394407em
}
.katex .fontsize-ensurer.reset-size10.size6,
.katex .sizing.reset-size10.size6 {
	font-size:.48216008em
}
.katex .fontsize-ensurer.reset-size10.size7,
.katex .sizing.reset-size10.size7 {
	font-size:.57859209em
}
.katex .fontsize-ensurer.reset-size10.size8,
.katex .sizing.reset-size10.size8 {
	font-size:.69431051em
}
.katex .fontsize-ensurer.reset-size10.size9,
.katex .sizing.reset-size10.size9 {
	font-size:.83317261em
}
.katex .fontsize-ensurer.reset-size10.size10,
.katex .sizing.reset-size10.size10 {
	font-size:1em
}
.katex .fontsize-ensurer.reset-size10.size11,
.katex .sizing.reset-size10.size11 {
	font-size:1.19961427em
}
.katex .fontsize-ensurer.reset-size11.size1,
.katex .sizing.reset-size11.size1 {
	font-size:.20096463em
}
.katex .fontsize-ensurer.reset-size11.size2,
.katex .sizing.reset-size11.size2 {
	font-size:.24115756em
}
.katex .fontsize-ensurer.reset-size11.size3,
.katex .sizing.reset-size11.size3 {
	font-size:.28135048em
}
.katex .fontsize-ensurer.reset-size11.size4,
.katex .sizing.reset-size11.size4 {
	font-size:.32154341em
}
.katex .fontsize-ensurer.reset-size11.size5,
.katex .sizing.reset-size11.size5 {
	font-size:.36173633em
}
.katex .fontsize-ensurer.reset-size11.size6,
.katex .sizing.reset-size11.size6 {
	font-size:.40192926em
}
.katex .fontsize-ensurer.reset-size11.size7,
.katex .sizing.reset-size11.size7 {
	font-size:.48231511em
}
.katex .fontsize-ensurer.reset-size11.size8,
.katex .sizing.reset-size11.size8 {
	font-size:.57877814em
}
.katex .fontsize-ensurer.reset-size11.size9,
.katex .sizing.reset-size11.size9 {
	font-size:.69453376em
}
.katex .fontsize-ensurer.reset-size11.size10,
.katex .sizing.reset-size11.size10 {
	font-size:.83360129em
}
.katex .fontsize-ensurer.reset-size11.size11,
.katex .sizing.reset-size11.size11 {
	font-size:1em
}
.katex .delimsizing.size1 {
	font-family:KaTeX_Size1
}
.katex .delimsizing.size2 {
	font-family:KaTeX_Size2
}
.katex .delimsizing.size3 {
	font-family:KaTeX_Size3
}
.katex .delimsizing.size4 {
	font-family:KaTeX_Size4
}
.katex .delimsizing.mult .delim-size1>span {
	font-family:KaTeX_Size1
}
.katex .delimsizing.mult .delim-size4>span {
	font-family:KaTeX_Size4
}
.katex .nulldelimiter {
	display:inline-block;
	width:.12em
}
.katex .delimcenter,
.katex .op-symbol {
	position:relative
}
.katex .op-symbol.small-op {
	font-family:KaTeX_Size1
}
.katex .op-symbol.large-op {
	font-family:KaTeX_Size2
}
.katex .accent>.vlist-t,
.katex .op-limits>.vlist-t {
	text-align:center
}
.katex .accent .accent-body {
	position:relative
}
.katex .accent .accent-body:not(.accent-full) {
	width:0
}
.katex .overlay {
	display:block
}
.katex .mtable .vertical-separator {
	display:inline-block;
	margin:0 -.025em;
	border-right:.05em solid;
	min-width:1px
}
.katex .mtable .vs-dashed {
	border-right:.05em dashed
}
.katex .mtable .arraycolsep {
	display:inline-block
}
.katex .mtable .col-align-c>.vlist-t {
	text-align:center
}
.katex .mtable .col-align-l>.vlist-t {
	text-align:left
}
.katex .mtable .col-align-r>.vlist-t {
	text-align:right
}
.katex .svg-align {
	text-align:left
}
.katex svg {
	display:block;
	position:absolute;
	width:100%;
	height:inherit;
	fill:currentColor;
	stroke:currentColor;
	fill-rule:nonzero;
	fill-opacity:1;
	stroke-width:1;
	stroke-linecap:butt;
	stroke-linejoin:miter;
	stroke-miterlimit:4;
	stroke-dasharray:none;
	stroke-dashoffset:0;
	stroke-opacity:1
}
.katex svg path {
	stroke:none
}
.katex img {
	border-style:none;
	min-width:0;
	min-height:0;
	max-width:none;
	max-height:none
}
.katex .stretchy {
	width:100%;
	display:block;
	position:relative;
	overflow:hidden
}
.katex .stretchy:after,
.katex .stretchy:before {
	content:""
}
.katex .hide-tail {
	width:100%;
	position:relative;
	overflow:hidden
}
.katex .halfarrow-left {
	position:absolute;
	left:0;
	width:50.2%;
	overflow:hidden
}
.katex .halfarrow-right {
	position:absolute;
	right:0;
	width:50.2%;
	overflow:hidden
}
.katex .brace-left {
	position:absolute;
	left:0;
	width:25.1%;
	overflow:hidden
}
.katex .brace-center {
	position:absolute;
	left:25%;
	width:50%;
	overflow:hidden
}
.katex .brace-right {
	position:absolute;
	right:0;
	width:25.1%;
	overflow:hidden
}
.katex .x-arrow-pad {
	padding:0 .5em
}
.katex .mover,
.katex .munder,
.katex .x-arrow {
	text-align:center
}
.katex .boxpad {
	padding:0 .3em
}
.katex .fbox,
.katex .fcolorbox {
	box-sizing:border-box;
	border:.04em solid
}
.katex .cancel-pad {
	padding:0 .2em
}
.katex .cancel-lap {
	margin-left:-.2em;
	margin-right:-.2em
}
.katex .sout {
	border-bottom-style:solid;
	border-bottom-width:.08em
}
.katex-display {
	display:block;
	margin:1em 0;
	text-align:center
}
.katex-display>.katex {
	display:block;
	text-align:center;
	white-space:nowrap
}
.katex-display>.katex>.katex-html {
	display:block;
	position:relative
}
.katex-display>.katex>.katex-html>.tag {
	position:absolute;
	right:0
}
.katex-display.leqno>.katex>.katex-html>.tag {
	left:0;
	right:auto
}
.katex-display.fleqn>.katex {
	text-align:left
}
@font-face{font-family:Lato;font-style:normal;font-weight:400;src:url(/static/fonts/lato-normal.27bd77b.woff) format("woff")
}
@font-face{font-family:Lato;font-style:italic;font-weight:400;src:url(/static/fonts/lato-normal-italic.f28f2d6.woff) format("woff")
}
@font-face{font-family:Lato;font-style:normal;font-weight:600;src:url(/static/fonts/lato-black.f80bda6.woff) format("woff")
}
@font-face{font-family:Lato;font-style:italic;font-weight:600;src:url(/static/fonts/lato-black-italic.798eafd.woff) format("woff")
}
@font-face{font-family:Roboto Mono;
font-style:normal;
font-weight:400;
src:url(/static/fonts/RobotoMono-Regular.0b6a547.woff) format("woff")
}
@font-face{font-family:Roboto Mono;
font-style:normal;
font-weight:600;
src:url(/static/fonts/RobotoMono-Bold.819f3b2.woff) format("woff")
}
.prism *,
.token.pre.gfm * {
	font-weight:inherit!important
}
.prism .token.cdata,
.prism .token.comment,
.prism .token.doctype,
.prism .token.prolog,
.token.pre.gfm .token.cdata,
.token.pre.gfm .token.comment,
.token.pre.gfm .token.doctype,
.token.pre.gfm .token.prolog {
	color:#708090
}
.prism .token.punctuation,
.token.pre.gfm .token.punctuation {
	color:#999
}
.prism .namespace,
.token.pre.gfm .namespace {
	opacity:.7
}
.prism .token.boolean,
.prism .token.constant,
.prism .token.deleted,
.prism .token.number,
.prism .token.property,
.prism .token.symbol,
.prism .token.tag,
.token.pre.gfm .token.boolean,
.token.pre.gfm .token.constant,
.token.pre.gfm .token.deleted,
.token.pre.gfm .token.number,
.token.pre.gfm .token.property,
.token.pre.gfm .token.symbol,
.token.pre.gfm .token.tag {
	color:#905
}
.prism .token.attr-name,
.prism .token.builtin,
.prism .token.char,
.prism .token.inserted,
.prism .token.selector,
.prism .token.string,
.token.pre.gfm .token.attr-name,
.token.pre.gfm .token.builtin,
.token.pre.gfm .token.char,
.token.pre.gfm .token.inserted,
.token.pre.gfm .token.selector,
.token.pre.gfm .token.string {
	color:#690
}
.prism .language-css .token.string,
.prism .style .token.string,
.prism .token.entity,
.prism .token.operator,
.prism .token.url,
.token.pre.gfm .language-css .token.string,
.token.pre.gfm .style .token.string,
.token.pre.gfm .token.entity,
.token.pre.gfm .token.operator,
.token.pre.gfm .token.url {
	color:#a67f59
}
.prism .token.atrule,
.prism .token.attr-value,
.prism .token.keyword,
.token.pre.gfm .token.atrule,
.token.pre.gfm .token.attr-value,
.token.pre.gfm .token.keyword {
	color:#07a
}
.prism .token.function,
.token.pre.gfm .token.function {
	color:#dd4a68
}
.prism .token.important,
.prism .token.regex,
.prism .token.variable,
.token.pre.gfm .token.important,
.token.pre.gfm .token.regex,
.token.pre.gfm .token.variable {
	color:#e90
}
.prism .token.bold,
.prism .token.important,
.token.pre.gfm .token.bold,
.token.pre.gfm .token.important {
	font-weight:500
}
.prism .token.italic,
.token.pre.gfm .token.italic {
	font-style:italic
}
.mermaid {
	font-size:16px
}
.mermaid svg {
	color:rgba(0,
	0,
	0,
	.75);
	width:100%;
	max-width:100%
}
.app--dark .mermaid svg {
	color:hsla(0,
	0%,
	100%,
	.75)
}
.mermaid svg * {
	font-family:Lato,
	Helvetica Neue,
	Helvetica,
	sans-serif
}
.mermaid .mermaid .label {
	color:#333
}
.mermaid .node circle,
.mermaid .node ellipse,
.mermaid .node polygon,
.mermaid .node rect {
	fill:#eee;
	stroke:#999;
	stroke-width:1px
}
.mermaid .node.clickable {
	cursor:pointer
}
.mermaid .arrowheadPath {
	fill:#333
}
.mermaid .edgePath .path {
	stroke:#666;
	stroke-width:1.5px
}
.mermaid .edgeLabel {
	background-color:#fff
}
.mermaid .cluster rect {
	fill:#eaf2fb!important;
	stroke:#26a!important;
	stroke-width:1px!important
}
.mermaid .cluster text {
	fill:#333
}
.mermaid div.mermaidTooltip {
	position:absolute;
	text-align:center;
	max-width:200px;
	padding:2px;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:12px;
	background:#eaf2fb;
	border:1px solid #26a;
	border-radius:2px;
	pointer-events:none;
	z-index:100
}
.mermaid .actor {
	stroke:#999;
	fill:#eee
}
.mermaid text.actor {
	fill:#333;
	stroke:none
}
.mermaid .actor-line {
	stroke:#666
}
.mermaid .messageLine0 {
	marker-end:"url(#arrowhead)"
}
.mermaid .messageLine0,
.mermaid .messageLine1 {
	stroke-width:1.5;
	stroke-dasharray:"2 2";
	stroke:#333
}
.mermaid #arrowhead {
	fill:#333
}
.mermaid #crosshead path {
	fill:#333!important;
	stroke:#333!important
}
.mermaid .messageText {
	fill:#333;
	stroke:none
}
.mermaid .labelBox {
	stroke:#999;
	fill:#eee
}
.mermaid .labelText,
.mermaid .loopText {
	fill:#fff;
	stroke:none
}
.mermaid .loopLine {
	stroke-width:2;
	stroke-dasharray:"2 2";
	marker-end:"url(#arrowhead)";
	stroke:#999
}
.mermaid .note {
	stroke:#770;
	fill:#ffa
}
.mermaid .noteText {
	fill:#000;
	stroke:none;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:14px
}
.mermaid .section {
	stroke:none;
	opacity:.2
}
.mermaid .section0,
.mermaid .section2 {
	fill:#80b3e6
}
.mermaid .section1,
.mermaid .section3 {
	fill:#fff;
	opacity:.2
}
.mermaid .sectionTitle0,
.mermaid .sectionTitle1,
.mermaid .sectionTitle2,
.mermaid .sectionTitle3 {
	fill:#333
}
.mermaid .sectionTitle {
	text-anchor:start;
	font-size:11px
}
.mermaid .grid .tick {
	stroke:#e6e6e6;
	opacity:.3;
	shape-rendering:crispEdges
}
.mermaid .grid path {
	stroke-width:0
}
.mermaid .today {
	fill:none;
	stroke:#d42;
	stroke-width:2px
}
.mermaid .task {
	stroke-width:2
}
.mermaid .taskText {
	text-anchor:middle;
	font-size:11px
}
.mermaid .taskTextOutsideRight {
	fill:#333;
	text-anchor:start;
	font-size:11px
}
.mermaid .taskTextOutsideLeft {
	fill:#333;
	text-anchor:end;
	font-size:11px
}
.mermaid .taskText0,
.mermaid .taskText1,
.mermaid .taskText2,
.mermaid .taskText3 {
	fill:#fff
}
.mermaid .task0,
.mermaid .task1,
.mermaid .task2,
.mermaid .task3 {
	fill:#26a;
	stroke:#1a4d80
}
.mermaid .taskTextOutside0,
.mermaid .taskTextOutside1,
.mermaid .taskTextOutside2,
.mermaid .taskTextOutside3 {
	fill:#333
}
.mermaid .active0,
.mermaid .active1,
.mermaid .active2,
.mermaid .active3 {
	fill:#eee;
	stroke:#1a4d80
}
.mermaid .activeText0,
.mermaid .activeText1,
.mermaid .activeText2,
.mermaid .activeText3 {
	fill:#333!important
}
.mermaid .done0,
.mermaid .done1,
.mermaid .done2,
.mermaid .done3 {
	stroke:#666;
	fill:#bbb;
	stroke-width:2
}
.mermaid .doneText0,
.mermaid .doneText1,
.mermaid .doneText2,
.mermaid .doneText3 {
	fill:#333!important
}
.mermaid .crit0,
.mermaid .crit1,
.mermaid .crit2,
.mermaid .crit3 {
	stroke:#b1361b;
	fill:#d42;
	stroke-width:2
}
.mermaid .activeCrit0,
.mermaid .activeCrit1,
.mermaid .activeCrit2,
.mermaid .activeCrit3 {
	stroke:#b1361b;
	fill:#eee;
	stroke-width:2
}
.mermaid .doneCrit0,
.mermaid .doneCrit1,
.mermaid .doneCrit2,
.mermaid .doneCrit3 {
	stroke:#b1361b;
	fill:#bbb;
	stroke-width:2;
	cursor:pointer;
	shape-rendering:crispEdges
}
.mermaid .activeCritText0,
.mermaid .activeCritText1,
.mermaid .activeCritText2,
.mermaid .activeCritText3,
.mermaid .doneCritText0,
.mermaid .doneCritText1,
.mermaid .doneCritText2,
.mermaid .doneCritText3 {
	fill:#333!important
}
.mermaid .titleText {
	text-anchor:middle;
	font-size:18px;
	fill:#333
}
.mermaid g.classGroup text {
	fill:#999;
	stroke:none;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:10px
}
.mermaid g.classGroup rect {
	fill:#eee;
	stroke:#999
}
.mermaid g.classGroup line {
	stroke:#999;
	stroke-width:1
}
.mermaid .classLabel .box {
	stroke:none;
	stroke-width:0;
	fill:#eee;
	opacity:.5
}
.mermaid .classLabel .label {
	fill:#999;
	font-size:10px
}
.mermaid .relation {
	stroke:#999;
	stroke-width:1;
	fill:none
}
.mermaid #compositionEnd,
.mermaid #compositionStart {
	fill:#999;
	stroke:#999;
	stroke-width:1
}
.mermaid #aggregationEnd,
.mermaid #aggregationStart {
	fill:#eee;
	stroke:#999;
	stroke-width:1
}
.mermaid #dependencyEnd,
.mermaid #dependencyStart,
.mermaid #extensionEnd,
.mermaid #extensionStart {
	fill:#999;
	stroke:#999;
	stroke-width:1
}
.mermaid .branch-label,
.mermaid .commit-id,
.mermaid .commit-msg {
	fill:#d3d3d3;
	color:#d3d3d3
}
.app--dark .mermaid .label {
	color:#323d47
}
.app--dark .mermaid .node circle,
.app--dark .mermaid .node ellipse,
.app--dark .mermaid .node polygon,
.app--dark .mermaid .node rect {
	fill:#bdd5ea;
	stroke:purple;
	stroke-width:1px
}
.app--dark .mermaid .node.clickable {
	cursor:pointer
}
.app--dark .mermaid .arrowheadPath {
	fill:#d3d3d3
}
.app--dark .mermaid .edgePath .path {
	stroke:#d3d3d3;
	stroke-width:1.5px
}
.app--dark .mermaid .edgeLabel {
	background-color:#e8e8e8
}
.app--dark .mermaid .cluster rect {
	fill:#6d6d65!important;
	stroke:hsla(0,
	0%,
	100%,
	.25)!important;
	stroke-width:1px!important
}
.app--dark .mermaid .cluster text {
	fill:#f9fffe
}
.app--dark .mermaid div.mermaidTooltip {
	position:absolute;
	text-align:center;
	max-width:200px;
	padding:2px;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:12px;
	background:#6d6d65;
	border:1px solid hsla(0,
	0%,
	100%,
	.25);
	border-radius:2px;
	pointer-events:none;
	z-index:100
}
.app--dark .mermaid .actor {
	stroke:#81b1db;
	fill:#bdd5ea
}
.app--dark .mermaid text.actor {
	fill:#000;
	stroke:none
}
.app--dark .mermaid .actor-line {
	stroke:#d3d3d3
}
.app--dark .mermaid .messageLine0 {
	marker-end:"url(#arrowhead)"
}
.app--dark .mermaid .messageLine0,
.app--dark .mermaid .messageLine1 {
	stroke-width:1.5;
	stroke-dasharray:"2 2";
	stroke:#d3d3d3
}
.app--dark .mermaid #arrowhead {
	fill:#d3d3d3
}
.app--dark .mermaid #crosshead path {
	fill:#d3d3d3!important;
	stroke:#d3d3d3!important
}
.app--dark .mermaid .messageText {
	fill:#d3d3d3;
	stroke:none
}
.app--dark .mermaid .labelBox {
	stroke:#81b1db;
	fill:#bdd5ea
}
.app--dark .mermaid .labelText,
.app--dark .mermaid .loopText {
	fill:#d3d3d3;
	stroke:none
}
.app--dark .mermaid .loopLine {
	stroke-width:2;
	stroke-dasharray:"2 2";
	marker-end:"url(#arrowhead)";
	stroke:#81b1db
}
.app--dark .mermaid .note {
	stroke:hsla(0,
	0%,
	100%,
	.25);
	fill:#fff5ad
}
.app--dark .mermaid .noteText {
	fill:#000;
	stroke:none;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:14px
}
.app--dark .mermaid .section {
	stroke:none;
	opacity:.2
}
.app--dark .mermaid .section0 {
	fill:hsla(0,
	0%,
	100%,
	.3)
}
.app--dark .mermaid .section2 {
	fill:#eae8b9
}
.app--dark .mermaid .section1,
.app--dark .mermaid .section3 {
	fill:#fff;
	opacity:.2
}
.app--dark .mermaid .sectionTitle0,
.app--dark .mermaid .sectionTitle1,
.app--dark .mermaid .sectionTitle2,
.app--dark .mermaid .sectionTitle3 {
	fill:#f9fffe
}
.app--dark .mermaid .sectionTitle {
	text-anchor:start;
	font-size:11px
}
.app--dark .mermaid .grid .tick {
	stroke:#d3d3d3;
	opacity:.3;
	shape-rendering:crispEdges
}
.app--dark .mermaid .grid path {
	stroke-width:0
}
.app--dark .mermaid .today {
	fill:none;
	stroke:#db5757;
	stroke-width:2px
}
.app--dark .mermaid .task {
	stroke-width:2
}
.app--dark .mermaid .taskText {
	text-anchor:middle;
	font-size:11px
}
.app--dark .mermaid .taskTextOutsideRight {
	fill:#323d47;
	text-anchor:start;
	font-size:11px
}
.app--dark .mermaid .taskTextOutsideLeft {
	fill:#323d47;
	text-anchor:end;
	font-size:11px
}
.app--dark .mermaid .taskText0,
.app--dark .mermaid .taskText1,
.app--dark .mermaid .taskText2,
.app--dark .mermaid .taskText3 {
	fill:#323d47
}
.app--dark .mermaid .task0,
.app--dark .mermaid .task1,
.app--dark .mermaid .task2,
.app--dark .mermaid .task3 {
	fill:#bdd5ea;
	stroke:hsla(0,
	0%,
	100%,
	.5)
}
.app--dark .mermaid .taskTextOutside0,
.app--dark .mermaid .taskTextOutside1,
.app--dark .mermaid .taskTextOutside2,
.app--dark .mermaid .taskTextOutside3 {
	fill:#d3d3d3
}
.app--dark .mermaid .active0,
.app--dark .mermaid .active1,
.app--dark .mermaid .active2,
.app--dark .mermaid .active3 {
	fill:#81b1db;
	stroke:hsla(0,
	0%,
	100%,
	.5)
}
.app--dark .mermaid .activeText0,
.app--dark .mermaid .activeText1,
.app--dark .mermaid .activeText2,
.app--dark .mermaid .activeText3 {
	fill:#323d47!important
}
.app--dark .mermaid .done0,
.app--dark .mermaid .done1,
.app--dark .mermaid .done2,
.app--dark .mermaid .done3 {
	stroke:grey;
	fill:#d3d3d3;
	stroke-width:2
}
.app--dark .mermaid .doneText0,
.app--dark .mermaid .doneText1,
.app--dark .mermaid .doneText2,
.app--dark .mermaid .doneText3 {
	fill:#323d47!important
}
.app--dark .mermaid .crit0,
.app--dark .mermaid .crit1,
.app--dark .mermaid .crit2,
.app--dark .mermaid .crit3 {
	stroke:#e83737;
	fill:#e83737;
	stroke-width:2
}
.app--dark .mermaid .activeCrit0,
.app--dark .mermaid .activeCrit1,
.app--dark .mermaid .activeCrit2,
.app--dark .mermaid .activeCrit3 {
	stroke:#e83737;
	fill:#81b1db;
	stroke-width:2
}
.app--dark .mermaid .doneCrit0,
.app--dark .mermaid .doneCrit1,
.app--dark .mermaid .doneCrit2,
.app--dark .mermaid .doneCrit3 {
	stroke:#e83737;
	fill:#d3d3d3;
	stroke-width:2;
	cursor:pointer;
	shape-rendering:crispEdges
}
.app--dark .mermaid .activeCritText0,
.app--dark .mermaid .activeCritText1,
.app--dark .mermaid .activeCritText2,
.app--dark .mermaid .activeCritText3,
.app--dark .mermaid .doneCritText0,
.app--dark .mermaid .doneCritText1,
.app--dark .mermaid .doneCritText2,
.app--dark .mermaid .doneCritText3 {
	fill:#323d47!important
}
.app--dark .mermaid .titleText {
	text-anchor:middle;
	font-size:18px;
	fill:#323d47
}
.app--dark .mermaid g.classGroup text {
	fill:purple;
	stroke:none;
	font-family:trebuchet ms,
	verdana,
	arial;
	font-size:10px
}
.app--dark .mermaid g.classGroup rect {
	fill:#bdd5ea;
	stroke:purple
}
.app--dark .mermaid g.classGroup line {
	stroke:purple;
	stroke-width:1
}
.app--dark .mermaid .classLabel .box {
	stroke:none;
	stroke-width:0;
	fill:#bdd5ea;
	opacity:.5
}
.app--dark .mermaid .classLabel .label {
	fill:purple;
	font-size:10px
}
.app--dark .mermaid .relation {
	stroke:purple;
	stroke-width:1;
	fill:none
}
.app--dark .mermaid #compositionEnd,
.app--dark .mermaid #compositionStart {
	fill:purple;
	stroke:purple;
	stroke-width:1
}
.app--dark .mermaid #aggregationEnd,
.app--dark .mermaid #aggregationStart {
	fill:#bdd5ea;
	stroke:purple;
	stroke-width:1
}
.app--dark .mermaid #dependencyEnd,
.app--dark .mermaid #dependencyStart,
.app--dark .mermaid #extensionEnd,
.app--dark .mermaid #extensionStart {
	fill:purple;
	stroke:purple;
	stroke-width:1
}
.app--dark .mermaid .branch-label,
.app--dark .mermaid .commit-id,
.app--dark .mermaid .commit-msg {
	fill:#d3d3d3;
	color:#d3d3d3
}
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */

html {
	line-height:1.15;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%
}
body {
	margin:0
}
article,
aside,
footer,
header,
nav,
section {
	display:block
}
footer {
    margin-top: auto;
    font-size: 10px;
    text-align: center;
    word-wrap: break-word;
    line-height: 1.5;
}

h1 {
	font-size:2em;
	margin:.67em 0
}
figcaption,
figure {
	display:block
}
figure {
	margin:1em 40px
}
hr {
	box-sizing:content-box;
	height:0;
	overflow:visible
}
main {
	display:block
}
pre {
	font-family:monospace,
	monospace;
	font-size:1em
}
a {
	background-color:transparent;
	-webkit-text-decoration-skip:objects
}
abbr[title] {
	border-bottom:none;
	text-decoration:underline;
	text-decoration:underline dotted
}
b,
strong {
	font-weight:inherit;
	font-weight:bolder
}
code,
kbd,
samp {
	font-family:monospace,
	monospace;
	font-size:1em
}
dfn {
	font-style:italic
}
mark {
	background-color:#ff0;
	color:#000
}
small {
	font-size:80%
}
sub,
sup {
	font-size:75%;
	line-height:0;
	position:relative;
	vertical-align:baseline
}
sub {
	bottom:-.25em
}
sup {
	top:-.5em
}
audio,
video {
	display:inline-block
}
audio:not([controls]) {
	display:none;
	height:0
}
img {
	border-style:none
}
svg:not(:root) {
	overflow:hidden
}
button,
input,
optgroup,
select,
textarea {
	font-family:sans-serif;
	font-size:100%;
	line-height:1.15;
	margin:0
}
button {
	overflow:visible
}
button,
select {
	text-transform:none
}
[type=reset],
[type=submit],
button,
html[type=button] {
	-webkit-appearance:button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style:none;
	padding:0
}
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline:1px dotted ButtonText
}
input {
	overflow:visible
}
[type=checkbox],
[type=radio] {
	box-sizing:border-box;
	padding:0
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height:auto
}
[type=search] {
	-webkit-appearance:textfield;
	outline-offset:-2px
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance:none
}
::-webkit-file-upload-button {
	-webkit-appearance:button;
	font:inherit
}
fieldset {
	padding:.35em .75em .625em
}
legend {
	box-sizing:border-box;
	display:table;
	max-width:100%;
	padding:0;
	color:inherit;
	white-space:normal
}
progress {
	display:inline-block;
	vertical-align:baseline
}
textarea {
	overflow:auto
}
details {
	display:block
}
summary {
	display:list-item
}
menu {
	display:block
}
canvas {
	display:inline-block
}
[hidden],
template {
	display:none
}
body,
html {
	color:rgba(0,
	0,
	0,
	.75);
	font-size:16px;
	font-family:Lato,
	Helvetica Neue,
	Helvetica,
	sans-serif;
	font-variant-ligatures:common-ligatures;
	line-height:1.67;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale
}
.app--dark .layout__panel--editor,
.app--dark .layout__panel--preview {
	color:hsla(0,
	0%,
	100%,
	.75)
}
blockquote,
dl,
ol,
p,
pre,
ul {
	margin:1.2em 0
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin:1.8em 0;
	line-height:1.33
}
h1:after,
h2:after {
	content:"";
	display:block;
	position:relative;
	top:.33em;
	border-bottom:1px solid hsla(0,
	0%,
	50%,
	.33)
}
ol ol,
ol ul,
ul ol,
ul ul {
	margin:0
}
dt {
	font-weight:700
}
a {
	color:#0c93e4;
	text-decoration:underline;
	text-decoration-skip:ink
}
a:focus,
a:hover {
	text-decoration:none
}
code,
pre,
samp {
	font-family:Roboto Mono,
	Lucida Sans Typewriter,
	Lucida Console,
	monaco,
	Courrier,
	monospace;
	font-size:.85em
}
code *,
pre *,
samp * {
	font-size:inherit
}
blockquote {
	color:rgba(0,
	0,
	0,
	.5);
	padding-left:1.5em;
	border-left:5px solid rgba(0,
	0,
	0,
	.1)
}
.app--dark .layout__panel--editor blockquote,
.app--dark .layout__panel--preview blockquote {
	color:hsla(0,
	0%,
	100%,
	.4);
	border-left-color:hsla(0,
	0%,
	100%,
	.1)
}
code {
	background-color:rgba(0,
	0,
	0,
	.05);
	border-radius:3px;
	padding:2px 4px
}
hr {
	border:0;
	border-top:1px solid hsla(0,
	0%,
	50%,
	.33);
	margin:2em 0
}
pre>code {
	background-color:rgba(0,
	0,
	0,
	.05);
	display:block;
	padding:.5em;
	-webkit-text-size-adjust:none;
	overflow-x:auto;
	white-space:pre
}
.toc ul {
	list-style-type:none;
	padding-left:20px
}
table {
	background-color:transparent;
	border-collapse:collapse;
	border-spacing:0
}
td,
th {
	border-right:1px solid #dcdcdc;
	padding:8px 12px
}
td:last-child,
th:last-child {
	border-right:0
}
td {
	border-top:1px solid #dcdcdc
}
mark {
	background-color:#f8f840
}
kbd {
	font-family:Lato,
	Helvetica Neue,
	Helvetica,
	sans-serif;
	background-color:#fff;
	border:1px solid rgba(63,
	63,
	63,
	.25);
	border-radius:3px;
	box-shadow:0 1px 0 rgba(63,
	63,
	63,
	.25);
	color:#333;
	display:inline-block;
	font-size:.8em;
	margin:0 .1em;
	padding:.1em .6em;
	white-space:nowrap
}
abbr[title] {
	border-bottom:1px dotted #777;
	cursor:help
}
img {
	max-width:100%
}
.task-list-item {
	list-style-type:none
}
.task-list-item-checkbox {
	margin:0 .2em 0 -1.3em
}
.footnote {
	font-size:.8em;
	position:relative;
	top:-.25em;
	vertical-align:top
}
.page-break-after {
	page-break-after:always
}
.abc-notation-block {
	overflow-x:auto!important
}
.stackedit__html {
	margin-bottom:180px;
	margin-left:auto;
	margin-right:auto;
	padding-left:30px;
	padding-right:30px;
	max-width:750px
}
.stackedit__toc ul {
	padding:0
}
.stackedit__toc ul a {
	margin:.5rem 0;
	padding:.5rem 1rem
}
.stackedit__toc ul ul {
	color:#888;
	font-size:.9em
}
.stackedit__toc ul ul a {
	margin:0;
	padding:.1rem 1rem
}
.stackedit__toc li {
	display:block
}
.stackedit__toc a {
	display:block;
	color:inherit;
	text-decoration:none
}
.stackedit__toc a:active,
.stackedit__toc a:focus,
.stackedit__toc a:hover {
	background-color:rgba(0,
	0,
	0,
	.075);
	border-radius:3px
}
.stackedit__left {
	position:fixed;
	display:none;
	width:250px;
	height:100%;
	top:0;
	left:0;
	overflow-x:hidden;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	-ms-overflow-style:none
}
@media (min-width: 1060px) {
	.stackedit__left {
		display:block
	}
}
.stackedit__right {
	position:absolute;
	right:0;
	top:0;
	left:0
}
@media (min-width: 1060px) {
	.stackedit__right {
		left:250px
	}
}
.stackedit--pdf blockquote {
	border-left-color:#ececec
}
.stackedit--pdf .stackedit__html {
	padding-left:0;
	padding-right:0;
	max-width:none
}

.error-page {
    text-align: center;
}

.error-page h1 {
    font-size: 30vh;
    font-weight: bold;
    position: relative;
    margin: -8vh 0 0;
    padding: 0;
}

.error-page h1:after {
    display: inline;
}
