:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1*var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1*var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition:none!important;animation:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9))translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1))translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95))translateY(0)}57%{transform:scale(1,1)translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}
main>nav.contents ul ul ul ul:not(.auto-toc){list-style-type:"⬩ "}main>nav.contents ul ul ul ul ul:not(.auto-toc){list-style-type:"⬝ "}hr.docutils{clear:both;width:80%;margin-top:1em;margin-bottom:1em}main p,main ol,main ul,main dl,main.li,div.line-block,.footnote,.citation,div>math,table{margin-top:.5em;margin-bottom:.5em}dd,details>p:last-child{margin-bottom:.5em}dd>ul:only-child,dd>ol:only-child{padding-left:1em}dl.description{display:flow-root}dl.description>dt{clear:left;float:left;margin:0;padding:0 .3em 0 0;font-weight:700}dl.description>dd:after{content:"";clear:left;display:table}dl.field-list>dd,dl.docinfo>dd{margin-left:var(--field-indent)}dl.field-list.narrow>dd{--field-indent:5em}dl.field-list.run-in>dd p{display:block}div.abstract p.topic-title{text-align:center}div.dedication{text-align:center;margin:2em 5em;font-style:italic}div.dedication p.topic-title{font-style:normal}details{padding-left:1em}summary{margin-left:-1em}pre.literal-block,pre.doctest-block,pre.math,pre.code{font-family:monospace}blockquote{margin:1em 2em}blockquote p.attribution,.topic p.attribution{text-align:right;margin-left:20%}table tr{text-align:left}table.booktabs{border-collapse:collapse;border:2px solid;border-left:0;border-right:0}table.booktabs *{border:0}table.booktabs th{border-bottom:thin solid}table.numbered>caption:before{counter-increment:table;content:"Table " counter(table)": ";font-weight:700}.footnote-list{border-left:thin solid;padding-left:.25em}figure.align-left,img.align-left,video.align-left,object.align-left{clear:left;float:left;margin-right:1em}figure.align-right,img.align-right,video.align-right,object.align-right{clear:right;float:right;margin-left:1em}h1,h2,h3,h4,footer,header{clear:both}figure.numbered>figcaption>p:before{counter-increment:figure;content:"Figure " counter(figure)": ";font-weight:700}.caution p.admonition-title,.attention p.admonition-title,.danger p.admonition-title,.error p.admonition-title,.warning p.admonition-title,div.error{color:red}aside.sidebar{float:right;clear:right;background-color:#fffffa;width:30%;max-width:26em;margin-left:1em;margin-right:-1%}pre.code{padding:.7ex}math .boldsymbol{font-weight:700}mstyle.mathscr,mi.mathscr{font-family:STIX,XITSMathJax_Script,rsfs10,Asana Math,Garamond,cursive}sup,sub{line-height:.8}a{text-decoration:none}
pre.code .hll{background-color:#49483e}pre.code{color:#f8f8f2;background:#272822}pre.code .c{color:#75715e}pre.code .err{color:#960050;background-color:#1e0010}pre.code .k{color:#66d9ef}pre.code .l{color:#ae81ff}pre.code .n{color:#f8f8f2}pre.code .o{color:#f92672}pre.code .p{color:#f8f8f2}pre.code .ch,pre.code .cm,pre.code .cp,pre.code .cpf,pre.code .c1,pre.code .cs{color:#75715e}pre.code .gd{color:#f92672}pre.code .ge{font-style:italic}pre.code .gi{color:#a6e22e}pre.code .gs{font-weight:700}pre.code .gu{color:#75715e}pre.code .kc,pre.code .kd{color:#66d9ef}pre.code .kn{color:#f92672}pre.code .kp,pre.code .kr,pre.code .kt{color:#66d9ef}pre.code .ld{color:#e6db74}pre.code .m{color:#ae81ff}pre.code .s{color:#e6db74}pre.code .na{color:#a6e22e}pre.code .nb{color:#f8f8f2}pre.code .nc{color:#a6e22e}pre.code .no{color:#66d9ef}pre.code .nd{color:#a6e22e}pre.code .ni{color:#f8f8f2}pre.code .ne,pre.code .nf{color:#a6e22e}pre.code .nl,pre.code .nn{color:#f8f8f2}pre.code .nx{color:#a6e22e}pre.code .py{color:#f8f8f2}pre.code .nt{color:#f92672}pre.code .nv{color:#f8f8f2}pre.code .ow{color:#f92672}pre.code .w{color:#f8f8f2}pre.code .mb,pre.code .mf,pre.code .mh,pre.code .mi,pre.code .mo{color:#ae81ff}pre.code .sa,pre.code .sb,pre.code .sc,pre.code .dl,pre.code .sd,pre.code .s2{color:#e6db74}pre.code .se{color:#ae81ff}pre.code .sh,pre.code .si,pre.code .sx,pre.code .sr,pre.code .s1,pre.code .ss{color:#e6db74}pre.code .bp{color:#f8f8f2}pre.code .fm{color:#a6e22e}pre.code .vc,pre.code .vg,pre.code .vi,pre.code .vm{color:#f8f8f2}pre.code .il{color:#ae81ff}
div.pycode-decl{padding-left:3px;font-family:Consolas,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,monospace}span.pycode-decl-prefix{color:#3c9c51}span.pycode-decl-obj-type{color:#ec0707}span.pycode-decl-name{font-weight:700}span.pycode-decl-argspec{font-style:italic}.container.docutils>div>.pycode-docstring{background-color:var(--bs-light);border-radius:4px;padding:3px}div.pycode-docstring{overflow-wrap:anywhere;margin-bottom:10px;margin-left:30px;padding-left:3px}div.pycode-sub{border-left:4px solid #00000020;margin-left:30px;padding-left:10px}
:root{--bs-font-sans-serif:var(--default-font),"Segoe UI","Roboto","Helvetica Neue","Arial","Noto Sans","Liberation Sans",sans-serif;--bs-font-monospace:var(--mono-font),SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--accent-color:#47b2e4;--header-bg:#0a0f288c;--header-height:80px;--body-bg:#1a1d23;--surface-bg:#22252b;--text-color:#c9cdd3;--heading-color:#e0e3e8;--border-color:#2e3138;--link-color:#47b2e4;--link-hover:#6ec5ed}html{box-sizing:border-box;width:100%;scroll-padding-top:calc(var(--header-height) + 8px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;margin:0;padding:0;overscroll-behavior:none!important}body{background-color:var(--body-bg);box-sizing:border-box;color:var(--text-color);font-feature-settings:"kern" 1,"liga" 1,"calt" 1;min-height:100dvh;padding:0;padding-top:var(--header-height);-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;margin:0;padding-bottom:32px;padding-left:300px;position:relative;overflow:hidden auto}div.view{box-sizing:border-box;padding-bottom:2rem;padding-left:15px;padding-right:15px;overflow:hidden}.container{width:100%!important;max-width:unset!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}div.reading{max-width:1200px;color:var(--text-color)}div.reading table tr:hover{background-color:#ffffff0d}main img{max-width:100%}header{height:var(--header-height);z-index:1001;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background-color:#0a0f2866;border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;margin:0;padding:0 20px;font-size:1rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0000004d}header.scrolled{background-color:#0a0f2899;box-shadow:0 4px 30px #00000080}div.searchResult{margin-bottom:1rem}div.searchResult div{color:#ffffff80;margin-left:25px;font-style:italic}div.searchResult div em{font-weight:700}header form{flex-grow:1;margin:0}header input{height:46px;font-size:1.05rem;color:#fff!important;background-color:#ffffff08!important;border:1px solid #ffffff14!important;border-radius:30px 0 0 30px!important}header input::placeholder{color:#ffffff40;font-style:italic}header input:focus{color:#fff!important;box-shadow:none!important;background-color:#ffffff08!important;border:1px solid #ffffff14!important;outline:none!important}.header-search{flex-grow:1;min-width:0;overflow:hidden}.header-login{white-space:nowrap;flex-shrink:0;align-items:center;gap:16px;margin-left:auto;display:flex}.btn-home{gap:6px;font-size:1rem;background:#ffffff14!important;border:1px solid #ffffff26!important}.btn-home:hover{background:#ffffff26!important}.btn-admin{color:#fff;background:var(--accent-color);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;height:38px;padding:0 20px;font-size:14px;line-height:1;text-decoration:none;transition:all .3s;display:inline-flex}.btn-admin:hover{color:#fff;background:color-mix(in srgb,var(--accent-color),transparent 15%);text-decoration:none}.btn-admin-icon{background:#dc3545;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:15px;display:inline-flex}.btn-admin-icon:hover{background:#c82333}.login-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:380px;padding:32px;position:relative;box-shadow:0 8px 32px #0006}.login-modal-close{color:#fff6;cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;position:absolute;top:12px;right:14px}.login-modal-close:hover{color:#fff}.login-modal-icon{text-align:center;color:var(--accent-color);margin-bottom:12px;font-size:28px}.login-modal-title{text-align:center;color:var(--heading-color);margin-bottom:20px;font-size:18px;font-weight:600}.login-modal .form-control{border-radius:8px;padding:10px 14px;border:1px solid var(--border-color)!important;color:#fff!important;background-color:#ffffff0d!important}.login-modal .form-control::placeholder{color:#ffffff4d;font-style:italic}.login-modal .form-control:focus{border-color:var(--accent-color)!important;box-shadow:0 0 0 2px #47b2e426!important}.search-input-group{align-items:center;display:flex}.search-input-group input{flex-grow:1}.search-btn{cursor:pointer;color:#ffffffb3;background-color:#ffffff08;border:1px solid #ffffff14;border-left:none;border-radius:0 30px 30px 0;align-items:center;height:46px;padding:0 16px;font-size:1rem;transition:background-color .2s,border-color .2s,color .2s;display:flex}.search-btn:hover:not(:disabled){color:#fff;background-color:#ffffff14}.search-btn:disabled{cursor:default;color:#ffffff59}.nav-search{margin:.5rem;display:none}.nav-search .search-input-group{align-items:stretch;display:flex}.nav-search .search-input-group input{color:#eee;background-color:#2a2a2a;border:1px solid #555;border-radius:4px 0 0 4px;height:32px;padding:4px 8px;font-size:.85rem}.nav-search .search-input-group input::placeholder{color:#999}.nav-search .search-btn{color:#ccc;background-color:#444;border:1px solid #555;border-left:none;border-radius:0 4px 4px 0;height:32px;padding:0 10px;font-size:.8rem}.nav-search .search-btn:hover:not(:disabled){color:#fff;background-color:#555}.nav-search .search-btn:disabled{cursor:default;opacity:.3}header img{width:auto;height:50px;margin-right:8px}#sidebar{background-color:var(--bs-dark-bg-subtle);color:var(--bs-body-color);z-index:1000;top:var(--header-height);box-sizing:border-box;scrollbar-width:none;border-right:1px solid #ffffff1a;width:300px;padding:6px 5px;font-size:.875rem;display:block;position:fixed;bottom:32px;left:0;overflow:hidden auto;box-shadow:4px 0 24px #00000080}main{box-sizing:border-box;min-height:0}button.navbar-toggler{cursor:pointer;color:#fff;background:0 0;border:none;flex-shrink:0;padding:6px 2px;font-size:1.4rem;display:none}button.navbar-toggler:focus{box-shadow:none;border:0;outline:none}.sidebar-overlay{top:var(--header-height);z-index:1050;background-color:#0000008c;display:none;position:fixed;bottom:32px;left:0;right:0}@media screen and (max-width:900px){body{padding-left:0}#sidebar{z-index:1060;display:none}#sidebar.sidebar-open{border-right:1px solid #ffffff1a;display:block;bottom:0;box-shadow:4px 0 24px #00000080}.sidebar-overlay.active{display:block;bottom:0}button.navbar-toggler{display:inline-block}.header-login{display:none!important}.nav-search{display:block!important}.header-search{display:none}div.title{padding-left:15px!important}div.view{padding-left:15px;padding-right:15px}footer{display:none!important}}#sidebar::-webkit-scrollbar{display:none}nav{position:relative}footer{clear:both;text-align:center;z-index:1000;color:#bdbdbd;background-color:#262626;border-top:1px solid #ffffff1a;width:100%;margin-top:0;margin-bottom:0;padding:8px 0;font-size:14px;position:fixed;bottom:0;left:0;right:0}nav ul{box-sizing:border-box;width:100%;margin:0;padding:0;list-style:none;display:block}nav ul ul{box-sizing:border-box;border:0;padding-left:0;display:none}nav a{color:var(--bs-body-color);box-sizing:border-box;cursor:pointer;text-align:left;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:0;border-radius:.25rem;width:100%;margin-bottom:1px;padding:10px .75rem 10px 25px;text-decoration:none;display:inline-block}nav ul ul a{padding-left:35px}nav ul ul ul a{padding-left:45px}nav ul ul ul ul a{padding-left:55px}div.box-group{border-style:solid;border-color:var(--border-color);border-width:1px 1px 1px 10px;border-radius:6px;width:auto;min-height:12px;margin-bottom:5px;padding:2px 3px 2px 6px;box-shadow:inset 0 1px 1px #00000026}div.box-content{border-style:solid;border-color:var(--border-color);border-width:1px;border-radius:6px;width:auto;min-height:12px;margin-bottom:5px;padding:4px 4px 4px 6px;box-shadow:inset 0 1px 1px #00000026}nav li a:not([data-dropdown]) i{display:none}nav li a[data-dropdown][data-open^=true]{font-weight:700}nav a.active,nav a.active:hover{color:var(--bs-emphasis-color);background:var(--accent-color)}nav a:hover{color:var(--bs-emphasis-color);background-color:var(--bs-tertiary-bg);text-decoration:none}a{color:var(--link-color)}a:hover{color:var(--link-hover);text-decoration:underline}nav ul ul a{box-sizing:border-box;cursor:pointer;text-align:left;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:.25rem;width:100%;padding-top:8px;padding-bottom:8px;padding-right:.75rem;font-size:.8rem;line-height:1.2rem;display:inline-block}.table-container{overflow-y:scroll}table{border-bottom:1px solid var(--border-color);width:100%;font-size:inherit;margin-bottom:5px}table th{color:#fff;border-bottom:1px solid var(--border-color);background-color:#2980b9;padding:8px 10px}table td{border-bottom:1px solid var(--border-color);vertical-align:top;padding:8px 10px}table tbody tr.odd{background-color:#ffffff08}p.section-subtitle{color:var(--accent-color)}dd{margin-left:revert!important}div.pycode-decl{font-family:var(--bs-font-monospace);padding-left:3px}span.pycode-decl-prefix{color:#5ec76e}span.pycode-decl-obj-type{color:#ff6b6b}span.pycode-decl-name{font-weight:700}span.pycode-decl-argspec{font-style:italic}span.url-parameter{color:#e87da0;font-family:var(--bs-font-monospace);background-color:#c7254e26;border-radius:4px;margin:0 3px}table span.url-parameter{margin-left:0}.container.docutils>div>.pycode-docstring{background-color:var(--surface-bg);border-radius:4px;padding:3px}div.pycode-docstring{overflow-wrap:anywhere;margin-bottom:10px;margin-left:30px;padding-left:3px}div.pycode-sub{border-left:4px solid var(--border-color);margin-left:30px;padding-left:10px}div.row{margin-top:2px;margin-bottom:4px}div.grid{width:100%;display:table}div.grid-row{width:100%;display:table-row}div.grid-col{display:table-column}aside.admonition{margin-bottom:1rem;padding-bottom:4px}aside.admonition.warning{background-color:#f0b37e1a;border-left:4px solid #f0b37e;border-radius:4px}aside.admonition.warning p{padding-left:4px;padding-right:4px}aside.admonition.warning p.admonition-title{color:#fff;background-color:#f0b37e;font-weight:700}aside.admonition.note{background-color:#6ab0de1a;border-left:4px solid #6ab0de;border-radius:4px}aside.admonition.note p{padding-left:4px;padding-right:4px}aside.admonition.note p.admonition-title{color:#fff;background-color:#6ab0de;font-weight:700}main h1{color:#fff;text-transform:uppercase;word-break:normal;background:#2980b9;width:100%;margin-bottom:0;padding-top:0;padding-bottom:0;padding-left:0;font-size:2rem;line-height:2rem;display:block}div.title{color:#fff;text-transform:uppercase;background:#2980b9;width:100%;margin-bottom:.5rem;padding:25px 15px;line-height:2rem;display:block}h1.subtitle{word-break:normal;color:#ffffffb3;font-size:1.5rem;line-height:1.5rem}#sidebar h1{font-size:inherit;width:100%;color:var(--bs-secondary-color);text-transform:uppercase;margin-bottom:0;padding-left:5px;display:block}h2{border-bottom:1px solid var(--border-color);font-family:var(--heading-font),Georgia,"Times New Roman",Times,serif;color:var(--heading-color);margin-bottom:1rem;display:block}h5{color:var(--accent-color)}.hidden{display:none}.api-directive-container:hover{background-color:#ffffdf0d}@media print{body{padding:0}header{position:static}#sidebar,footer{display:none}div.view{overflow:unset}}img.align-center{margin-left:auto;margin-right:auto;display:block}div.reading img{border:1px solid var(--border-color);border-radius:8px;padding:10px}div.reading dt{font-weight:400!important}.route-spinner-overlay{z-index:9999999;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scroll-top{visibility:hidden;opacity:0;z-index:99999;background-color:var(--accent-color);cursor:pointer;color:#fff;border:none;border-radius:50px;width:44px;height:44px;font-size:18px;transition:all .4s;position:fixed;bottom:-15px;right:15px}.scroll-top:hover{background-color:color-mix(in srgb,var(--accent-color),transparent 20%);color:#fff}.scroll-top.active{visibility:visible;opacity:1;bottom:15px}
