mirror of
https://github.com/fverdugo/XM_40017.git
synced 2025-11-11 18:44:25 +01:00
7861 lines
434 KiB
HTML
7861 lines
434 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en">
|
||
<head><meta charset="utf-8"/>
|
||
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
||
<title>LEQ</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
|
||
<script src='../assets/iframeResizer.contentWindow.min.js'></script>
|
||
|
||
<style type="text/css">
|
||
pre { line-height: 125%; }
|
||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
|
||
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
|
||
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
|
||
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
|
||
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
|
||
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
|
||
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
|
||
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
|
||
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
|
||
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
|
||
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
|
||
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
|
||
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
|
||
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
|
||
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
|
||
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
|
||
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
|
||
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
|
||
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
|
||
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
|
||
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
|
||
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
|
||
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
|
||
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
|
||
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
|
||
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
|
||
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
|
||
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
|
||
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
|
||
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
|
||
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
|
||
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
|
||
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
|
||
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
|
||
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
|
||
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
|
||
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
|
||
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
|
||
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
|
||
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
|
||
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
|
||
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
|
||
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
|
||
</style>
|
||
<style type="text/css">
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
* Mozilla scrollbar styling
|
||
*/
|
||
|
||
/* use standard opaque scrollbars for most nodes */
|
||
[data-jp-theme-scrollbars='true'] {
|
||
scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
|
||
var(--jp-scrollbar-background-color);
|
||
}
|
||
|
||
/* for code nodes, use a transparent style of scrollbar. These selectors
|
||
* will match lower in the tree, and so will override the above */
|
||
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
|
||
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
|
||
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
|
||
}
|
||
|
||
/* tiny scrollbar */
|
||
|
||
.jp-scrollbar-tiny {
|
||
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
|
||
scrollbar-width: thin;
|
||
}
|
||
|
||
/* tiny scrollbar */
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar,
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
|
||
background-color: transparent;
|
||
height: 4px;
|
||
width: 4px;
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
|
||
background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
|
||
border-left: 0 solid transparent;
|
||
border-right: 0 solid transparent;
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
|
||
border-top: 0 solid transparent;
|
||
border-bottom: 0 solid transparent;
|
||
}
|
||
|
||
/*
|
||
* Lumino
|
||
*/
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal'] {
|
||
min-height: 16px;
|
||
max-height: 16px;
|
||
min-width: 45px;
|
||
border-top: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical'] {
|
||
min-width: 16px;
|
||
max-width: 16px;
|
||
min-height: 45px;
|
||
border-left: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.lm-ScrollBar-button {
|
||
background-color: #f0f0f0;
|
||
background-position: center center;
|
||
min-height: 15px;
|
||
max-height: 15px;
|
||
min-width: 15px;
|
||
max-width: 15px;
|
||
}
|
||
|
||
.lm-ScrollBar-button:hover {
|
||
background-color: #dadada;
|
||
}
|
||
|
||
.lm-ScrollBar-button.lm-mod-active {
|
||
background-color: #cdcdcd;
|
||
}
|
||
|
||
.lm-ScrollBar-track {
|
||
background: #f0f0f0;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb {
|
||
background: #cdcdcd;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb:hover {
|
||
background: #bababa;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb.lm-mod-active {
|
||
background: #a0a0a0;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
|
||
height: 100%;
|
||
min-width: 15px;
|
||
border-left: 1px solid #a0a0a0;
|
||
border-right: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
|
||
width: 100%;
|
||
min-height: 15px;
|
||
border-top: 1px solid #a0a0a0;
|
||
border-bottom: 1px solid #a0a0a0;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal']
|
||
.lm-ScrollBar-button[data-action='decrement'] {
|
||
background-image: var(--jp-icon-caret-left);
|
||
background-size: 17px;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal']
|
||
.lm-ScrollBar-button[data-action='increment'] {
|
||
background-image: var(--jp-icon-caret-right);
|
||
background-size: 17px;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical']
|
||
.lm-ScrollBar-button[data-action='decrement'] {
|
||
background-image: var(--jp-icon-caret-up);
|
||
background-size: 17px;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical']
|
||
.lm-ScrollBar-button[data-action='increment'] {
|
||
background-image: var(--jp-icon-caret-down);
|
||
background-size: 17px;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-Widget {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-Widget.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette {
|
||
display: flex;
|
||
flex-direction: column;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-CommandPalette-search {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-content {
|
||
flex: 1 1 auto;
|
||
margin: 0;
|
||
padding: 0;
|
||
min-height: 0;
|
||
overflow: auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-CommandPalette-header {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.lm-CommandPalette-item {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-CommandPalette-itemIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemContent {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-CommandPalette-itemShortcut {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemLabel {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.lm-close-icon {
|
||
border: 1px solid transparent;
|
||
background-color: transparent;
|
||
position: absolute;
|
||
z-index: 1;
|
||
right: 3%;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
padding: 7px 0;
|
||
display: none;
|
||
vertical-align: middle;
|
||
outline: 0;
|
||
cursor: pointer;
|
||
}
|
||
.lm-close-icon:after {
|
||
content: 'X';
|
||
display: block;
|
||
width: 15px;
|
||
height: 15px;
|
||
text-align: center;
|
||
color: #000;
|
||
font-weight: normal;
|
||
font-size: 12px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-DockPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-widget {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-DockPanel-handle {
|
||
z-index: 2;
|
||
}
|
||
|
||
.lm-DockPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-DockPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal'] {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical'] {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal']:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical']:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-overlay {
|
||
z-index: 3;
|
||
box-sizing: border-box;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.lm-DockPanel-overlay.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-Menu {
|
||
z-index: 10000;
|
||
position: absolute;
|
||
white-space: nowrap;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
outline: none;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-Menu-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: table;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-Menu-item {
|
||
display: table-row;
|
||
}
|
||
|
||
.lm-Menu-item.lm-mod-hidden,
|
||
.lm-Menu-item.lm-mod-collapsed {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-Menu-itemIcon,
|
||
.lm-Menu-itemSubmenuIcon {
|
||
display: table-cell;
|
||
text-align: center;
|
||
}
|
||
|
||
.lm-Menu-itemLabel {
|
||
display: table-cell;
|
||
text-align: left;
|
||
}
|
||
|
||
.lm-Menu-itemShortcut {
|
||
display: table-cell;
|
||
text-align: right;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-MenuBar {
|
||
outline: none;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-MenuBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex-direction: row;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-MenuBar-item {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-MenuBar-itemIcon,
|
||
.lm-MenuBar-itemLabel {
|
||
display: inline-block;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-ScrollBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-ScrollBar-button {
|
||
box-sizing: border-box;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-track {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb {
|
||
box-sizing: border-box;
|
||
position: absolute;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-SplitPanel-child {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-SplitPanel-handle {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-SplitPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-SplitPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-TabBar-tab {
|
||
display: flex;
|
||
flex-direction: row;
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
touch-action: none; /* Disable native Drag/Drop */
|
||
}
|
||
|
||
.lm-TabBar-tabIcon,
|
||
.lm-TabBar-tabCloseIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-TabBar-tab.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar-addButton.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
|
||
position: relative;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
|
||
left: 0;
|
||
transition: left 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
|
||
top: 0;
|
||
transition: top 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
|
||
transition: none;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel .lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
background: inherit;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-TabPanel-stackedPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Collapse {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: stretch;
|
||
}
|
||
|
||
.jp-Collapse-header {
|
||
padding: 1px 12px;
|
||
background-color: var(--jp-layout-color1);
|
||
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
cursor: pointer;
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
text-transform: uppercase;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-Collapser-icon {
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-Collapse-header-collapsed .jp-Collapser-icon {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
}
|
||
|
||
.jp-Collapser-title {
|
||
line-height: 25px;
|
||
}
|
||
|
||
.jp-Collapse-contents {
|
||
padding: 0 12px;
|
||
background-color: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
overflow: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */
|
||
|
||
/**
|
||
* (DEPRECATED) Support for consuming icons as CSS background images
|
||
*/
|
||
|
||
/* Icons urls */
|
||
|
||
:root {
|
||
--jp-icon-add-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
|
||
--jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
|
||
--jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-code-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-filter-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
|
||
--jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
|
||
--jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
|
||
--jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
|
||
--jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
|
||
--jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
|
||
--jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
|
||
--jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
}
|
||
|
||
/* Icon CSS class declarations */
|
||
|
||
.jp-AddAboveIcon {
|
||
background-image: var(--jp-icon-add-above);
|
||
}
|
||
|
||
.jp-AddBelowIcon {
|
||
background-image: var(--jp-icon-add-below);
|
||
}
|
||
|
||
.jp-AddIcon {
|
||
background-image: var(--jp-icon-add);
|
||
}
|
||
|
||
.jp-BellIcon {
|
||
background-image: var(--jp-icon-bell);
|
||
}
|
||
|
||
.jp-BugDotIcon {
|
||
background-image: var(--jp-icon-bug-dot);
|
||
}
|
||
|
||
.jp-BugIcon {
|
||
background-image: var(--jp-icon-bug);
|
||
}
|
||
|
||
.jp-BuildIcon {
|
||
background-image: var(--jp-icon-build);
|
||
}
|
||
|
||
.jp-CaretDownEmptyIcon {
|
||
background-image: var(--jp-icon-caret-down-empty);
|
||
}
|
||
|
||
.jp-CaretDownEmptyThinIcon {
|
||
background-image: var(--jp-icon-caret-down-empty-thin);
|
||
}
|
||
|
||
.jp-CaretDownIcon {
|
||
background-image: var(--jp-icon-caret-down);
|
||
}
|
||
|
||
.jp-CaretLeftIcon {
|
||
background-image: var(--jp-icon-caret-left);
|
||
}
|
||
|
||
.jp-CaretRightIcon {
|
||
background-image: var(--jp-icon-caret-right);
|
||
}
|
||
|
||
.jp-CaretUpEmptyThinIcon {
|
||
background-image: var(--jp-icon-caret-up-empty-thin);
|
||
}
|
||
|
||
.jp-CaretUpIcon {
|
||
background-image: var(--jp-icon-caret-up);
|
||
}
|
||
|
||
.jp-CaseSensitiveIcon {
|
||
background-image: var(--jp-icon-case-sensitive);
|
||
}
|
||
|
||
.jp-CheckIcon {
|
||
background-image: var(--jp-icon-check);
|
||
}
|
||
|
||
.jp-CircleEmptyIcon {
|
||
background-image: var(--jp-icon-circle-empty);
|
||
}
|
||
|
||
.jp-CircleIcon {
|
||
background-image: var(--jp-icon-circle);
|
||
}
|
||
|
||
.jp-ClearIcon {
|
||
background-image: var(--jp-icon-clear);
|
||
}
|
||
|
||
.jp-CloseIcon {
|
||
background-image: var(--jp-icon-close);
|
||
}
|
||
|
||
.jp-CodeCheckIcon {
|
||
background-image: var(--jp-icon-code-check);
|
||
}
|
||
|
||
.jp-CodeIcon {
|
||
background-image: var(--jp-icon-code);
|
||
}
|
||
|
||
.jp-CollapseAllIcon {
|
||
background-image: var(--jp-icon-collapse-all);
|
||
}
|
||
|
||
.jp-ConsoleIcon {
|
||
background-image: var(--jp-icon-console);
|
||
}
|
||
|
||
.jp-CopyIcon {
|
||
background-image: var(--jp-icon-copy);
|
||
}
|
||
|
||
.jp-CopyrightIcon {
|
||
background-image: var(--jp-icon-copyright);
|
||
}
|
||
|
||
.jp-CutIcon {
|
||
background-image: var(--jp-icon-cut);
|
||
}
|
||
|
||
.jp-DeleteIcon {
|
||
background-image: var(--jp-icon-delete);
|
||
}
|
||
|
||
.jp-DownloadIcon {
|
||
background-image: var(--jp-icon-download);
|
||
}
|
||
|
||
.jp-DuplicateIcon {
|
||
background-image: var(--jp-icon-duplicate);
|
||
}
|
||
|
||
.jp-EditIcon {
|
||
background-image: var(--jp-icon-edit);
|
||
}
|
||
|
||
.jp-EllipsesIcon {
|
||
background-image: var(--jp-icon-ellipses);
|
||
}
|
||
|
||
.jp-ErrorIcon {
|
||
background-image: var(--jp-icon-error);
|
||
}
|
||
|
||
.jp-ExpandAllIcon {
|
||
background-image: var(--jp-icon-expand-all);
|
||
}
|
||
|
||
.jp-ExtensionIcon {
|
||
background-image: var(--jp-icon-extension);
|
||
}
|
||
|
||
.jp-FastForwardIcon {
|
||
background-image: var(--jp-icon-fast-forward);
|
||
}
|
||
|
||
.jp-FileIcon {
|
||
background-image: var(--jp-icon-file);
|
||
}
|
||
|
||
.jp-FileUploadIcon {
|
||
background-image: var(--jp-icon-file-upload);
|
||
}
|
||
|
||
.jp-FilterDotIcon {
|
||
background-image: var(--jp-icon-filter-dot);
|
||
}
|
||
|
||
.jp-FilterIcon {
|
||
background-image: var(--jp-icon-filter);
|
||
}
|
||
|
||
.jp-FilterListIcon {
|
||
background-image: var(--jp-icon-filter-list);
|
||
}
|
||
|
||
.jp-FolderFavoriteIcon {
|
||
background-image: var(--jp-icon-folder-favorite);
|
||
}
|
||
|
||
.jp-FolderIcon {
|
||
background-image: var(--jp-icon-folder);
|
||
}
|
||
|
||
.jp-HomeIcon {
|
||
background-image: var(--jp-icon-home);
|
||
}
|
||
|
||
.jp-Html5Icon {
|
||
background-image: var(--jp-icon-html5);
|
||
}
|
||
|
||
.jp-ImageIcon {
|
||
background-image: var(--jp-icon-image);
|
||
}
|
||
|
||
.jp-InfoIcon {
|
||
background-image: var(--jp-icon-info);
|
||
}
|
||
|
||
.jp-InspectorIcon {
|
||
background-image: var(--jp-icon-inspector);
|
||
}
|
||
|
||
.jp-JsonIcon {
|
||
background-image: var(--jp-icon-json);
|
||
}
|
||
|
||
.jp-JuliaIcon {
|
||
background-image: var(--jp-icon-julia);
|
||
}
|
||
|
||
.jp-JupyterFaviconIcon {
|
||
background-image: var(--jp-icon-jupyter-favicon);
|
||
}
|
||
|
||
.jp-JupyterIcon {
|
||
background-image: var(--jp-icon-jupyter);
|
||
}
|
||
|
||
.jp-JupyterlabWordmarkIcon {
|
||
background-image: var(--jp-icon-jupyterlab-wordmark);
|
||
}
|
||
|
||
.jp-KernelIcon {
|
||
background-image: var(--jp-icon-kernel);
|
||
}
|
||
|
||
.jp-KeyboardIcon {
|
||
background-image: var(--jp-icon-keyboard);
|
||
}
|
||
|
||
.jp-LaunchIcon {
|
||
background-image: var(--jp-icon-launch);
|
||
}
|
||
|
||
.jp-LauncherIcon {
|
||
background-image: var(--jp-icon-launcher);
|
||
}
|
||
|
||
.jp-LineFormIcon {
|
||
background-image: var(--jp-icon-line-form);
|
||
}
|
||
|
||
.jp-LinkIcon {
|
||
background-image: var(--jp-icon-link);
|
||
}
|
||
|
||
.jp-ListIcon {
|
||
background-image: var(--jp-icon-list);
|
||
}
|
||
|
||
.jp-MarkdownIcon {
|
||
background-image: var(--jp-icon-markdown);
|
||
}
|
||
|
||
.jp-MoveDownIcon {
|
||
background-image: var(--jp-icon-move-down);
|
||
}
|
||
|
||
.jp-MoveUpIcon {
|
||
background-image: var(--jp-icon-move-up);
|
||
}
|
||
|
||
.jp-NewFolderIcon {
|
||
background-image: var(--jp-icon-new-folder);
|
||
}
|
||
|
||
.jp-NotTrustedIcon {
|
||
background-image: var(--jp-icon-not-trusted);
|
||
}
|
||
|
||
.jp-NotebookIcon {
|
||
background-image: var(--jp-icon-notebook);
|
||
}
|
||
|
||
.jp-NumberingIcon {
|
||
background-image: var(--jp-icon-numbering);
|
||
}
|
||
|
||
.jp-OfflineBoltIcon {
|
||
background-image: var(--jp-icon-offline-bolt);
|
||
}
|
||
|
||
.jp-PaletteIcon {
|
||
background-image: var(--jp-icon-palette);
|
||
}
|
||
|
||
.jp-PasteIcon {
|
||
background-image: var(--jp-icon-paste);
|
||
}
|
||
|
||
.jp-PdfIcon {
|
||
background-image: var(--jp-icon-pdf);
|
||
}
|
||
|
||
.jp-PythonIcon {
|
||
background-image: var(--jp-icon-python);
|
||
}
|
||
|
||
.jp-RKernelIcon {
|
||
background-image: var(--jp-icon-r-kernel);
|
||
}
|
||
|
||
.jp-ReactIcon {
|
||
background-image: var(--jp-icon-react);
|
||
}
|
||
|
||
.jp-RedoIcon {
|
||
background-image: var(--jp-icon-redo);
|
||
}
|
||
|
||
.jp-RefreshIcon {
|
||
background-image: var(--jp-icon-refresh);
|
||
}
|
||
|
||
.jp-RegexIcon {
|
||
background-image: var(--jp-icon-regex);
|
||
}
|
||
|
||
.jp-RunIcon {
|
||
background-image: var(--jp-icon-run);
|
||
}
|
||
|
||
.jp-RunningIcon {
|
||
background-image: var(--jp-icon-running);
|
||
}
|
||
|
||
.jp-SaveIcon {
|
||
background-image: var(--jp-icon-save);
|
||
}
|
||
|
||
.jp-SearchIcon {
|
||
background-image: var(--jp-icon-search);
|
||
}
|
||
|
||
.jp-SettingsIcon {
|
||
background-image: var(--jp-icon-settings);
|
||
}
|
||
|
||
.jp-ShareIcon {
|
||
background-image: var(--jp-icon-share);
|
||
}
|
||
|
||
.jp-SpreadsheetIcon {
|
||
background-image: var(--jp-icon-spreadsheet);
|
||
}
|
||
|
||
.jp-StopIcon {
|
||
background-image: var(--jp-icon-stop);
|
||
}
|
||
|
||
.jp-TabIcon {
|
||
background-image: var(--jp-icon-tab);
|
||
}
|
||
|
||
.jp-TableRowsIcon {
|
||
background-image: var(--jp-icon-table-rows);
|
||
}
|
||
|
||
.jp-TagIcon {
|
||
background-image: var(--jp-icon-tag);
|
||
}
|
||
|
||
.jp-TerminalIcon {
|
||
background-image: var(--jp-icon-terminal);
|
||
}
|
||
|
||
.jp-TextEditorIcon {
|
||
background-image: var(--jp-icon-text-editor);
|
||
}
|
||
|
||
.jp-TocIcon {
|
||
background-image: var(--jp-icon-toc);
|
||
}
|
||
|
||
.jp-TreeViewIcon {
|
||
background-image: var(--jp-icon-tree-view);
|
||
}
|
||
|
||
.jp-TrustedIcon {
|
||
background-image: var(--jp-icon-trusted);
|
||
}
|
||
|
||
.jp-UndoIcon {
|
||
background-image: var(--jp-icon-undo);
|
||
}
|
||
|
||
.jp-UserIcon {
|
||
background-image: var(--jp-icon-user);
|
||
}
|
||
|
||
.jp-UsersIcon {
|
||
background-image: var(--jp-icon-users);
|
||
}
|
||
|
||
.jp-VegaIcon {
|
||
background-image: var(--jp-icon-vega);
|
||
}
|
||
|
||
.jp-WordIcon {
|
||
background-image: var(--jp-icon-word);
|
||
}
|
||
|
||
.jp-YamlIcon {
|
||
background-image: var(--jp-icon-yaml);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/**
|
||
* (DEPRECATED) Support for consuming icons as CSS background images
|
||
*/
|
||
|
||
.jp-Icon,
|
||
.jp-MaterialIcon {
|
||
background-position: center;
|
||
background-repeat: no-repeat;
|
||
background-size: 16px;
|
||
min-width: 16px;
|
||
min-height: 16px;
|
||
}
|
||
|
||
.jp-Icon-cover {
|
||
background-position: center;
|
||
background-repeat: no-repeat;
|
||
background-size: cover;
|
||
}
|
||
|
||
/**
|
||
* (DEPRECATED) Support for specific CSS icon sizes
|
||
*/
|
||
|
||
.jp-Icon-16 {
|
||
background-size: 16px;
|
||
min-width: 16px;
|
||
min-height: 16px;
|
||
}
|
||
|
||
.jp-Icon-18 {
|
||
background-size: 18px;
|
||
min-width: 18px;
|
||
min-height: 18px;
|
||
}
|
||
|
||
.jp-Icon-20 {
|
||
background-size: 20px;
|
||
min-width: 20px;
|
||
min-height: 20px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar .lm-TabBar-addButton {
|
||
align-items: center;
|
||
display: flex;
|
||
padding: 4px;
|
||
padding-bottom: 5px;
|
||
margin-right: 1px;
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.lm-TabBar .lm-TabBar-addButton:hover {
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-tab {
|
||
width: var(--jp-private-horizontal-tab-width);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-content {
|
||
flex: unset;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar[data-orientation='horizontal'] {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/**
|
||
* Support for icons as inline SVG HTMLElements
|
||
*/
|
||
|
||
/* recolor the primary elements of an icon */
|
||
.jp-icon0[fill] {
|
||
fill: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon1[fill] {
|
||
fill: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon2[fill] {
|
||
fill: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon3[fill] {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon4[fill] {
|
||
fill: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
.jp-icon0[stroke] {
|
||
stroke: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon1[stroke] {
|
||
stroke: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon2[stroke] {
|
||
stroke: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon3[stroke] {
|
||
stroke: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon4[stroke] {
|
||
stroke: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
/* recolor the accent elements of an icon */
|
||
.jp-icon-accent0[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-accent1[fill] {
|
||
fill: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-accent2[fill] {
|
||
fill: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-accent3[fill] {
|
||
fill: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-accent4[fill] {
|
||
fill: var(--jp-layout-color4);
|
||
}
|
||
|
||
.jp-icon-accent0[stroke] {
|
||
stroke: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-accent1[stroke] {
|
||
stroke: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-accent2[stroke] {
|
||
stroke: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-accent3[stroke] {
|
||
stroke: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-accent4[stroke] {
|
||
stroke: var(--jp-layout-color4);
|
||
}
|
||
|
||
/* set the color of an icon to transparent */
|
||
.jp-icon-none[fill] {
|
||
fill: none;
|
||
}
|
||
|
||
.jp-icon-none[stroke] {
|
||
stroke: none;
|
||
}
|
||
|
||
/* brand icon colors. Same for light and dark */
|
||
.jp-icon-brand0[fill] {
|
||
fill: var(--jp-brand-color0);
|
||
}
|
||
|
||
.jp-icon-brand1[fill] {
|
||
fill: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-icon-brand2[fill] {
|
||
fill: var(--jp-brand-color2);
|
||
}
|
||
|
||
.jp-icon-brand3[fill] {
|
||
fill: var(--jp-brand-color3);
|
||
}
|
||
|
||
.jp-icon-brand4[fill] {
|
||
fill: var(--jp-brand-color4);
|
||
}
|
||
|
||
.jp-icon-brand0[stroke] {
|
||
stroke: var(--jp-brand-color0);
|
||
}
|
||
|
||
.jp-icon-brand1[stroke] {
|
||
stroke: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-icon-brand2[stroke] {
|
||
stroke: var(--jp-brand-color2);
|
||
}
|
||
|
||
.jp-icon-brand3[stroke] {
|
||
stroke: var(--jp-brand-color3);
|
||
}
|
||
|
||
.jp-icon-brand4[stroke] {
|
||
stroke: var(--jp-brand-color4);
|
||
}
|
||
|
||
/* warn icon colors. Same for light and dark */
|
||
.jp-icon-warn0[fill] {
|
||
fill: var(--jp-warn-color0);
|
||
}
|
||
|
||
.jp-icon-warn1[fill] {
|
||
fill: var(--jp-warn-color1);
|
||
}
|
||
|
||
.jp-icon-warn2[fill] {
|
||
fill: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-icon-warn3[fill] {
|
||
fill: var(--jp-warn-color3);
|
||
}
|
||
|
||
.jp-icon-warn0[stroke] {
|
||
stroke: var(--jp-warn-color0);
|
||
}
|
||
|
||
.jp-icon-warn1[stroke] {
|
||
stroke: var(--jp-warn-color1);
|
||
}
|
||
|
||
.jp-icon-warn2[stroke] {
|
||
stroke: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-icon-warn3[stroke] {
|
||
stroke: var(--jp-warn-color3);
|
||
}
|
||
|
||
/* icon colors that contrast well with each other and most backgrounds */
|
||
.jp-icon-contrast0[fill] {
|
||
fill: var(--jp-icon-contrast-color0);
|
||
}
|
||
|
||
.jp-icon-contrast1[fill] {
|
||
fill: var(--jp-icon-contrast-color1);
|
||
}
|
||
|
||
.jp-icon-contrast2[fill] {
|
||
fill: var(--jp-icon-contrast-color2);
|
||
}
|
||
|
||
.jp-icon-contrast3[fill] {
|
||
fill: var(--jp-icon-contrast-color3);
|
||
}
|
||
|
||
.jp-icon-contrast0[stroke] {
|
||
stroke: var(--jp-icon-contrast-color0);
|
||
}
|
||
|
||
.jp-icon-contrast1[stroke] {
|
||
stroke: var(--jp-icon-contrast-color1);
|
||
}
|
||
|
||
.jp-icon-contrast2[stroke] {
|
||
stroke: var(--jp-icon-contrast-color2);
|
||
}
|
||
|
||
.jp-icon-contrast3[stroke] {
|
||
stroke: var(--jp-icon-contrast-color3);
|
||
}
|
||
|
||
.jp-icon-dot[fill] {
|
||
fill: var(--jp-warn-color0);
|
||
}
|
||
|
||
.jp-jupyter-icon-color[fill] {
|
||
fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-notebook-icon-color[fill] {
|
||
fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-json-icon-color[fill] {
|
||
fill: var(--jp-json-icon-color, var(--jp-warn-color1));
|
||
}
|
||
|
||
.jp-console-icon-color[fill] {
|
||
fill: var(--jp-console-icon-color, white);
|
||
}
|
||
|
||
.jp-console-icon-background-color[fill] {
|
||
fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
|
||
}
|
||
|
||
.jp-terminal-icon-color[fill] {
|
||
fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
|
||
}
|
||
|
||
.jp-terminal-icon-background-color[fill] {
|
||
fill: var(
|
||
--jp-terminal-icon-background-color,
|
||
var(--jp-inverse-layout-color2)
|
||
);
|
||
}
|
||
|
||
.jp-text-editor-icon-color[fill] {
|
||
fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
.jp-inspector-icon-color[fill] {
|
||
fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
/* CSS for icons in selected filebrowser listing items */
|
||
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
|
||
fill: #fff;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
|
||
fill: var(--jp-brand-color1);
|
||
}
|
||
|
||
/* stylelint-disable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/**
|
||
* TODO: come up with non css-hack solution for showing the busy icon on top
|
||
* of the close icon
|
||
* CSS for complex behavior of close icon of tabs in the main area tabbar
|
||
*/
|
||
.lm-DockPanel-tabBar
|
||
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
|
||
> .lm-TabBar-tabCloseIcon
|
||
> :not(:hover)
|
||
> .jp-icon3[fill] {
|
||
fill: none;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar
|
||
.lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
|
||
> .lm-TabBar-tabCloseIcon
|
||
> :not(:hover)
|
||
> .jp-icon-busy[fill] {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/* CSS for icons in status bar */
|
||
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
|
||
fill: #fff;
|
||
}
|
||
|
||
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
|
||
fill: var(--jp-brand-color1);
|
||
}
|
||
|
||
/* special handling for splash icon CSS. While the theme CSS reloads during
|
||
splash, the splash icon can loose theming. To prevent that, we set a
|
||
default for its color variable */
|
||
:root {
|
||
--jp-warn-color0: var(--md-orange-700);
|
||
}
|
||
|
||
/* not sure what to do with this one, used in filebrowser listing */
|
||
.jp-DragIcon {
|
||
margin-right: 4px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/**
|
||
* Support for alt colors for icons as inline SVG HTMLElements
|
||
*/
|
||
|
||
/* alt recolor the primary elements of an icon */
|
||
.jp-icon-alt .jp-icon0[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon1[fill] {
|
||
fill: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon2[fill] {
|
||
fill: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon3[fill] {
|
||
fill: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon4[fill] {
|
||
fill: var(--jp-layout-color4);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon0[stroke] {
|
||
stroke: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon1[stroke] {
|
||
stroke: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon2[stroke] {
|
||
stroke: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon3[stroke] {
|
||
stroke: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon4[stroke] {
|
||
stroke: var(--jp-layout-color4);
|
||
}
|
||
|
||
/* alt recolor the accent elements of an icon */
|
||
.jp-icon-alt .jp-icon-accent0[fill] {
|
||
fill: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent1[fill] {
|
||
fill: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent2[fill] {
|
||
fill: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent3[fill] {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent4[fill] {
|
||
fill: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent0[stroke] {
|
||
stroke: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent1[stroke] {
|
||
stroke: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent2[stroke] {
|
||
stroke: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent3[stroke] {
|
||
stroke: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-alt .jp-icon-accent4[stroke] {
|
||
stroke: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
|
||
display: none !important;
|
||
}
|
||
|
||
/**
|
||
* Support for hover colors for icons as inline SVG HTMLElements
|
||
*/
|
||
|
||
/**
|
||
* regular colors
|
||
*/
|
||
|
||
/* recolor the primary elements of an icon */
|
||
.jp-icon-hover :hover .jp-icon0-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon1-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon2-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon3-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon4-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon0-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon1-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon2-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon3-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon4-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
/* recolor the accent elements of an icon */
|
||
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
|
||
fill: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
|
||
fill: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
|
||
fill: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
|
||
fill: var(--jp-layout-color4);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
|
||
stroke: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
|
||
stroke: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
|
||
stroke: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
|
||
stroke: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
|
||
stroke: var(--jp-layout-color4);
|
||
}
|
||
|
||
/* set the color of an icon to transparent */
|
||
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
|
||
fill: none;
|
||
}
|
||
|
||
.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
|
||
stroke: none;
|
||
}
|
||
|
||
/**
|
||
* inverse colors
|
||
*/
|
||
|
||
/* inverse recolor the primary elements of an icon */
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
|
||
fill: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
|
||
fill: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
|
||
fill: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
|
||
fill: var(--jp-layout-color4);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
|
||
stroke: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
|
||
stroke: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
|
||
stroke: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
|
||
stroke: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
|
||
stroke: var(--jp-layout-color4);
|
||
}
|
||
|
||
/* inverse recolor the accent elements of an icon */
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
|
||
fill: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color0);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color2);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
|
||
stroke: var(--jp-inverse-layout-color4);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-IFrame {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-IFrame > iframe {
|
||
border: none;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-mod-override-cursor` is added to the body.
|
||
Because iframes steal all cursor events, the following two rules are necessary
|
||
to suppress pointer events while resize drags are occurring. There may be a
|
||
better solution to this problem.
|
||
*/
|
||
body.lm-mod-override-cursor .jp-IFrame {
|
||
position: relative;
|
||
}
|
||
|
||
body.lm-mod-override-cursor .jp-IFrame::before {
|
||
content: '';
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-HoverBox {
|
||
position: fixed;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FormGroup-content fieldset {
|
||
border: none;
|
||
padding: 0;
|
||
min-width: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* stylelint-disable selector-max-type */
|
||
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
|
||
font-size: var(--jp-content-font-size2);
|
||
border-color: var(--jp-input-border-color);
|
||
border-style: solid;
|
||
border-radius: var(--jp-border-radius);
|
||
border-width: 1px;
|
||
padding: 6px 8px;
|
||
background: none;
|
||
color: var(--jp-ui-font-color0);
|
||
height: inherit;
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input[type='checkbox'] {
|
||
position: relative;
|
||
top: 2px;
|
||
margin-left: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content button.jp-mod-styled {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-FormGroup-content .checkbox label {
|
||
cursor: pointer;
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > legend {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > p {
|
||
display: none;
|
||
}
|
||
|
||
/** copy of `input.jp-mod-styled:focus` style */
|
||
.jp-FormGroup-content fieldset input:focus,
|
||
.jp-FormGroup-content fieldset select:focus {
|
||
-moz-outline-radius: unset;
|
||
outline: var(--jp-border-width) solid var(--md-blue-500);
|
||
outline-offset: -1px;
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input:hover:not(:focus),
|
||
.jp-FormGroup-content fieldset select:hover:not(:focus) {
|
||
background-color: var(--jp-border-color2);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type */
|
||
|
||
.jp-FormGroup-content .checkbox .field-description {
|
||
/* Disable default description field for checkbox:
|
||
because other widgets do not have description fields,
|
||
we add descriptions to each widget on the field level.
|
||
*/
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content #root__description {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator {
|
||
width: 5px;
|
||
background-color: var(--jp-brand-color2);
|
||
margin-top: 0;
|
||
margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
|
||
background-color: var(--jp-error-color0);
|
||
margin-right: 0.5em;
|
||
}
|
||
|
||
/* RJSF ARRAY style */
|
||
|
||
.jp-arrayFieldWrapper legend {
|
||
font-size: var(--jp-content-font-size2);
|
||
color: var(--jp-ui-font-color0);
|
||
flex-basis: 100%;
|
||
padding: 4px 0;
|
||
font-weight: var(--jp-content-heading-font-weight);
|
||
border-bottom: 1px solid var(--jp-border-color2);
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .field-description {
|
||
padding: 4px 0;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .array-item {
|
||
width: 100%;
|
||
border: 1px solid var(--jp-border-color2);
|
||
border-radius: 4px;
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-ArrayOperations {
|
||
display: flex;
|
||
margin-left: 8px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton {
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton .jp-icon3[fill] {
|
||
fill: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
/* RJSF form validation error */
|
||
|
||
.jp-FormGroup-content .validationErrors {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
/* Hide panel level error as duplicated the field level error */
|
||
.jp-FormGroup-content .panel.errors {
|
||
display: none;
|
||
}
|
||
|
||
/* RJSF normal content (settings-editor) */
|
||
|
||
.jp-FormGroup-contentNormal {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
|
||
margin-left: 7px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-description {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-default {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
|
||
font-size: var(--jp-content-font-size1);
|
||
font-weight: normal;
|
||
min-width: 120px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal fieldset:not(:first-child) {
|
||
margin-left: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .field-array-of-string .array-item {
|
||
/* Display `jp-ArrayOperations` buttons side-by-side with content except
|
||
for small screens where flex-wrap will place them one below the other.
|
||
*/
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
/* RJSF compact content (metadata-form) */
|
||
|
||
.jp-FormGroup-content.jp-FormGroup-contentCompact {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .form-group {
|
||
display: flex;
|
||
padding: 0.5em 0.2em 0.5em 0;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-FormGroup-compactTitle
|
||
.jp-FormGroup-description {
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
|
||
padding-bottom: 0.3em;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
|
||
padding-bottom: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-objectFieldWrapper
|
||
.jp-objectFieldWrapper
|
||
.form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact ul.error-detail {
|
||
margin-block-start: 0.5em;
|
||
margin-block-end: 0.5em;
|
||
padding-inline-start: 1em;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-SidePanel {
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-width: var(--jp-sidebar-min-width);
|
||
overflow-y: auto;
|
||
color: var(--jp-ui-font-color1);
|
||
background: var(--jp-layout-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-SidePanel-header {
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
letter-spacing: 1px;
|
||
margin: 0;
|
||
padding: 2px;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.jp-SidePanel-content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar,
|
||
.jp-AccordionPanel-toolbar {
|
||
height: var(--jp-private-toolbar-height);
|
||
}
|
||
|
||
.jp-SidePanel-toolbar.jp-Toolbar-micro {
|
||
display: none;
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-title {
|
||
box-sizing: border-box;
|
||
line-height: 25px;
|
||
margin: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
font-size: var(--jp-ui-font-size0);
|
||
}
|
||
|
||
.jp-AccordionPanel-title {
|
||
cursor: pointer;
|
||
user-select: none;
|
||
-moz-user-select: none;
|
||
-webkit-user-select: none;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
|
||
user-select: none;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-toolbar {
|
||
background: none;
|
||
box-shadow: none;
|
||
border: none;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.lm-AccordionPanel .lm-SplitPanel-handle:hover {
|
||
background: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-text-truncated {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2017, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Spinner {
|
||
position: absolute;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
z-index: 10;
|
||
left: 0;
|
||
top: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
background: var(--jp-layout-color0);
|
||
outline: none;
|
||
}
|
||
|
||
.jp-SpinnerContent {
|
||
font-size: 10px;
|
||
margin: 50px auto;
|
||
text-indent: -9999em;
|
||
width: 3em;
|
||
height: 3em;
|
||
border-radius: 50%;
|
||
background: var(--jp-brand-color3);
|
||
background: linear-gradient(
|
||
to right,
|
||
#f37626 10%,
|
||
rgba(255, 255, 255, 0) 42%
|
||
);
|
||
position: relative;
|
||
animation: load3 1s infinite linear, fadeIn 1s;
|
||
}
|
||
|
||
.jp-SpinnerContent::before {
|
||
width: 50%;
|
||
height: 50%;
|
||
background: #f37626;
|
||
border-radius: 100% 0 0;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
content: '';
|
||
}
|
||
|
||
.jp-SpinnerContent::after {
|
||
background: var(--jp-layout-color0);
|
||
width: 75%;
|
||
height: 75%;
|
||
border-radius: 50%;
|
||
content: '';
|
||
margin: auto;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
bottom: 0;
|
||
right: 0;
|
||
}
|
||
|
||
@keyframes fadeIn {
|
||
0% {
|
||
opacity: 0;
|
||
}
|
||
|
||
100% {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
@keyframes load3 {
|
||
0% {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
100% {
|
||
transform: rotate(360deg);
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2017, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
button.jp-mod-styled {
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color0);
|
||
border: none;
|
||
box-sizing: border-box;
|
||
text-align: center;
|
||
line-height: 32px;
|
||
height: 32px;
|
||
padding: 0 12px;
|
||
letter-spacing: 0.8px;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
}
|
||
|
||
input.jp-mod-styled {
|
||
background: var(--jp-input-background);
|
||
height: 28px;
|
||
box-sizing: border-box;
|
||
border: var(--jp-border-width) solid var(--jp-border-color1);
|
||
padding-left: 7px;
|
||
padding-right: 7px;
|
||
font-size: var(--jp-ui-font-size2);
|
||
color: var(--jp-ui-font-color0);
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
}
|
||
|
||
input[type='checkbox'].jp-mod-styled {
|
||
appearance: checkbox;
|
||
-webkit-appearance: checkbox;
|
||
-moz-appearance: checkbox;
|
||
height: auto;
|
||
}
|
||
|
||
input.jp-mod-styled:focus {
|
||
border: var(--jp-border-width) solid var(--md-blue-500);
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-select-wrapper {
|
||
display: flex;
|
||
position: relative;
|
||
flex-direction: column;
|
||
padding: 1px;
|
||
background-color: var(--jp-layout-color1);
|
||
box-sizing: border-box;
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.jp-select-wrapper:not(.multiple) {
|
||
height: 28px;
|
||
}
|
||
|
||
.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
|
||
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
|
||
box-shadow: var(--jp-input-box-shadow);
|
||
background-color: var(--jp-input-active-background);
|
||
}
|
||
|
||
select.jp-mod-styled:hover {
|
||
cursor: pointer;
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: var(--jp-input-hover-background);
|
||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
|
||
}
|
||
|
||
select.jp-mod-styled {
|
||
flex: 1 1 auto;
|
||
width: 100%;
|
||
font-size: var(--jp-ui-font-size2);
|
||
background: var(--jp-input-background);
|
||
color: var(--jp-ui-font-color0);
|
||
padding: 0 25px 0 8px;
|
||
border: var(--jp-border-width) solid var(--jp-input-border-color);
|
||
border-radius: 0;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
}
|
||
|
||
select.jp-mod-styled:not([multiple]) {
|
||
height: 32px;
|
||
}
|
||
|
||
select.jp-mod-styled[multiple] {
|
||
max-height: 200px;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-switch {
|
||
display: flex;
|
||
align-items: center;
|
||
padding-left: 4px;
|
||
padding-right: 4px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
background-color: transparent;
|
||
color: var(--jp-ui-font-color1);
|
||
border: none;
|
||
height: 20px;
|
||
}
|
||
|
||
.jp-switch:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-switch-label {
|
||
margin-right: 5px;
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
.jp-switch-track {
|
||
cursor: pointer;
|
||
background-color: var(--jp-switch-color, var(--jp-border-color1));
|
||
-webkit-transition: 0.4s;
|
||
transition: 0.4s;
|
||
border-radius: 34px;
|
||
height: 16px;
|
||
width: 35px;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-switch-track::before {
|
||
content: '';
|
||
position: absolute;
|
||
height: 10px;
|
||
width: 10px;
|
||
margin: 3px;
|
||
left: 0;
|
||
background-color: var(--jp-ui-inverse-font-color1);
|
||
-webkit-transition: 0.4s;
|
||
transition: 0.4s;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.jp-switch[aria-checked='true'] .jp-switch-track {
|
||
background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-switch[aria-checked='true'] .jp-switch-track::before {
|
||
/* track width (35) - margins (3 + 3) - thumb width (10) */
|
||
left: 19px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-toolbar-height: calc(
|
||
28px + var(--jp-border-width)
|
||
); /* leave 28px for content */
|
||
}
|
||
|
||
.jp-Toolbar {
|
||
color: var(--jp-ui-font-color1);
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
flex-direction: row;
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
background: var(--jp-toolbar-background);
|
||
min-height: var(--jp-toolbar-micro-height);
|
||
padding: 2px;
|
||
z-index: 8;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
/* Toolbar items */
|
||
|
||
.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
|
||
flex-grow: 1;
|
||
flex-shrink: 1;
|
||
}
|
||
|
||
.jp-Toolbar-item.jp-Toolbar-kernelStatus {
|
||
display: inline-block;
|
||
width: 32px;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
background-size: 16px;
|
||
}
|
||
|
||
.jp-Toolbar > .jp-Toolbar-item {
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
padding-left: 1px;
|
||
padding-right: 1px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: var(--jp-private-toolbar-height);
|
||
height: 100%;
|
||
}
|
||
|
||
/* Toolbar buttons */
|
||
|
||
/* This is the div we use to wrap the react component into a Widget */
|
||
div.jp-ToolbarButton {
|
||
color: transparent;
|
||
border: none;
|
||
box-sizing: border-box;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
button.jp-ToolbarButtonComponent {
|
||
background: var(--jp-layout-color1);
|
||
border: none;
|
||
box-sizing: border-box;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
padding: 0 6px;
|
||
margin: 0;
|
||
height: 24px;
|
||
border-radius: var(--jp-border-radius);
|
||
display: flex;
|
||
align-items: center;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
min-width: unset;
|
||
min-height: unset;
|
||
}
|
||
|
||
button.jp-ToolbarButtonComponent:disabled {
|
||
opacity: 0.4;
|
||
}
|
||
|
||
button.jp-ToolbarButtonComponent > span {
|
||
padding: 0;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: 100%;
|
||
padding-left: 2px;
|
||
color: var(--jp-ui-font-color1);
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
#jp-main-dock-panel[data-mode='single-document']
|
||
.jp-MainAreaWidget
|
||
> .jp-Toolbar.jp-Toolbar-micro {
|
||
padding: 0;
|
||
min-height: 0;
|
||
}
|
||
|
||
#jp-main-dock-panel[data-mode='single-document']
|
||
.jp-MainAreaWidget
|
||
> .jp-Toolbar {
|
||
border: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-WindowedPanel-outer {
|
||
position: relative;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-WindowedPanel-inner {
|
||
position: relative;
|
||
}
|
||
|
||
.jp-WindowedPanel-window {
|
||
position: absolute;
|
||
left: 0;
|
||
right: 0;
|
||
overflow: visible;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Sibling imports */
|
||
|
||
body {
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/* Disable native link decoration styles everywhere outside of dialog boxes */
|
||
a {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
/* Accessibility for links inside dialog box text */
|
||
.jp-Dialog-content a {
|
||
text-decoration: revert;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-Dialog-content a:hover {
|
||
text-decoration: revert;
|
||
}
|
||
|
||
/* Styles for ui-components */
|
||
.jp-Button {
|
||
color: var(--jp-ui-font-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
padding: 0 12px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
/* Copy from blueprint 3 */
|
||
display: inline-flex;
|
||
flex-direction: row;
|
||
border: none;
|
||
cursor: pointer;
|
||
align-items: center;
|
||
justify-content: center;
|
||
text-align: left;
|
||
vertical-align: middle;
|
||
min-height: 30px;
|
||
min-width: 30px;
|
||
}
|
||
|
||
.jp-Button:disabled {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.jp-Button:empty {
|
||
padding: 0 !important;
|
||
}
|
||
|
||
.jp-Button.jp-mod-small {
|
||
min-height: 24px;
|
||
min-width: 24px;
|
||
font-size: 12px;
|
||
padding: 0 7px;
|
||
}
|
||
|
||
/* Use our own theme for hover styles */
|
||
.jp-Button.jp-mod-minimal:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-Button.jp-mod-minimal {
|
||
background: none;
|
||
}
|
||
|
||
.jp-InputGroup {
|
||
display: block;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-InputGroup input {
|
||
box-sizing: border-box;
|
||
border: none;
|
||
border-radius: 0;
|
||
background-color: transparent;
|
||
color: var(--jp-ui-font-color0);
|
||
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
|
||
padding-bottom: 0;
|
||
padding-top: 0;
|
||
padding-left: 10px;
|
||
padding-right: 28px;
|
||
position: relative;
|
||
width: 100%;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
appearance: none;
|
||
font-size: 14px;
|
||
font-weight: 400;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
outline: none;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.jp-InputGroup input:focus {
|
||
box-shadow: inset 0 0 0 var(--jp-border-width)
|
||
var(--jp-input-active-box-shadow-color),
|
||
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
|
||
}
|
||
|
||
.jp-InputGroup input:disabled {
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input:disabled ~ span {
|
||
cursor: not-allowed;
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input::placeholder,
|
||
input::placeholder {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroupAction {
|
||
position: absolute;
|
||
bottom: 1px;
|
||
right: 0;
|
||
padding: 6px;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select {
|
||
background-color: initial;
|
||
border: none;
|
||
border-radius: 0;
|
||
box-shadow: none;
|
||
color: var(--jp-ui-font-color0);
|
||
display: block;
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
height: 24px;
|
||
line-height: 14px;
|
||
padding: 0 25px 0 10px;
|
||
text-align: left;
|
||
-moz-appearance: none;
|
||
-webkit-appearance: none;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled {
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
/* Use our own theme for hover and option styles */
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.jp-HTMLSelect.jp-DefaultStyle select:hover,
|
||
.jp-HTMLSelect.jp-DefaultStyle select > option {
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
select {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-StatusBar-Widget {
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color2);
|
||
min-height: var(--jp-statusbar-height);
|
||
justify-content: space-between;
|
||
padding: 0 10px;
|
||
}
|
||
|
||
.jp-StatusBar-Left {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-StatusBar-Middle {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.jp-StatusBar-Right {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row-reverse;
|
||
}
|
||
|
||
.jp-StatusBar-Item {
|
||
max-height: var(--jp-statusbar-height);
|
||
margin: 0 2px;
|
||
height: var(--jp-statusbar-height);
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
color: var(--jp-ui-font-color1);
|
||
padding: 0 6px;
|
||
}
|
||
|
||
.jp-mod-highlighted:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-mod-clicked {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-mod-clicked:hover {
|
||
background-color: var(--jp-brand-color0);
|
||
}
|
||
|
||
.jp-mod-clicked .jp-StatusBar-TextItem {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-HoverItem {
|
||
box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
|
||
}
|
||
|
||
.jp-StatusBar-TextItem {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
line-height: 24px;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-GroupItem {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle svg {
|
||
display: block;
|
||
margin: 0 auto;
|
||
width: 16px;
|
||
height: 24px;
|
||
align-self: normal;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle path {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar {
|
||
height: 10px;
|
||
width: 100px;
|
||
border: solid 0.25px var(--jp-brand-color2);
|
||
border-radius: 3px;
|
||
overflow: hidden;
|
||
align-self: center;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar > div {
|
||
background-color: var(--jp-brand-color2);
|
||
background-image: linear-gradient(
|
||
-45deg,
|
||
rgba(255, 255, 255, 0.2) 25%,
|
||
transparent 25%,
|
||
transparent 50%,
|
||
rgba(255, 255, 255, 0.2) 50%,
|
||
rgba(255, 255, 255, 0.2) 75%,
|
||
transparent 75%,
|
||
transparent
|
||
);
|
||
background-size: 40px 40px;
|
||
float: left;
|
||
width: 0%;
|
||
height: 100%;
|
||
font-size: 12px;
|
||
line-height: 14px;
|
||
color: #fff;
|
||
text-align: center;
|
||
animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar p {
|
||
color: var(--jp-ui-font-color1);
|
||
font-family: var(--jp-ui-font-family);
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
@keyframes jp-Statusbar-ExecutionTime-progress-bar {
|
||
0% {
|
||
background-position: 0 0;
|
||
}
|
||
|
||
100% {
|
||
background-position: 40px 40px;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-commandpalette-search-height: 28px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Overall styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette {
|
||
padding-bottom: 0;
|
||
color: var(--jp-ui-font-color1);
|
||
background: var(--jp-layout-color1);
|
||
|
||
/* This is needed so that all font sizing of children done in ems is
|
||
* relative to this base size */
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Modal variant
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-ModalCommandPalette {
|
||
position: absolute;
|
||
z-index: 10000;
|
||
top: 38px;
|
||
left: 30%;
|
||
margin: 0;
|
||
padding: 4px;
|
||
width: 40%;
|
||
box-shadow: var(--jp-elevation-z4);
|
||
border-radius: 4px;
|
||
background: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette {
|
||
max-height: 40vh;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
|
||
display: none;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
|
||
display: none;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
|
||
margin-left: 4px;
|
||
margin-right: 4px;
|
||
}
|
||
|
||
.jp-ModalCommandPalette
|
||
.lm-CommandPalette
|
||
.lm-CommandPalette-item.lm-mod-disabled {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Search
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette-search {
|
||
padding: 4px;
|
||
background-color: var(--jp-layout-color1);
|
||
z-index: 2;
|
||
}
|
||
|
||
.lm-CommandPalette-wrapper {
|
||
overflow: overlay;
|
||
padding: 0 9px;
|
||
background-color: var(--jp-input-active-background);
|
||
height: 30px;
|
||
box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
|
||
}
|
||
|
||
.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
|
||
box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
|
||
inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
|
||
}
|
||
|
||
.jp-SearchIconGroup {
|
||
color: white;
|
||
background-color: var(--jp-brand-color1);
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 4px;
|
||
padding: 5px 5px 1px;
|
||
}
|
||
|
||
.jp-SearchIconGroup svg {
|
||
height: 20px;
|
||
width: 20px;
|
||
}
|
||
|
||
.jp-SearchIconGroup .jp-icon3[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-input {
|
||
background: transparent;
|
||
width: calc(100% - 18px);
|
||
float: left;
|
||
border: none;
|
||
outline: none;
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color0);
|
||
line-height: var(--jp-private-commandpalette-search-height);
|
||
}
|
||
|
||
.lm-CommandPalette-input::-webkit-input-placeholder,
|
||
.lm-CommandPalette-input::-moz-placeholder,
|
||
.lm-CommandPalette-input:-ms-input-placeholder {
|
||
color: var(--jp-ui-font-color2);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Results
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette-header:first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.lm-CommandPalette-header {
|
||
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
cursor: pointer;
|
||
display: flex;
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
letter-spacing: 1px;
|
||
margin-top: 8px;
|
||
padding: 8px 0 8px 12px;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.lm-CommandPalette-header.lm-mod-active {
|
||
background: var(--jp-layout-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-header > mark {
|
||
background-color: transparent;
|
||
font-weight: bold;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-item {
|
||
padding: 4px 12px 4px 4px;
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-weight: 400;
|
||
display: flex;
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-disabled {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
|
||
background: var(--jp-layout-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-itemContent {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-CommandPalette-itemLabel > mark {
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: transparent;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-disabled mark {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
|
||
margin: 0 4px 0 0;
|
||
position: relative;
|
||
width: 16px;
|
||
top: 2px;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
|
||
opacity: 0.6;
|
||
}
|
||
|
||
.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemCaption {
|
||
display: none;
|
||
}
|
||
|
||
.lm-CommandPalette-content {
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-content:empty::after {
|
||
content: 'No results';
|
||
margin: auto;
|
||
margin-top: 20px;
|
||
width: 100px;
|
||
display: block;
|
||
font-size: var(--jp-ui-font-size2);
|
||
font-family: var(--jp-ui-font-family);
|
||
font-weight: lighter;
|
||
}
|
||
|
||
.lm-CommandPalette-emptyMessage {
|
||
text-align: center;
|
||
margin-top: 24px;
|
||
line-height: 1.32;
|
||
padding: 0 8px;
|
||
color: var(--jp-content-font-color3);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2017, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Dialog {
|
||
position: absolute;
|
||
z-index: 10000;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
top: 0;
|
||
left: 0;
|
||
margin: 0;
|
||
padding: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
background: var(--jp-dialog-background);
|
||
}
|
||
|
||
.jp-Dialog-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
background: var(--jp-layout-color1);
|
||
padding: 24px 24px 12px;
|
||
min-width: 300px;
|
||
min-height: 150px;
|
||
max-width: 1000px;
|
||
max-height: 500px;
|
||
box-sizing: border-box;
|
||
box-shadow: var(--jp-elevation-z20);
|
||
word-wrap: break-word;
|
||
border-radius: var(--jp-border-radius);
|
||
|
||
/* This is needed so that all font sizing of children done in ems is
|
||
* relative to this base size */
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color1);
|
||
resize: both;
|
||
}
|
||
|
||
.jp-Dialog-content.jp-Dialog-content-small {
|
||
max-width: 500px;
|
||
}
|
||
|
||
.jp-Dialog-button {
|
||
overflow: visible;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus {
|
||
outline: 1px solid var(--jp-brand-color1);
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus::-moz-focus-inner {
|
||
border: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
|
||
outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
|
||
outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
|
||
}
|
||
|
||
button.jp-Dialog-close-button {
|
||
padding: 0;
|
||
height: 100%;
|
||
min-width: unset;
|
||
min-height: unset;
|
||
}
|
||
|
||
.jp-Dialog-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
flex: 0 0 auto;
|
||
padding-bottom: 12px;
|
||
font-size: var(--jp-ui-font-size3);
|
||
font-weight: 400;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.jp-Dialog-body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
flex: 1 1 auto;
|
||
font-size: var(--jp-ui-font-size1);
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
overflow: auto;
|
||
}
|
||
|
||
.jp-Dialog-footer {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: flex-end;
|
||
align-items: center;
|
||
flex: 0 0 auto;
|
||
margin-left: -12px;
|
||
margin-right: -12px;
|
||
padding: 12px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox {
|
||
padding-right: 5px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox > input:focus-visible {
|
||
outline: 1px solid var(--jp-input-active-border-color);
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-Dialog-spacer {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-Dialog-title {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.jp-Dialog-body > .jp-select-wrapper {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Dialog-body > button {
|
||
padding: 0 16px;
|
||
}
|
||
|
||
.jp-Dialog-body > label {
|
||
line-height: 1.4;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-Dialog-button.jp-mod-styled:not(:last-child) {
|
||
margin-right: 12px;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Input-Boolean-Dialog {
|
||
flex-direction: row-reverse;
|
||
align-items: end;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Input-Boolean-Dialog > label {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MainAreaWidget > :focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error {
|
||
padding: 6px;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
|
||
width: auto;
|
||
padding: 10px;
|
||
background: var(--jp-error-color3);
|
||
border: var(--jp-border-width) solid var(--jp-error-color1);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/**
|
||
* google-material-color v1.2.6
|
||
* https://github.com/danlevan/google-material-color
|
||
*/
|
||
:root {
|
||
--md-red-50: #ffebee;
|
||
--md-red-100: #ffcdd2;
|
||
--md-red-200: #ef9a9a;
|
||
--md-red-300: #e57373;
|
||
--md-red-400: #ef5350;
|
||
--md-red-500: #f44336;
|
||
--md-red-600: #e53935;
|
||
--md-red-700: #d32f2f;
|
||
--md-red-800: #c62828;
|
||
--md-red-900: #b71c1c;
|
||
--md-red-A100: #ff8a80;
|
||
--md-red-A200: #ff5252;
|
||
--md-red-A400: #ff1744;
|
||
--md-red-A700: #d50000;
|
||
--md-pink-50: #fce4ec;
|
||
--md-pink-100: #f8bbd0;
|
||
--md-pink-200: #f48fb1;
|
||
--md-pink-300: #f06292;
|
||
--md-pink-400: #ec407a;
|
||
--md-pink-500: #e91e63;
|
||
--md-pink-600: #d81b60;
|
||
--md-pink-700: #c2185b;
|
||
--md-pink-800: #ad1457;
|
||
--md-pink-900: #880e4f;
|
||
--md-pink-A100: #ff80ab;
|
||
--md-pink-A200: #ff4081;
|
||
--md-pink-A400: #f50057;
|
||
--md-pink-A700: #c51162;
|
||
--md-purple-50: #f3e5f5;
|
||
--md-purple-100: #e1bee7;
|
||
--md-purple-200: #ce93d8;
|
||
--md-purple-300: #ba68c8;
|
||
--md-purple-400: #ab47bc;
|
||
--md-purple-500: #9c27b0;
|
||
--md-purple-600: #8e24aa;
|
||
--md-purple-700: #7b1fa2;
|
||
--md-purple-800: #6a1b9a;
|
||
--md-purple-900: #4a148c;
|
||
--md-purple-A100: #ea80fc;
|
||
--md-purple-A200: #e040fb;
|
||
--md-purple-A400: #d500f9;
|
||
--md-purple-A700: #a0f;
|
||
--md-deep-purple-50: #ede7f6;
|
||
--md-deep-purple-100: #d1c4e9;
|
||
--md-deep-purple-200: #b39ddb;
|
||
--md-deep-purple-300: #9575cd;
|
||
--md-deep-purple-400: #7e57c2;
|
||
--md-deep-purple-500: #673ab7;
|
||
--md-deep-purple-600: #5e35b1;
|
||
--md-deep-purple-700: #512da8;
|
||
--md-deep-purple-800: #4527a0;
|
||
--md-deep-purple-900: #311b92;
|
||
--md-deep-purple-A100: #b388ff;
|
||
--md-deep-purple-A200: #7c4dff;
|
||
--md-deep-purple-A400: #651fff;
|
||
--md-deep-purple-A700: #6200ea;
|
||
--md-indigo-50: #e8eaf6;
|
||
--md-indigo-100: #c5cae9;
|
||
--md-indigo-200: #9fa8da;
|
||
--md-indigo-300: #7986cb;
|
||
--md-indigo-400: #5c6bc0;
|
||
--md-indigo-500: #3f51b5;
|
||
--md-indigo-600: #3949ab;
|
||
--md-indigo-700: #303f9f;
|
||
--md-indigo-800: #283593;
|
||
--md-indigo-900: #1a237e;
|
||
--md-indigo-A100: #8c9eff;
|
||
--md-indigo-A200: #536dfe;
|
||
--md-indigo-A400: #3d5afe;
|
||
--md-indigo-A700: #304ffe;
|
||
--md-blue-50: #e3f2fd;
|
||
--md-blue-100: #bbdefb;
|
||
--md-blue-200: #90caf9;
|
||
--md-blue-300: #64b5f6;
|
||
--md-blue-400: #42a5f5;
|
||
--md-blue-500: #2196f3;
|
||
--md-blue-600: #1e88e5;
|
||
--md-blue-700: #1976d2;
|
||
--md-blue-800: #1565c0;
|
||
--md-blue-900: #0d47a1;
|
||
--md-blue-A100: #82b1ff;
|
||
--md-blue-A200: #448aff;
|
||
--md-blue-A400: #2979ff;
|
||
--md-blue-A700: #2962ff;
|
||
--md-light-blue-50: #e1f5fe;
|
||
--md-light-blue-100: #b3e5fc;
|
||
--md-light-blue-200: #81d4fa;
|
||
--md-light-blue-300: #4fc3f7;
|
||
--md-light-blue-400: #29b6f6;
|
||
--md-light-blue-500: #03a9f4;
|
||
--md-light-blue-600: #039be5;
|
||
--md-light-blue-700: #0288d1;
|
||
--md-light-blue-800: #0277bd;
|
||
--md-light-blue-900: #01579b;
|
||
--md-light-blue-A100: #80d8ff;
|
||
--md-light-blue-A200: #40c4ff;
|
||
--md-light-blue-A400: #00b0ff;
|
||
--md-light-blue-A700: #0091ea;
|
||
--md-cyan-50: #e0f7fa;
|
||
--md-cyan-100: #b2ebf2;
|
||
--md-cyan-200: #80deea;
|
||
--md-cyan-300: #4dd0e1;
|
||
--md-cyan-400: #26c6da;
|
||
--md-cyan-500: #00bcd4;
|
||
--md-cyan-600: #00acc1;
|
||
--md-cyan-700: #0097a7;
|
||
--md-cyan-800: #00838f;
|
||
--md-cyan-900: #006064;
|
||
--md-cyan-A100: #84ffff;
|
||
--md-cyan-A200: #18ffff;
|
||
--md-cyan-A400: #00e5ff;
|
||
--md-cyan-A700: #00b8d4;
|
||
--md-teal-50: #e0f2f1;
|
||
--md-teal-100: #b2dfdb;
|
||
--md-teal-200: #80cbc4;
|
||
--md-teal-300: #4db6ac;
|
||
--md-teal-400: #26a69a;
|
||
--md-teal-500: #009688;
|
||
--md-teal-600: #00897b;
|
||
--md-teal-700: #00796b;
|
||
--md-teal-800: #00695c;
|
||
--md-teal-900: #004d40;
|
||
--md-teal-A100: #a7ffeb;
|
||
--md-teal-A200: #64ffda;
|
||
--md-teal-A400: #1de9b6;
|
||
--md-teal-A700: #00bfa5;
|
||
--md-green-50: #e8f5e9;
|
||
--md-green-100: #c8e6c9;
|
||
--md-green-200: #a5d6a7;
|
||
--md-green-300: #81c784;
|
||
--md-green-400: #66bb6a;
|
||
--md-green-500: #4caf50;
|
||
--md-green-600: #43a047;
|
||
--md-green-700: #388e3c;
|
||
--md-green-800: #2e7d32;
|
||
--md-green-900: #1b5e20;
|
||
--md-green-A100: #b9f6ca;
|
||
--md-green-A200: #69f0ae;
|
||
--md-green-A400: #00e676;
|
||
--md-green-A700: #00c853;
|
||
--md-light-green-50: #f1f8e9;
|
||
--md-light-green-100: #dcedc8;
|
||
--md-light-green-200: #c5e1a5;
|
||
--md-light-green-300: #aed581;
|
||
--md-light-green-400: #9ccc65;
|
||
--md-light-green-500: #8bc34a;
|
||
--md-light-green-600: #7cb342;
|
||
--md-light-green-700: #689f38;
|
||
--md-light-green-800: #558b2f;
|
||
--md-light-green-900: #33691e;
|
||
--md-light-green-A100: #ccff90;
|
||
--md-light-green-A200: #b2ff59;
|
||
--md-light-green-A400: #76ff03;
|
||
--md-light-green-A700: #64dd17;
|
||
--md-lime-50: #f9fbe7;
|
||
--md-lime-100: #f0f4c3;
|
||
--md-lime-200: #e6ee9c;
|
||
--md-lime-300: #dce775;
|
||
--md-lime-400: #d4e157;
|
||
--md-lime-500: #cddc39;
|
||
--md-lime-600: #c0ca33;
|
||
--md-lime-700: #afb42b;
|
||
--md-lime-800: #9e9d24;
|
||
--md-lime-900: #827717;
|
||
--md-lime-A100: #f4ff81;
|
||
--md-lime-A200: #eeff41;
|
||
--md-lime-A400: #c6ff00;
|
||
--md-lime-A700: #aeea00;
|
||
--md-yellow-50: #fffde7;
|
||
--md-yellow-100: #fff9c4;
|
||
--md-yellow-200: #fff59d;
|
||
--md-yellow-300: #fff176;
|
||
--md-yellow-400: #ffee58;
|
||
--md-yellow-500: #ffeb3b;
|
||
--md-yellow-600: #fdd835;
|
||
--md-yellow-700: #fbc02d;
|
||
--md-yellow-800: #f9a825;
|
||
--md-yellow-900: #f57f17;
|
||
--md-yellow-A100: #ffff8d;
|
||
--md-yellow-A200: #ff0;
|
||
--md-yellow-A400: #ffea00;
|
||
--md-yellow-A700: #ffd600;
|
||
--md-amber-50: #fff8e1;
|
||
--md-amber-100: #ffecb3;
|
||
--md-amber-200: #ffe082;
|
||
--md-amber-300: #ffd54f;
|
||
--md-amber-400: #ffca28;
|
||
--md-amber-500: #ffc107;
|
||
--md-amber-600: #ffb300;
|
||
--md-amber-700: #ffa000;
|
||
--md-amber-800: #ff8f00;
|
||
--md-amber-900: #ff6f00;
|
||
--md-amber-A100: #ffe57f;
|
||
--md-amber-A200: #ffd740;
|
||
--md-amber-A400: #ffc400;
|
||
--md-amber-A700: #ffab00;
|
||
--md-orange-50: #fff3e0;
|
||
--md-orange-100: #ffe0b2;
|
||
--md-orange-200: #ffcc80;
|
||
--md-orange-300: #ffb74d;
|
||
--md-orange-400: #ffa726;
|
||
--md-orange-500: #ff9800;
|
||
--md-orange-600: #fb8c00;
|
||
--md-orange-700: #f57c00;
|
||
--md-orange-800: #ef6c00;
|
||
--md-orange-900: #e65100;
|
||
--md-orange-A100: #ffd180;
|
||
--md-orange-A200: #ffab40;
|
||
--md-orange-A400: #ff9100;
|
||
--md-orange-A700: #ff6d00;
|
||
--md-deep-orange-50: #fbe9e7;
|
||
--md-deep-orange-100: #ffccbc;
|
||
--md-deep-orange-200: #ffab91;
|
||
--md-deep-orange-300: #ff8a65;
|
||
--md-deep-orange-400: #ff7043;
|
||
--md-deep-orange-500: #ff5722;
|
||
--md-deep-orange-600: #f4511e;
|
||
--md-deep-orange-700: #e64a19;
|
||
--md-deep-orange-800: #d84315;
|
||
--md-deep-orange-900: #bf360c;
|
||
--md-deep-orange-A100: #ff9e80;
|
||
--md-deep-orange-A200: #ff6e40;
|
||
--md-deep-orange-A400: #ff3d00;
|
||
--md-deep-orange-A700: #dd2c00;
|
||
--md-brown-50: #efebe9;
|
||
--md-brown-100: #d7ccc8;
|
||
--md-brown-200: #bcaaa4;
|
||
--md-brown-300: #a1887f;
|
||
--md-brown-400: #8d6e63;
|
||
--md-brown-500: #795548;
|
||
--md-brown-600: #6d4c41;
|
||
--md-brown-700: #5d4037;
|
||
--md-brown-800: #4e342e;
|
||
--md-brown-900: #3e2723;
|
||
--md-grey-50: #fafafa;
|
||
--md-grey-100: #f5f5f5;
|
||
--md-grey-200: #eee;
|
||
--md-grey-300: #e0e0e0;
|
||
--md-grey-400: #bdbdbd;
|
||
--md-grey-500: #9e9e9e;
|
||
--md-grey-600: #757575;
|
||
--md-grey-700: #616161;
|
||
--md-grey-800: #424242;
|
||
--md-grey-900: #212121;
|
||
--md-blue-grey-50: #eceff1;
|
||
--md-blue-grey-100: #cfd8dc;
|
||
--md-blue-grey-200: #b0bec5;
|
||
--md-blue-grey-300: #90a4ae;
|
||
--md-blue-grey-400: #78909c;
|
||
--md-blue-grey-500: #607d8b;
|
||
--md-blue-grey-600: #546e7a;
|
||
--md-blue-grey-700: #455a64;
|
||
--md-blue-grey-800: #37474f;
|
||
--md-blue-grey-900: #263238;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2017, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| RenderedText
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
/* This is the padding value to fill the gaps between lines containing spans with background color. */
|
||
--jp-private-code-span-padding: calc(
|
||
(var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
|
||
);
|
||
}
|
||
|
||
.jp-RenderedText {
|
||
text-align: left;
|
||
padding-left: var(--jp-code-padding);
|
||
line-height: var(--jp-code-line-height);
|
||
font-family: var(--jp-code-font-family);
|
||
}
|
||
|
||
.jp-RenderedText pre,
|
||
.jp-RenderedJavaScript pre,
|
||
.jp-RenderedHTMLCommon pre {
|
||
color: var(--jp-content-font-color1);
|
||
font-size: var(--jp-code-font-size);
|
||
border: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.jp-RenderedText pre a:link {
|
||
text-decoration: none;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-RenderedText pre a:hover {
|
||
text-decoration: underline;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-RenderedText pre a:visited {
|
||
text-decoration: none;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
/* console foregrounds and backgrounds */
|
||
.jp-RenderedText pre .ansi-black-fg {
|
||
color: #3e424d;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-fg {
|
||
color: #e75c58;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-fg {
|
||
color: #00a250;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-fg {
|
||
color: #ddb62b;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-fg {
|
||
color: #208ffb;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-fg {
|
||
color: #d160c4;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-fg {
|
||
color: #60c6c8;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-fg {
|
||
color: #c5c1b4;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-black-bg {
|
||
background-color: #3e424d;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-bg {
|
||
background-color: #e75c58;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-bg {
|
||
background-color: #00a250;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-bg {
|
||
background-color: #ddb62b;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-bg {
|
||
background-color: #208ffb;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-bg {
|
||
background-color: #d160c4;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-bg {
|
||
background-color: #60c6c8;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-bg {
|
||
background-color: #c5c1b4;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-black-intense-fg {
|
||
color: #282c36;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-intense-fg {
|
||
color: #b22b31;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-intense-fg {
|
||
color: #007427;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-intense-fg {
|
||
color: #b27d12;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-intense-fg {
|
||
color: #0065ca;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-intense-fg {
|
||
color: #a03196;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-intense-fg {
|
||
color: #258f8f;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-intense-fg {
|
||
color: #a1a6b2;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-black-intense-bg {
|
||
background-color: #282c36;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-intense-bg {
|
||
background-color: #b22b31;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-intense-bg {
|
||
background-color: #007427;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-intense-bg {
|
||
background-color: #b27d12;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-intense-bg {
|
||
background-color: #0065ca;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-intense-bg {
|
||
background-color: #a03196;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-intense-bg {
|
||
background-color: #258f8f;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-intense-bg {
|
||
background-color: #a1a6b2;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-default-inverse-fg {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-default-inverse-bg {
|
||
background-color: var(--jp-inverse-layout-color0);
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-bold {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-underline {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
|
||
background: var(--jp-rendermime-error-background);
|
||
padding-top: var(--jp-code-padding);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| RenderedLatex
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-RenderedLatex {
|
||
color: var(--jp-content-font-color1);
|
||
font-size: var(--jp-content-font-size1);
|
||
line-height: var(--jp-content-line-height);
|
||
}
|
||
|
||
/* Left-justify outputs.*/
|
||
.jp-OutputArea-output.jp-RenderedLatex {
|
||
padding: var(--jp-code-padding);
|
||
text-align: left;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| RenderedHTML
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-RenderedHTMLCommon {
|
||
color: var(--jp-content-font-color1);
|
||
font-family: var(--jp-content-font-family);
|
||
font-size: var(--jp-content-font-size1);
|
||
line-height: var(--jp-content-line-height);
|
||
|
||
/* Give a bit more R padding on Markdown text to keep line lengths reasonable */
|
||
padding-right: 20px;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon em {
|
||
font-style: italic;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon strong {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon u {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon a:link {
|
||
text-decoration: none;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon a:hover {
|
||
text-decoration: underline;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon a:visited {
|
||
text-decoration: none;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
/* Headings */
|
||
|
||
.jp-RenderedHTMLCommon h1,
|
||
.jp-RenderedHTMLCommon h2,
|
||
.jp-RenderedHTMLCommon h3,
|
||
.jp-RenderedHTMLCommon h4,
|
||
.jp-RenderedHTMLCommon h5,
|
||
.jp-RenderedHTMLCommon h6 {
|
||
line-height: var(--jp-content-heading-line-height);
|
||
font-weight: var(--jp-content-heading-font-weight);
|
||
font-style: normal;
|
||
margin: var(--jp-content-heading-margin-top) 0
|
||
var(--jp-content-heading-margin-bottom) 0;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h1:first-child,
|
||
.jp-RenderedHTMLCommon h2:first-child,
|
||
.jp-RenderedHTMLCommon h3:first-child,
|
||
.jp-RenderedHTMLCommon h4:first-child,
|
||
.jp-RenderedHTMLCommon h5:first-child,
|
||
.jp-RenderedHTMLCommon h6:first-child {
|
||
margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h1:last-child,
|
||
.jp-RenderedHTMLCommon h2:last-child,
|
||
.jp-RenderedHTMLCommon h3:last-child,
|
||
.jp-RenderedHTMLCommon h4:last-child,
|
||
.jp-RenderedHTMLCommon h5:last-child,
|
||
.jp-RenderedHTMLCommon h6:last-child {
|
||
margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h1 {
|
||
font-size: var(--jp-content-font-size5);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h2 {
|
||
font-size: var(--jp-content-font-size4);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h3 {
|
||
font-size: var(--jp-content-font-size3);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h4 {
|
||
font-size: var(--jp-content-font-size2);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h5 {
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon h6 {
|
||
font-size: var(--jp-content-font-size0);
|
||
}
|
||
|
||
/* Lists */
|
||
|
||
/* stylelint-disable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.jp-RenderedHTMLCommon ul:not(.list-inline),
|
||
.jp-RenderedHTMLCommon ol:not(.list-inline) {
|
||
padding-left: 2em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ul {
|
||
list-style: disc;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ul ul {
|
||
list-style: square;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ul ul ul {
|
||
list-style: circle;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol {
|
||
list-style: decimal;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol ol {
|
||
list-style: upper-alpha;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol ol ol {
|
||
list-style: lower-alpha;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol ol ol ol {
|
||
list-style: lower-roman;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol ol ol ol ol {
|
||
list-style: decimal;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ol,
|
||
.jp-RenderedHTMLCommon ul {
|
||
margin-bottom: 1em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon ul ul,
|
||
.jp-RenderedHTMLCommon ul ol,
|
||
.jp-RenderedHTMLCommon ol ul,
|
||
.jp-RenderedHTMLCommon ol ol {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.jp-RenderedHTMLCommon hr {
|
||
color: var(--jp-border-color2);
|
||
background-color: var(--jp-border-color1);
|
||
margin-top: 1em;
|
||
margin-bottom: 1em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon > pre {
|
||
margin: 1.5em 2em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon pre,
|
||
.jp-RenderedHTMLCommon code {
|
||
border: 0;
|
||
background-color: var(--jp-layout-color0);
|
||
color: var(--jp-content-font-color1);
|
||
font-family: var(--jp-code-font-family);
|
||
font-size: inherit;
|
||
line-height: var(--jp-code-line-height);
|
||
padding: 0;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon :not(pre) > code {
|
||
background-color: var(--jp-layout-color2);
|
||
padding: 1px 5px;
|
||
}
|
||
|
||
/* Tables */
|
||
|
||
.jp-RenderedHTMLCommon table {
|
||
border-collapse: collapse;
|
||
border-spacing: 0;
|
||
border: none;
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
table-layout: fixed;
|
||
margin-left: auto;
|
||
margin-bottom: 1em;
|
||
margin-right: auto;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon thead {
|
||
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
|
||
vertical-align: bottom;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon td,
|
||
.jp-RenderedHTMLCommon th,
|
||
.jp-RenderedHTMLCommon tr {
|
||
vertical-align: middle;
|
||
padding: 0.5em;
|
||
line-height: normal;
|
||
white-space: normal;
|
||
max-width: none;
|
||
border: none;
|
||
}
|
||
|
||
.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
|
||
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
|
||
max-width: none;
|
||
}
|
||
|
||
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
|
||
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
|
||
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon th {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
|
||
background: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
|
||
background: var(--jp-rendermime-table-row-background);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon tbody tr:hover {
|
||
background: var(--jp-rendermime-table-row-hover-background);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon p {
|
||
text-align: left;
|
||
margin: 0;
|
||
margin-bottom: 1em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon img {
|
||
-moz-force-broken-image-icon: 1;
|
||
}
|
||
|
||
/* Restrict to direct children as other images could be nested in other content. */
|
||
.jp-RenderedHTMLCommon > img {
|
||
display: block;
|
||
margin-left: 0;
|
||
margin-right: 0;
|
||
margin-bottom: 1em;
|
||
}
|
||
|
||
/* Change color behind transparent images if they need it... */
|
||
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
|
||
background-color: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
|
||
background-color: var(--jp-inverse-layout-color1);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon img,
|
||
.jp-RenderedImage img,
|
||
.jp-RenderedHTMLCommon svg,
|
||
.jp-RenderedSVG svg {
|
||
max-width: 100%;
|
||
height: auto;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon img.jp-mod-unconfined,
|
||
.jp-RenderedImage img.jp-mod-unconfined,
|
||
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
|
||
.jp-RenderedSVG svg.jp-mod-unconfined {
|
||
max-width: none;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert {
|
||
padding: var(--jp-notebook-padding);
|
||
border: var(--jp-border-width) solid transparent;
|
||
border-radius: var(--jp-border-radius);
|
||
margin-bottom: 1em;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-info {
|
||
color: var(--jp-info-color0);
|
||
background-color: var(--jp-info-color3);
|
||
border-color: var(--jp-info-color2);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-info hr {
|
||
border-color: var(--jp-info-color3);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-info > p:last-child,
|
||
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-warning {
|
||
color: var(--jp-warn-color0);
|
||
background-color: var(--jp-warn-color3);
|
||
border-color: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-warning hr {
|
||
border-color: var(--jp-warn-color3);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-warning > p:last-child,
|
||
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-success {
|
||
color: var(--jp-success-color0);
|
||
background-color: var(--jp-success-color3);
|
||
border-color: var(--jp-success-color2);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-success hr {
|
||
border-color: var(--jp-success-color3);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-success > p:last-child,
|
||
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-danger {
|
||
color: var(--jp-error-color0);
|
||
background-color: var(--jp-error-color3);
|
||
border-color: var(--jp-error-color2);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-danger hr {
|
||
border-color: var(--jp-error-color3);
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon .alert-danger > p:last-child,
|
||
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon blockquote {
|
||
margin: 1em 2em;
|
||
padding: 0 1em;
|
||
border-left: 5px solid var(--jp-border-color2);
|
||
}
|
||
|
||
a.jp-InternalAnchorLink {
|
||
visibility: hidden;
|
||
margin-left: 8px;
|
||
color: var(--md-blue-800);
|
||
}
|
||
|
||
h1:hover .jp-InternalAnchorLink,
|
||
h2:hover .jp-InternalAnchorLink,
|
||
h3:hover .jp-InternalAnchorLink,
|
||
h4:hover .jp-InternalAnchorLink,
|
||
h5:hover .jp-InternalAnchorLink,
|
||
h6:hover .jp-InternalAnchorLink {
|
||
visibility: visible;
|
||
}
|
||
|
||
.jp-RenderedHTMLCommon kbd {
|
||
background-color: var(--jp-rendermime-table-row-background);
|
||
border: 1px solid var(--jp-border-color0);
|
||
border-bottom-color: var(--jp-border-color2);
|
||
border-radius: 3px;
|
||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||
display: inline-block;
|
||
font-size: var(--jp-ui-font-size0);
|
||
line-height: 1em;
|
||
padding: 0.2em 0.5em;
|
||
}
|
||
|
||
/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
|
||
* At the bottom of cells this is a bit too much as there is also spacing
|
||
* between cells. Going all the way to 0 gets too tight between markdown and
|
||
* code cells.
|
||
*/
|
||
.jp-RenderedHTMLCommon > *:last-child {
|
||
margin-bottom: 0.5em;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
||
|
|
||
| Distributed under the terms of the BSD 3-Clause License.
|
||
|
|
||
| The full license is in the file LICENSE, distributed with this software.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-cursor-backdrop {
|
||
position: fixed;
|
||
width: 200px;
|
||
height: 200px;
|
||
margin-top: -100px;
|
||
margin-left: -100px;
|
||
will-change: transform;
|
||
z-index: 100;
|
||
}
|
||
|
||
.lm-mod-drag-image {
|
||
will-change: transform;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-lineFormSearch {
|
||
padding: 4px 12px;
|
||
background-color: var(--jp-layout-color2);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
z-index: 2;
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-lineFormCaption {
|
||
font-size: var(--jp-ui-font-size0);
|
||
line-height: var(--jp-ui-font-size1);
|
||
margin-top: 4px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-baseLineForm {
|
||
border: none;
|
||
border-radius: 0;
|
||
position: absolute;
|
||
background-size: 16px;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
outline: none;
|
||
}
|
||
|
||
.jp-lineFormButtonContainer {
|
||
top: 4px;
|
||
right: 8px;
|
||
height: 24px;
|
||
padding: 0 12px;
|
||
width: 12px;
|
||
}
|
||
|
||
.jp-lineFormButtonIcon {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: var(--jp-brand-color1);
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 4px 6px;
|
||
}
|
||
|
||
.jp-lineFormButton {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: transparent;
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-lineFormWrapper {
|
||
overflow: hidden;
|
||
padding: 0 8px;
|
||
border: 1px solid var(--jp-border-color0);
|
||
background-color: var(--jp-input-active-background);
|
||
height: 22px;
|
||
}
|
||
|
||
.jp-lineFormWrapperFocusWithin {
|
||
border: var(--jp-border-width) solid var(--md-blue-500);
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-lineFormInput {
|
||
background: transparent;
|
||
width: 200px;
|
||
height: 100%;
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
line-height: 28px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-JSONEditor {
|
||
display: flex;
|
||
flex-direction: column;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-JSONEditor-host {
|
||
flex: 1 1 auto;
|
||
border: var(--jp-border-width) solid var(--jp-input-border-color);
|
||
border-radius: 0;
|
||
background: var(--jp-layout-color0);
|
||
min-height: 50px;
|
||
padding: 1px;
|
||
}
|
||
|
||
.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
|
||
border-color: red;
|
||
outline-color: red;
|
||
}
|
||
|
||
.jp-JSONEditor-header {
|
||
display: flex;
|
||
flex: 1 0 auto;
|
||
padding: 0 0 0 12px;
|
||
}
|
||
|
||
.jp-JSONEditor-header label {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.jp-JSONEditor-commitButton {
|
||
height: 16px;
|
||
width: 16px;
|
||
background-size: 18px;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
}
|
||
|
||
.jp-JSONEditor-host.jp-mod-focused {
|
||
background-color: var(--jp-input-active-background);
|
||
border: 1px solid var(--jp-input-active-border-color);
|
||
box-shadow: var(--jp-input-box-shadow);
|
||
}
|
||
|
||
.jp-Editor.jp-mod-dropTarget {
|
||
border: var(--jp-border-width) solid var(--jp-input-active-border-color);
|
||
box-shadow: var(--jp-input-box-shadow);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-DocumentSearch-input {
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
font-size: var(--jp-ui-font-size1);
|
||
background-color: var(--jp-layout-color0);
|
||
font-family: var(--jp-ui-font-family);
|
||
padding: 2px 1px;
|
||
resize: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay {
|
||
position: absolute;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
top: 0;
|
||
right: 0;
|
||
z-index: 7;
|
||
min-width: 405px;
|
||
padding: 2px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
--jp-private-document-search-button-height: 20px;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button {
|
||
background-color: var(--jp-toolbar-background);
|
||
outline: 0;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay-row {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content {
|
||
display: inline-block;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content svg {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper {
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
display: flex;
|
||
background-color: var(--jp-layout-color0);
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper:focus-within {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper {
|
||
all: initial;
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
border: none;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-wrapper {
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper:focus,
|
||
.jp-DocumentSearch-button-wrapper:focus {
|
||
outline: var(--jp-border-width) solid
|
||
var(--jp-cell-editor-active-border-color);
|
||
outline-offset: -1px;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper,
|
||
.jp-DocumentSearch-button-content:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-placeholder {
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button::before {
|
||
display: block;
|
||
padding-top: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off {
|
||
opacity: var(--jp-search-toggle-off-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off:hover {
|
||
opacity: var(--jp-search-toggle-hover-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-on {
|
||
opacity: var(--jp-search-toggle-on-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-index-counter {
|
||
padding-left: 10px;
|
||
padding-right: 10px;
|
||
user-select: none;
|
||
min-width: 35px;
|
||
display: inline-block;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper {
|
||
display: inline-block;
|
||
padding-right: 2px;
|
||
margin-left: auto;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.jp-DocumentSearch-spacer {
|
||
margin-left: auto;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper button {
|
||
outline: 0;
|
||
border: none;
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
vertical-align: middle;
|
||
margin: 1px 5px 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button {
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-options {
|
||
padding: 0 8px;
|
||
margin-left: 3px;
|
||
width: 100%;
|
||
display: grid;
|
||
justify-content: start;
|
||
grid-template-columns: 1fr 1fr;
|
||
align-items: center;
|
||
justify-items: stretch;
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter-disabled {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter {
|
||
display: flex;
|
||
align-items: center;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-regex-error {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper {
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
box-sizing: border-box;
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
margin: auto 2px;
|
||
padding: 1px 4px;
|
||
height: calc(var(--jp-private-document-search-button-height) + 2px);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper:focus {
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button {
|
||
display: inline-block;
|
||
text-align: center;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
color: var(--jp-ui-font-color1);
|
||
|
||
/* height - 2 * (padding of wrapper) */
|
||
line-height: calc(var(--jp-private-document-search-button-height) - 2px);
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-wrapper-class {
|
||
margin-left: 14px;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle {
|
||
border: none;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.cm-editor {
|
||
line-height: var(--jp-code-line-height);
|
||
font-size: var(--jp-code-font-size);
|
||
font-family: var(--jp-code-font-family);
|
||
border: 0;
|
||
border-radius: 0;
|
||
height: auto;
|
||
|
||
/* Changed to auto to autogrow */
|
||
}
|
||
|
||
.cm-editor pre {
|
||
padding: 0 var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
|
||
background-color: var(--jp-layout-color0);
|
||
color: var(--jp-content-font-color1);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor {
|
||
cursor: text;
|
||
}
|
||
|
||
/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
|
||
@media screen and (min-width: 2138px) and (max-width: 4319px) {
|
||
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
|
||
border-left: var(--jp-code-cursor-width1) solid
|
||
var(--jp-editor-cursor-color);
|
||
}
|
||
}
|
||
|
||
/* When zoomed out less than 33% */
|
||
@media screen and (min-width: 4320px) {
|
||
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
|
||
border-left: var(--jp-code-cursor-width2) solid
|
||
var(--jp-editor-cursor-color);
|
||
}
|
||
}
|
||
|
||
.cm-editor.jp-mod-readOnly .cm-cursor {
|
||
display: none;
|
||
}
|
||
|
||
.jp-CollaboratorCursor {
|
||
border-left: 5px solid transparent;
|
||
border-right: 5px solid transparent;
|
||
border-top: none;
|
||
border-bottom: 3px solid;
|
||
background-clip: content-box;
|
||
margin-left: -5px;
|
||
margin-right: -5px;
|
||
}
|
||
|
||
.cm-searching,
|
||
.cm-searching span {
|
||
/* `.cm-searching span`: we need to override syntax highlighting */
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.cm-searching::selection,
|
||
.cm-searching span::selection {
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching,
|
||
.jp-current-match > .cm-searching span,
|
||
.cm-searching > .jp-current-match,
|
||
.cm-searching > .jp-current-match span {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching::selection,
|
||
.cm-searching > .jp-current-match::selection,
|
||
.jp-current-match > .cm-searching span::selection {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.cm-trailingspace {
|
||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
|
||
background-position: center left;
|
||
background-repeat: repeat-x;
|
||
}
|
||
|
||
.jp-CollaboratorCursor-hover {
|
||
position: absolute;
|
||
z-index: 1;
|
||
transform: translateX(-50%);
|
||
color: white;
|
||
border-radius: 3px;
|
||
padding-left: 4px;
|
||
padding-right: 4px;
|
||
padding-top: 1px;
|
||
padding-bottom: 1px;
|
||
text-align: center;
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.jp-CodeMirror-ruler {
|
||
border-left: 1px dashed var(--jp-border-color2);
|
||
}
|
||
|
||
/* Styles for shared cursors (remote cursor locations and selected ranges) */
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret {
|
||
position: relative;
|
||
border-left: 1px solid black;
|
||
margin-left: -1px;
|
||
margin-right: -1px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
|
||
white-space: nowrap;
|
||
position: absolute;
|
||
top: -1.15em;
|
||
padding-bottom: 0.05em;
|
||
left: -1px;
|
||
font-size: 0.95em;
|
||
font-family: var(--jp-ui-font-family);
|
||
font-weight: bold;
|
||
line-height: normal;
|
||
user-select: none;
|
||
color: white;
|
||
padding-left: 2px;
|
||
padding-right: 2px;
|
||
z-index: 101;
|
||
transition: opacity 0.3s ease-in-out;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionInfo {
|
||
transition-delay: 0.7s;
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
|
||
opacity: 1;
|
||
transition-delay: 0s;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MimeDocument {
|
||
outline: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-filebrowser-button-height: 28px;
|
||
--jp-private-filebrowser-button-width: 48px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileBrowser .jp-SidePanel-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar.jp-Toolbar {
|
||
flex-wrap: wrap;
|
||
row-gap: 12px;
|
||
border-bottom: none;
|
||
height: auto;
|
||
margin: 8px 12px 0;
|
||
box-shadow: none;
|
||
padding: 0;
|
||
justify-content: flex-start;
|
||
}
|
||
|
||
.jp-FileBrowser-Panel {
|
||
flex: 1 1 auto;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-BreadCrumbs {
|
||
flex: 0 0 auto;
|
||
margin: 8px 12px;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item {
|
||
margin: 0 2px;
|
||
padding: 0 2px;
|
||
border-radius: var(--jp-border-radius);
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-BreadCrumbs-item:first-child {
|
||
margin-left: 0;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item.jp-mod-dropTarget {
|
||
background-color: var(--jp-brand-color2);
|
||
opacity: 0.7;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Buttons
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item {
|
||
flex: 0 0 auto;
|
||
padding-left: 0;
|
||
padding-right: 2px;
|
||
align-items: center;
|
||
height: unset;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
|
||
width: 40px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Other styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileDialog.jp-mod-conflict input {
|
||
color: var(--jp-error-color1);
|
||
}
|
||
|
||
.jp-FileDialog .jp-new-name-title {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.jp-LastModified-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileSize-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| DirListing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-DirListing {
|
||
flex: 1 1 auto;
|
||
display: flex;
|
||
flex-direction: column;
|
||
outline: 0;
|
||
}
|
||
|
||
.jp-DirListing-header {
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
flex-direction: row;
|
||
align-items: center;
|
||
overflow: hidden;
|
||
border-top: var(--jp-border-width) solid var(--jp-border-color2);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
z-index: 2;
|
||
}
|
||
|
||
.jp-DirListing-headerItem {
|
||
padding: 4px 12px 2px;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.jp-DirListing-headerItem:hover {
|
||
background: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DirListing-headerItem.jp-id-name {
|
||
flex: 1 0 84px;
|
||
}
|
||
|
||
.jp-DirListing-headerItem.jp-id-modified {
|
||
flex: 0 0 112px;
|
||
border-left: var(--jp-border-width) solid var(--jp-border-color2);
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-headerItem.jp-id-filesize {
|
||
flex: 0 0 75px;
|
||
border-left: var(--jp-border-width) solid var(--jp-border-color2);
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-id-narrow {
|
||
display: none;
|
||
flex: 0 0 5px;
|
||
padding: 4px;
|
||
border-left: var(--jp-border-width) solid var(--jp-border-color2);
|
||
text-align: right;
|
||
color: var(--jp-border-color2);
|
||
}
|
||
|
||
.jp-DirListing-narrow .jp-id-narrow {
|
||
display: block;
|
||
}
|
||
|
||
.jp-DirListing-narrow .jp-id-modified,
|
||
.jp-DirListing-narrow .jp-DirListing-itemModified {
|
||
display: none;
|
||
}
|
||
|
||
.jp-DirListing-headerItem.jp-mod-selected {
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* increase specificity to override bundled default */
|
||
.jp-DirListing-content {
|
||
flex: 1 1 auto;
|
||
margin: 0;
|
||
padding: 0;
|
||
list-style-type: none;
|
||
overflow: auto;
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-content mark {
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: transparent;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
/* Style the directory listing content when a user drops a file to upload */
|
||
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
|
||
outline: 5px dashed rgba(128, 128, 128, 0.5);
|
||
outline-offset: -10px;
|
||
cursor: copy;
|
||
}
|
||
|
||
.jp-DirListing-item {
|
||
display: flex;
|
||
flex-direction: row;
|
||
align-items: center;
|
||
padding: 4px 12px;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper {
|
||
/* Increases hit area of checkbox. */
|
||
padding: 4px;
|
||
}
|
||
|
||
.jp-DirListing-header
|
||
.jp-DirListing-checkboxWrapper
|
||
+ .jp-DirListing-headerItem {
|
||
padding-left: 4px;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-checkboxWrapper {
|
||
position: relative;
|
||
left: -4px;
|
||
margin: -4px 0 -4px -8px;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper.jp-mod-visible {
|
||
visibility: visible;
|
||
}
|
||
|
||
/* For devices that support hovering, hide checkboxes until hovered, selected...
|
||
*/
|
||
@media (hover: hover) {
|
||
.jp-DirListing-checkboxWrapper {
|
||
visibility: hidden;
|
||
}
|
||
|
||
.jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
|
||
visibility: visible;
|
||
}
|
||
}
|
||
|
||
.jp-DirListing-item[data-is-dot] {
|
||
opacity: 75%;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-dropTarget {
|
||
background: var(--jp-brand-color3);
|
||
}
|
||
|
||
.jp-DirListing-item:hover:not(.jp-mod-selected) {
|
||
background: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DirListing-itemIcon {
|
||
flex: 0 0 20px;
|
||
margin-right: 4px;
|
||
}
|
||
|
||
.jp-DirListing-itemText {
|
||
flex: 1 0 64px;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DirListing-itemText:focus {
|
||
outline-width: 2px;
|
||
outline-color: var(--jp-inverse-layout-color1);
|
||
outline-style: solid;
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
|
||
outline-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-itemModified {
|
||
flex: 0 0 125px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-itemFileSize {
|
||
flex: 0 0 90px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-editor {
|
||
flex: 1 0 64px;
|
||
outline: none;
|
||
border: none;
|
||
color: var(--jp-ui-font-color1);
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
|
||
color: var(--jp-success-color1);
|
||
content: '\25CF';
|
||
font-size: 8px;
|
||
position: absolute;
|
||
left: -8px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running.jp-mod-selected
|
||
.jp-DirListing-itemIcon::before {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.jp-DirListing-item.lm-mod-drag-image,
|
||
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
|
||
font-size: var(--jp-ui-font-size1);
|
||
padding-left: 4px;
|
||
margin-left: 4px;
|
||
width: 160px;
|
||
background-color: var(--jp-ui-inverse-font-color2);
|
||
box-shadow: var(--jp-elevation-z2);
|
||
border-radius: 0;
|
||
color: var(--jp-ui-font-color1);
|
||
transform: translateX(-40%) translateY(-58%);
|
||
}
|
||
|
||
.jp-Document {
|
||
min-width: 120px;
|
||
min-height: 120px;
|
||
outline: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Main OutputArea
|
||
| OutputArea has a list of Outputs
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-OutputArea {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-OutputArea-child {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-OutputPrompt {
|
||
width: var(--jp-cell-prompt-width);
|
||
color: var(--jp-cell-outprompt-font-color);
|
||
font-family: var(--jp-cell-prompt-font-family);
|
||
padding: var(--jp-code-padding);
|
||
letter-spacing: var(--jp-cell-prompt-letter-spacing);
|
||
line-height: var(--jp-code-line-height);
|
||
font-size: var(--jp-code-font-size);
|
||
border: var(--jp-border-width) solid transparent;
|
||
opacity: var(--jp-cell-prompt-opacity);
|
||
|
||
/* Right align prompt text, don't wrap to handle large prompt numbers */
|
||
text-align: right;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
|
||
/* Disable text selection */
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-OutputArea-prompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.jp-OutputArea-output {
|
||
display: table-cell;
|
||
width: 100%;
|
||
height: auto;
|
||
overflow: auto;
|
||
user-select: text;
|
||
-moz-user-select: text;
|
||
-webkit-user-select: text;
|
||
-ms-user-select: text;
|
||
}
|
||
|
||
.jp-OutputArea .jp-RenderedText {
|
||
padding-left: 1ch;
|
||
}
|
||
|
||
/**
|
||
* Prompt overlay.
|
||
*/
|
||
|
||
.jp-OutputArea-promptOverlay {
|
||
position: absolute;
|
||
top: 0;
|
||
width: var(--jp-cell-prompt-width);
|
||
height: 100%;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.jp-OutputArea-promptOverlay:hover {
|
||
background: var(--jp-layout-color2);
|
||
box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
|
||
cursor: zoom-out;
|
||
}
|
||
|
||
.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
|
||
cursor: zoom-in;
|
||
}
|
||
|
||
/**
|
||
* Isolated output.
|
||
*/
|
||
.jp-OutputArea-output.jp-mod-isolated {
|
||
width: 100%;
|
||
display: block;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-mod-override-cursor` is added to the body.
|
||
Because iframes steal all cursor events, the following two rules are necessary
|
||
to suppress pointer events while resize drags are occurring. There may be a
|
||
better solution to this problem.
|
||
*/
|
||
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
|
||
position: relative;
|
||
}
|
||
|
||
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
|
||
content: '';
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
/* pre */
|
||
|
||
.jp-OutputArea-output pre {
|
||
border: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
overflow-x: auto;
|
||
overflow-y: auto;
|
||
word-break: break-all;
|
||
word-wrap: break-word;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
/* tables */
|
||
|
||
.jp-OutputArea-output.jp-RenderedHTMLCommon table {
|
||
margin-left: 0;
|
||
margin-right: 0;
|
||
}
|
||
|
||
/* description lists */
|
||
|
||
.jp-OutputArea-output dl,
|
||
.jp-OutputArea-output dt,
|
||
.jp-OutputArea-output dd {
|
||
display: block;
|
||
}
|
||
|
||
.jp-OutputArea-output dl {
|
||
width: 100%;
|
||
overflow: hidden;
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.jp-OutputArea-output dt {
|
||
font-weight: bold;
|
||
float: left;
|
||
width: 20%;
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.jp-OutputArea-output dd {
|
||
float: left;
|
||
width: 80%;
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.jp-TrimmedOutputs pre {
|
||
background: var(--jp-layout-color3);
|
||
font-size: calc(var(--jp-code-font-size) * 1.4);
|
||
text-align: center;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
/* Hide the gutter in case of
|
||
* - nested output areas (e.g. in the case of output widgets)
|
||
* - mirrored output areas
|
||
*/
|
||
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
|
||
display: none;
|
||
}
|
||
|
||
/* Hide empty lines in the output area, for instance due to cleared widgets */
|
||
.jp-OutputArea-prompt:empty {
|
||
padding: 0;
|
||
border: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| executeResult is added to any Output-result for the display of the object
|
||
| returned by a cell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-OutputArea-output.jp-OutputArea-executeResult {
|
||
margin-left: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* Text output with the Out[] prompt needs a top padding to match the
|
||
* alignment of the Out[] prompt itself.
|
||
*/
|
||
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
|
||
padding-top: var(--jp-code-padding);
|
||
border-top: var(--jp-border-width) solid transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| The Stdin output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Stdin-prompt {
|
||
color: var(--jp-content-font-color0);
|
||
padding-right: var(--jp-code-padding);
|
||
vertical-align: baseline;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.jp-Stdin-input {
|
||
font-family: var(--jp-code-font-family);
|
||
font-size: inherit;
|
||
color: inherit;
|
||
background-color: inherit;
|
||
width: 42%;
|
||
min-width: 200px;
|
||
|
||
/* make sure input baseline aligns with prompt */
|
||
vertical-align: baseline;
|
||
|
||
/* padding + margin = 0.5em between prompt and cursor */
|
||
padding: 0 0.25em;
|
||
margin: 0 0.25em;
|
||
flex: 0 0 70%;
|
||
}
|
||
|
||
.jp-Stdin-input::placeholder {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Stdin-input:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.jp-Stdin-input:focus::placeholder {
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Output Area View
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea {
|
||
height: 100%;
|
||
display: block;
|
||
}
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea-output:only-child {
|
||
height: 100%;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
@media print {
|
||
.jp-OutputArea-child {
|
||
break-inside: avoid-page;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-OutputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
|
||
.jp-OutputArea-child .jp-OutputArea-output {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
}
|
||
|
||
/* Trimmed outputs warning */
|
||
.jp-TrimmedOutputs > a {
|
||
margin: 10px;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-TrimmedOutputs > a:hover {
|
||
text-decoration: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Table of Contents
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-toc-active-width: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents {
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholder {
|
||
text-align: center;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent {
|
||
color: var(--jp-content-font-color2);
|
||
padding: 8px;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent > h3 {
|
||
margin-bottom: var(--jp-content-heading-margin-bottom);
|
||
}
|
||
|
||
.jp-TableOfContents .jp-SidePanel-content {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-TableOfContents-tree {
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents ol {
|
||
list-style-type: none;
|
||
}
|
||
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.jp-TableOfContents li > ol {
|
||
/* Align left border with triangle icon center */
|
||
padding-left: 11px;
|
||
}
|
||
|
||
.jp-TableOfContents-content {
|
||
/* left margin for the active heading indicator */
|
||
margin: 0 0 0 var(--jp-private-toc-active-width);
|
||
padding: 0;
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-tocItem {
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-tocItem-heading {
|
||
display: flex;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-heading:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-tocItem-content {
|
||
display: block;
|
||
padding: 4px 0;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
.jp-tocItem-collapser {
|
||
height: 20px;
|
||
margin: 2px 2px 0;
|
||
padding: 0;
|
||
background: none;
|
||
border: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-collapser:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
/* Active heading indicator */
|
||
|
||
.jp-tocItem-heading::before {
|
||
content: ' ';
|
||
background: transparent;
|
||
width: var(--jp-private-toc-active-width);
|
||
height: 24px;
|
||
position: absolute;
|
||
left: 0;
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-tocItem-heading.jp-tocItem-active::before {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-tocItem-heading:hover.jp-tocItem-active::before {
|
||
background: var(--jp-brand-color0);
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Collapser {
|
||
flex: 0 0 var(--jp-cell-collapser-width);
|
||
padding: 0;
|
||
margin: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
border-radius: var(--jp-border-radius);
|
||
opacity: 1;
|
||
}
|
||
|
||
.jp-Collapser-child {
|
||
display: block;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
|
||
/* height: 100% doesn't work because the height of its parent is computed from content */
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Hiding collapsers in print mode.
|
||
|
||
Note: input and output wrappers have "display: block" propery in print mode.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Header/Footer
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Hidden by zero height by default */
|
||
.jp-CellHeader,
|
||
.jp-CellFooter {
|
||
height: 0;
|
||
width: 100%;
|
||
padding: 0;
|
||
margin: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Input
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* All input areas */
|
||
.jp-InputArea {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
display: table-cell;
|
||
overflow: hidden;
|
||
vertical-align: top;
|
||
|
||
/* This is the non-active, default styling */
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
width: var(--jp-cell-prompt-width);
|
||
color: var(--jp-cell-inprompt-font-color);
|
||
font-family: var(--jp-cell-prompt-font-family);
|
||
padding: var(--jp-code-padding);
|
||
letter-spacing: var(--jp-cell-prompt-letter-spacing);
|
||
opacity: var(--jp-cell-prompt-opacity);
|
||
line-height: var(--jp-code-line-height);
|
||
font-size: var(--jp-code-font-size);
|
||
border: var(--jp-border-width) solid transparent;
|
||
|
||
/* Right align prompt text, don't wrap to handle large prompt numbers */
|
||
text-align: right;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
|
||
/* Disable text selection */
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-InputArea-editor {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Placeholder {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Placeholder-prompt {
|
||
display: table-cell;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-Placeholder-content {
|
||
display: table-cell;
|
||
padding: 4px 6px;
|
||
border: 1px solid transparent;
|
||
border-radius: 0;
|
||
background: none;
|
||
box-sizing: border-box;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Placeholder-contentContainer {
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Placeholder-content:hover,
|
||
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
|
||
border-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-Placeholder-content .jp-MoreHorizIcon {
|
||
width: 32px;
|
||
height: 16px;
|
||
border: 1px solid transparent;
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-Placeholder-content .jp-MoreHorizIcon:hover {
|
||
border: 1px solid var(--jp-border-color1);
|
||
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
|
||
background-color: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-PlaceholderText {
|
||
white-space: nowrap;
|
||
overflow-x: hidden;
|
||
color: var(--jp-inverse-layout-color3);
|
||
font-family: var(--jp-code-font-family);
|
||
}
|
||
|
||
.jp-InputPlaceholder > .jp-Placeholder-content {
|
||
border-color: var(--jp-cell-editor-border-color);
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Private CSS variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-cell-scrolling-output-offset: 5px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Cell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell {
|
||
padding: var(--jp-cell-padding);
|
||
margin: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Common input/output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: flex;
|
||
flex-direction: row;
|
||
padding: 0;
|
||
margin: 0;
|
||
|
||
/* Added to reveal the box-shadow on the input and output collapsers. */
|
||
overflow: visible;
|
||
}
|
||
|
||
/* Only input/output areas inside cells */
|
||
.jp-Cell-inputArea,
|
||
.jp-Cell-outputArea {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Collapser
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Make the output collapser disappear when there is not output, but do so
|
||
* in a manner that leaves it in the layout and preserves its width.
|
||
*/
|
||
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
|
||
border: none !important;
|
||
background: transparent !important;
|
||
}
|
||
|
||
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
|
||
min-height: var(--jp-cell-collapser-min-height);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Put a space between input and output when there IS output */
|
||
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
|
||
margin-top: 5px;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
|
||
overflow-y: auto;
|
||
max-height: 24em;
|
||
margin-left: var(--jp-private-cell-scrolling-output-offset);
|
||
resize: vertical;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
|
||
max-height: unset;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
|
||
content: ' ';
|
||
box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
|
||
width: 100%;
|
||
height: 100%;
|
||
position: sticky;
|
||
bottom: 0;
|
||
top: 0;
|
||
margin-top: -50%;
|
||
float: left;
|
||
display: block;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
|
||
padding-top: 6px;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
|
||
width: calc(
|
||
var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
|
||
);
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
|
||
left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CodeCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| MarkdownCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MarkdownOutput {
|
||
display: table-cell;
|
||
width: 100%;
|
||
margin-top: 0;
|
||
margin-bottom: 0;
|
||
padding-left: var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-MarkdownOutput.jp-RenderedHTMLCommon {
|
||
overflow: auto;
|
||
}
|
||
|
||
/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
min-height: var(--jp-cell-collapser-min-height);
|
||
font-size: var(--jp-code-font-size);
|
||
position: absolute;
|
||
background-color: transparent;
|
||
background-size: 25px;
|
||
background-repeat: no-repeat;
|
||
background-position-x: center;
|
||
background-position-y: top;
|
||
background-image: var(--jp-icon-caret-down);
|
||
right: 0;
|
||
top: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
.jp-collapseHeadingButton.jp-mod-collapsed {
|
||
background-image: var(--jp-icon-caret-right);
|
||
}
|
||
|
||
/*
|
||
set the container font size to match that of content
|
||
so that the nested collapse buttons have the right size
|
||
*/
|
||
.jp-MarkdownCell .jp-InputPrompt {
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
/*
|
||
Align collapseHeadingButton with cell top header
|
||
The font sizes are identical to the ones in packages/rendermime/style/base.css
|
||
*/
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
|
||
font-size: var(--jp-content-font-size5);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size5));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
|
||
font-size: var(--jp-content-font-size4);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size4));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
|
||
font-size: var(--jp-content-font-size3);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size3));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
|
||
font-size: var(--jp-content-font-size2);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size2));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
|
||
font-size: var(--jp-content-font-size1);
|
||
background-position-y: top;
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
|
||
font-size: var(--jp-content-font-size0);
|
||
background-position-y: top;
|
||
}
|
||
|
||
/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton
|
||
:is(.jp-MarkdownCell:hover, .jp-mod-active)
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
}
|
||
|
||
/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
|
||
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
|
||
margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
|
||
margin-top: var(--jp-code-padding);
|
||
border: 1px solid var(--jp-border-color2);
|
||
background-color: var(--jp-border-color3) !important;
|
||
color: var(--jp-content-font-color0) !important;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
|
||
background-color: var(--jp-border-color2) !important;
|
||
}
|
||
|
||
.jp-showHiddenCellsButton {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Using block instead of flex to allow the use of the break-inside CSS property for
|
||
cell outputs.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-notebook-toolbar-padding: 2px 5px 2px 2px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-NotebookPanel-toolbar {
|
||
padding: var(--jp-notebook-toolbar-padding);
|
||
|
||
/* disable paint containment from lumino 2.0 default strict CSS containment */
|
||
contain: style size !important;
|
||
}
|
||
|
||
.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
|
||
border: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.jp-Notebook-toolbarCellTypeDropdown select {
|
||
height: 24px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: 14px;
|
||
border-radius: 0;
|
||
display: block;
|
||
}
|
||
|
||
.jp-Notebook-toolbarCellTypeDropdown span {
|
||
top: 5px !important;
|
||
}
|
||
|
||
.jp-Toolbar-responsive-popup {
|
||
position: absolute;
|
||
height: fit-content;
|
||
display: flex;
|
||
flex-direction: row;
|
||
flex-wrap: wrap;
|
||
justify-content: flex-end;
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
background: var(--jp-toolbar-background);
|
||
min-height: var(--jp-toolbar-micro-height);
|
||
padding: var(--jp-notebook-toolbar-padding);
|
||
z-index: 1;
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
.jp-Toolbar > .jp-Toolbar-responsive-opener {
|
||
margin-left: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Notebook-ExecutionIndicator {
|
||
position: relative;
|
||
display: inline-block;
|
||
height: 100%;
|
||
z-index: 9997;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: hidden;
|
||
height: auto;
|
||
width: max-content;
|
||
width: -moz-max-content;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
text-align: justify;
|
||
border-radius: 6px;
|
||
padding: 0 5px;
|
||
position: fixed;
|
||
display: table;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.up {
|
||
transform: translateX(-50%) translateY(-100%) translateY(-32px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.down {
|
||
transform: translateX(calc(-100% + 16px)) translateY(5px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: visible;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator span {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
color: var(--jp-ui-font-color1);
|
||
line-height: 24px;
|
||
display: block;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-progress-bar {
|
||
display: flex;
|
||
justify-content: center;
|
||
height: 100%;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*
|
||
* Execution indicator
|
||
*/
|
||
.jp-tocItem-content::after {
|
||
content: '';
|
||
|
||
/* Must be identical to form a circle */
|
||
width: 12px;
|
||
height: 12px;
|
||
background: none;
|
||
border: none;
|
||
position: absolute;
|
||
right: 0;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background: none;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='1']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background-color: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0'],
|
||
.jp-tocItem-content[data-running='1'] {
|
||
margin-right: 12px;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Notebook-footer {
|
||
height: 27px;
|
||
margin-left: calc(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding)
|
||
);
|
||
width: calc(
|
||
100% -
|
||
(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding) + var(--jp-cell-padding)
|
||
)
|
||
);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
color: var(--jp-ui-font-color3);
|
||
margin-top: 6px;
|
||
background: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
/* For devices that support hovering, hide footer until hover */
|
||
@media (hover: hover) {
|
||
.jp-Notebook-footer {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus,
|
||
.jp-Notebook-footer:hover {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Imports
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CSS variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-side-by-side-output-size: 1fr;
|
||
--jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
|
||
--jp-private-notebook-dragImage-width: 304px;
|
||
--jp-private-notebook-dragImage-height: 36px;
|
||
--jp-private-notebook-selected-color: var(--md-blue-400);
|
||
--jp-private-notebook-active-color: var(--md-green-400);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Notebook
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* stylelint-disable selector-max-class */
|
||
|
||
.jp-NotebookPanel {
|
||
display: block;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-NotebookPanel.jp-Document {
|
||
min-width: 240px;
|
||
min-height: 120px;
|
||
}
|
||
|
||
.jp-Notebook {
|
||
padding: var(--jp-notebook-padding);
|
||
outline: none;
|
||
overflow: auto;
|
||
background: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-scrollPastEnd::after {
|
||
display: block;
|
||
content: '';
|
||
min-height: var(--jp-notebook-scroll-padding);
|
||
}
|
||
|
||
.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
|
||
contain: strict;
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell {
|
||
overflow: visible;
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell .jp-InputPrompt {
|
||
cursor: move;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Notebook state related styling
|
||
|
|
||
| The notebook and cells each have states, here are the possibilities:
|
||
|
|
||
| - Notebook
|
||
| - Command
|
||
| - Edit
|
||
| - Cell
|
||
| - None
|
||
| - Active (only one can be active)
|
||
| - Selected (the cells actions are applied to)
|
||
| - Multiselected (when multiple selected, the cursor)
|
||
| - No outputs
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Command or edit modes */
|
||
|
||
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
|
||
opacity: var(--jp-cell-prompt-not-active-opacity);
|
||
color: var(--jp-cell-prompt-not-active-font-color);
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
|
||
opacity: var(--jp-cell-prompt-not-active-opacity);
|
||
color: var(--jp-cell-prompt-not-active-font-color);
|
||
}
|
||
|
||
/* cell is active */
|
||
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
/* cell is dirty */
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
|
||
color: var(--jp-warn-color1);
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
|
||
color: var(--jp-warn-color1);
|
||
content: '•';
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
|
||
background: var(--jp-warn-color1);
|
||
}
|
||
|
||
/* collapser is hovered */
|
||
.jp-Notebook .jp-Cell .jp-Collapser:hover {
|
||
box-shadow: var(--jp-elevation-z2);
|
||
background: var(--jp-brand-color1);
|
||
opacity: var(--jp-cell-collapser-not-active-hover-opacity);
|
||
}
|
||
|
||
/* cell is active and collapser is hovered */
|
||
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
|
||
background: var(--jp-brand-color0);
|
||
opacity: 1;
|
||
}
|
||
|
||
/* Command mode */
|
||
|
||
.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
|
||
background: var(--jp-notebook-multiselected-color);
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-commandMode
|
||
.jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
|
||
background: transparent;
|
||
}
|
||
|
||
/* Edit mode */
|
||
|
||
.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
|
||
box-shadow: var(--jp-input-box-shadow);
|
||
background-color: var(--jp-cell-editor-active-background);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Notebook drag and drop
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Notebook-cell.jp-mod-dropSource {
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.jp-Notebook-cell.jp-mod-dropTarget,
|
||
.jp-Notebook.jp-mod-commandMode
|
||
.jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
|
||
border-top-color: var(--jp-private-notebook-selected-color);
|
||
border-top-style: solid;
|
||
border-top-width: 2px;
|
||
}
|
||
|
||
.jp-dragImage {
|
||
display: block;
|
||
flex-direction: row;
|
||
width: var(--jp-private-notebook-dragImage-width);
|
||
height: var(--jp-private-notebook-dragImage-height);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
background: var(--jp-cell-editor-background);
|
||
overflow: visible;
|
||
}
|
||
|
||
.jp-dragImage-singlePrompt {
|
||
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
|
||
}
|
||
|
||
.jp-dragImage .jp-dragImage-content {
|
||
flex: 1 1 auto;
|
||
z-index: 2;
|
||
font-size: var(--jp-code-font-size);
|
||
font-family: var(--jp-code-font-family);
|
||
line-height: var(--jp-code-line-height);
|
||
padding: var(--jp-code-padding);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
background: var(--jp-cell-editor-background-color);
|
||
color: var(--jp-content-font-color3);
|
||
text-align: left;
|
||
margin: 4px 4px 4px 0;
|
||
}
|
||
|
||
.jp-dragImage .jp-dragImage-prompt {
|
||
flex: 0 0 auto;
|
||
min-width: 36px;
|
||
color: var(--jp-cell-inprompt-font-color);
|
||
padding: var(--jp-code-padding);
|
||
padding-left: 12px;
|
||
font-family: var(--jp-cell-prompt-font-family);
|
||
letter-spacing: var(--jp-cell-prompt-letter-spacing);
|
||
line-height: 1.9;
|
||
font-size: var(--jp-code-font-size);
|
||
border: var(--jp-border-width) solid transparent;
|
||
}
|
||
|
||
.jp-dragImage-multipleBack {
|
||
z-index: -1;
|
||
position: absolute;
|
||
height: 32px;
|
||
width: 300px;
|
||
top: 8px;
|
||
left: 8px;
|
||
background: var(--jp-layout-color2);
|
||
border: var(--jp-border-width) solid var(--jp-input-border-color);
|
||
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Cell toolbar
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-NotebookTools {
|
||
display: block;
|
||
min-width: var(--jp-sidebar-min-width);
|
||
color: var(--jp-ui-font-color1);
|
||
background: var(--jp-layout-color1);
|
||
|
||
/* This is needed so that all font sizing of children done in ems is
|
||
* relative to this base size */
|
||
font-size: var(--jp-ui-font-size1);
|
||
overflow: auto;
|
||
}
|
||
|
||
.jp-ActiveCellTool {
|
||
padding: 12px 0;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-ActiveCellTool-Content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
|
||
background: var(--jp-cell-editor-background);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
min-height: 29px;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-InputPrompt {
|
||
min-width: calc(var(--jp-cell-prompt-width) * 0.75);
|
||
}
|
||
|
||
.jp-ActiveCellTool-CellContent > pre {
|
||
padding: 5px 4px;
|
||
margin: 0;
|
||
white-space: normal;
|
||
}
|
||
|
||
.jp-MetadataEditorTool {
|
||
flex-direction: column;
|
||
padding: 12px 0;
|
||
}
|
||
|
||
.jp-RankedPanel > :not(:first-child) {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.jp-KeySelector select.jp-mod-styled {
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color0);
|
||
border: var(--jp-border-width) solid var(--jp-border-color1);
|
||
}
|
||
|
||
.jp-KeySelector label,
|
||
.jp-MetadataEditorTool label,
|
||
.jp-NumberSetter label {
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.jp-NotebookTools .jp-select-wrapper {
|
||
margin-top: 4px;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-NumberSetter input {
|
||
width: 100%;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
.jp-NotebookTools .jp-Collapse {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Presentation Mode (.jp-mod-presentationMode)
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-mod-presentationMode .jp-Notebook {
|
||
--jp-content-font-size1: var(--jp-content-presentation-font-size1);
|
||
--jp-code-font-size: var(--jp-code-presentation-font-size);
|
||
}
|
||
|
||
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
|
||
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
|
||
flex: 0 0 110px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Side-by-side Mode (.jp-mod-sideBySide)
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
|
||
margin-top: 3em;
|
||
margin-bottom: 3em;
|
||
margin-left: 5%;
|
||
margin-right: 5%;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-output-size)
|
||
);
|
||
grid-template-rows: auto minmax(0, 1fr) auto;
|
||
grid-template-areas:
|
||
'header header header'
|
||
'input handle output'
|
||
'footer footer footer';
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-resized-cell)
|
||
);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
|
||
grid-area: header;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
|
||
grid-area: input;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
|
||
/* overwrite the default margin (no vertical separation needed in side by side move */
|
||
margin-top: 0;
|
||
grid-area: output;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
|
||
grid-area: footer;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
|
||
grid-area: handle;
|
||
user-select: none;
|
||
display: block;
|
||
height: 100%;
|
||
cursor: ew-resize;
|
||
padding: 0 var(--jp-cell-padding);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
|
||
content: '';
|
||
display: block;
|
||
background: var(--jp-border-color2);
|
||
height: 100%;
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook
|
||
.jp-CodeCell.jp-mod-resizedCell
|
||
.jp-CellResizeHandle::after {
|
||
background: var(--jp-border-color0);
|
||
}
|
||
|
||
.jp-CellResizeHandle {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-Placeholder {
|
||
padding-left: 55px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper {
|
||
background: #fff;
|
||
border: 1px solid;
|
||
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
|
||
border-radius: 4px;
|
||
-webkit-border-radius: 4px;
|
||
margin: 10px 15px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-inner {
|
||
padding: 15px;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body {
|
||
background-repeat: repeat;
|
||
background-size: 50% auto;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body div {
|
||
background: #f6f7f8;
|
||
background-image: -webkit-linear-gradient(
|
||
left,
|
||
#f6f7f8 0%,
|
||
#edeef1 20%,
|
||
#f6f7f8 40%,
|
||
#f6f7f8 100%
|
||
);
|
||
background-repeat: no-repeat;
|
||
background-size: 800px 104px;
|
||
height: 104px;
|
||
position: absolute;
|
||
right: 15px;
|
||
left: 15px;
|
||
top: 15px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h1 {
|
||
top: 20px;
|
||
height: 20px;
|
||
left: 15px;
|
||
width: 150px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h2 {
|
||
left: 15px;
|
||
top: 50px;
|
||
height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1,
|
||
div.jp-Cell-Placeholder-content-2,
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
left: 15px;
|
||
right: 15px;
|
||
height: 10px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1 {
|
||
top: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-2 {
|
||
top: 120px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
top: 140px;
|
||
}
|
||
|
||
</style>
|
||
<style type="text/css">
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
The following CSS variables define the main, public API for styling JupyterLab.
|
||
These variables should be used by all plugins wherever possible. In other
|
||
words, plugins should not define custom colors, sizes, etc unless absolutely
|
||
necessary. This enables users to change the visual theme of JupyterLab
|
||
by changing these variables.
|
||
|
||
Many variables appear in an ordered sequence (0,1,2,3). These sequences
|
||
are designed to work well together, so for example, `--jp-border-color1` should
|
||
be used with `--jp-layout-color1`. The numbers have the following meanings:
|
||
|
||
* 0: super-primary, reserved for special emphasis
|
||
* 1: primary, most important under normal situations
|
||
* 2: secondary, next most important under normal situations
|
||
* 3: tertiary, next most important under normal situations
|
||
|
||
Throughout JupyterLab, we are mostly following principles from Google's
|
||
Material Design when selecting colors. We are not, however, following
|
||
all of MD as it is not optimized for dense, information rich UIs.
|
||
*/
|
||
|
||
:root {
|
||
/* Elevation
|
||
*
|
||
* We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
|
||
*
|
||
* https://github.com/material-components/material-components-web
|
||
* https://material-components-web.appspot.com/elevation.html
|
||
*/
|
||
|
||
--jp-shadow-base-lightness: 0;
|
||
--jp-shadow-umbra-color: rgba(
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
0.2
|
||
);
|
||
--jp-shadow-penumbra-color: rgba(
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
0.14
|
||
);
|
||
--jp-shadow-ambient-color: rgba(
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
var(--jp-shadow-base-lightness),
|
||
0.12
|
||
);
|
||
--jp-elevation-z0: none;
|
||
--jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
|
||
0 1px 1px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 3px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
|
||
0 2px 2px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 5px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
|
||
0 4px 5px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 10px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
|
||
0 6px 10px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 18px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
|
||
0 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||
0 3px 14px 2px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
|
||
0 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||
0 5px 22px 4px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
|
||
0 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||
0 6px 30px 5px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
|
||
0 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||
0 8px 38px 7px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
|
||
0 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||
0 9px 46px 8px var(--jp-shadow-ambient-color);
|
||
|
||
/* Borders
|
||
*
|
||
* The following variables, specify the visual styling of borders in JupyterLab.
|
||
*/
|
||
|
||
--jp-border-width: 1px;
|
||
--jp-border-color0: var(--md-grey-400);
|
||
--jp-border-color1: var(--md-grey-400);
|
||
--jp-border-color2: var(--md-grey-300);
|
||
--jp-border-color3: var(--md-grey-200);
|
||
--jp-inverse-border-color: var(--md-grey-600);
|
||
--jp-border-radius: 2px;
|
||
|
||
/* UI Fonts
|
||
*
|
||
* The UI font CSS variables are used for the typography all of the JupyterLab
|
||
* user interface elements that are not directly user generated content.
|
||
*
|
||
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
|
||
* is applied to a parent element. When children elements, such as headings, are sized
|
||
* in em all things will be computed relative to that body size.
|
||
*/
|
||
|
||
--jp-ui-font-scale-factor: 1.2;
|
||
--jp-ui-font-size0: 0.83333em;
|
||
--jp-ui-font-size1: 13px; /* Base font size */
|
||
--jp-ui-font-size2: 1.2em;
|
||
--jp-ui-font-size3: 1.44em;
|
||
--jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
|
||
helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
||
'Segoe UI Symbol';
|
||
|
||
/*
|
||
* Use these font colors against the corresponding main layout colors.
|
||
* In a light theme, these go from dark to light.
|
||
*/
|
||
|
||
/* Defaults use Material Design specification */
|
||
--jp-ui-font-color0: rgba(0, 0, 0, 1);
|
||
--jp-ui-font-color1: rgba(0, 0, 0, 0.87);
|
||
--jp-ui-font-color2: rgba(0, 0, 0, 0.54);
|
||
--jp-ui-font-color3: rgba(0, 0, 0, 0.38);
|
||
|
||
/*
|
||
* Use these against the brand/accent/warn/error colors.
|
||
* These will typically go from light to darker, in both a dark and light theme.
|
||
*/
|
||
|
||
--jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
|
||
--jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
|
||
--jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
|
||
--jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
|
||
|
||
/* Content Fonts
|
||
*
|
||
* Content font variables are used for typography of user generated content.
|
||
*
|
||
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
|
||
* is applied to a parent element. When children elements, such as headings, are sized
|
||
* in em all things will be computed relative to that body size.
|
||
*/
|
||
|
||
--jp-content-line-height: 1.6;
|
||
--jp-content-font-scale-factor: 1.2;
|
||
--jp-content-font-size0: 0.83333em;
|
||
--jp-content-font-size1: 14px; /* Base font size */
|
||
--jp-content-font-size2: 1.2em;
|
||
--jp-content-font-size3: 1.44em;
|
||
--jp-content-font-size4: 1.728em;
|
||
--jp-content-font-size5: 2.0736em;
|
||
|
||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||
--jp-content-presentation-font-size1: 17px;
|
||
--jp-content-heading-line-height: 1;
|
||
--jp-content-heading-margin-top: 1.2em;
|
||
--jp-content-heading-margin-bottom: 0.8em;
|
||
--jp-content-heading-font-weight: 500;
|
||
|
||
/* Defaults use Material Design specification */
|
||
--jp-content-font-color0: rgba(0, 0, 0, 1);
|
||
--jp-content-font-color1: rgba(0, 0, 0, 0.87);
|
||
--jp-content-font-color2: rgba(0, 0, 0, 0.54);
|
||
--jp-content-font-color3: rgba(0, 0, 0, 0.38);
|
||
--jp-content-link-color: var(--md-blue-900);
|
||
--jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
|
||
'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
|
||
'Segoe UI Emoji', 'Segoe UI Symbol';
|
||
|
||
/*
|
||
* Code Fonts
|
||
*
|
||
* Code font variables are used for typography of code and other monospaces content.
|
||
*/
|
||
|
||
--jp-code-font-size: 13px;
|
||
--jp-code-line-height: 1.3077; /* 17px for 13px base */
|
||
--jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
|
||
--jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
|
||
--jp-code-font-family: var(--jp-code-font-family-default);
|
||
|
||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||
--jp-code-presentation-font-size: 16px;
|
||
|
||
/* may need to tweak cursor width if you change font size */
|
||
--jp-code-cursor-width0: 1.4px;
|
||
--jp-code-cursor-width1: 2px;
|
||
--jp-code-cursor-width2: 4px;
|
||
|
||
/* Layout
|
||
*
|
||
* The following are the main layout colors use in JupyterLab. In a light
|
||
* theme these would go from light to dark.
|
||
*/
|
||
|
||
--jp-layout-color0: white;
|
||
--jp-layout-color1: white;
|
||
--jp-layout-color2: var(--md-grey-200);
|
||
--jp-layout-color3: var(--md-grey-400);
|
||
--jp-layout-color4: var(--md-grey-600);
|
||
|
||
/* Inverse Layout
|
||
*
|
||
* The following are the inverse layout colors use in JupyterLab. In a light
|
||
* theme these would go from dark to light.
|
||
*/
|
||
|
||
--jp-inverse-layout-color0: #111;
|
||
--jp-inverse-layout-color1: var(--md-grey-900);
|
||
--jp-inverse-layout-color2: var(--md-grey-800);
|
||
--jp-inverse-layout-color3: var(--md-grey-700);
|
||
--jp-inverse-layout-color4: var(--md-grey-600);
|
||
|
||
/* Brand/accent */
|
||
|
||
--jp-brand-color0: var(--md-blue-900);
|
||
--jp-brand-color1: var(--md-blue-700);
|
||
--jp-brand-color2: var(--md-blue-300);
|
||
--jp-brand-color3: var(--md-blue-100);
|
||
--jp-brand-color4: var(--md-blue-50);
|
||
--jp-accent-color0: var(--md-green-900);
|
||
--jp-accent-color1: var(--md-green-700);
|
||
--jp-accent-color2: var(--md-green-300);
|
||
--jp-accent-color3: var(--md-green-100);
|
||
|
||
/* State colors (warn, error, success, info) */
|
||
|
||
--jp-warn-color0: var(--md-orange-900);
|
||
--jp-warn-color1: var(--md-orange-700);
|
||
--jp-warn-color2: var(--md-orange-300);
|
||
--jp-warn-color3: var(--md-orange-100);
|
||
--jp-error-color0: var(--md-red-900);
|
||
--jp-error-color1: var(--md-red-700);
|
||
--jp-error-color2: var(--md-red-300);
|
||
--jp-error-color3: var(--md-red-100);
|
||
--jp-success-color0: var(--md-green-900);
|
||
--jp-success-color1: var(--md-green-700);
|
||
--jp-success-color2: var(--md-green-300);
|
||
--jp-success-color3: var(--md-green-100);
|
||
--jp-info-color0: var(--md-cyan-900);
|
||
--jp-info-color1: var(--md-cyan-700);
|
||
--jp-info-color2: var(--md-cyan-300);
|
||
--jp-info-color3: var(--md-cyan-100);
|
||
|
||
/* Cell specific styles */
|
||
|
||
--jp-cell-padding: 5px;
|
||
--jp-cell-collapser-width: 8px;
|
||
--jp-cell-collapser-min-height: 20px;
|
||
--jp-cell-collapser-not-active-hover-opacity: 0.6;
|
||
--jp-cell-editor-background: var(--md-grey-100);
|
||
--jp-cell-editor-border-color: var(--md-grey-300);
|
||
--jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||
--jp-cell-editor-active-background: var(--jp-layout-color0);
|
||
--jp-cell-editor-active-border-color: var(--jp-brand-color1);
|
||
--jp-cell-prompt-width: 64px;
|
||
--jp-cell-prompt-font-family: var(--jp-code-font-family-default);
|
||
--jp-cell-prompt-letter-spacing: 0;
|
||
--jp-cell-prompt-opacity: 1;
|
||
--jp-cell-prompt-not-active-opacity: 0.5;
|
||
--jp-cell-prompt-not-active-font-color: var(--md-grey-700);
|
||
|
||
/* A custom blend of MD grey and blue 600
|
||
* See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
|
||
--jp-cell-inprompt-font-color: #307fc1;
|
||
|
||
/* A custom blend of MD grey and orange 600
|
||
* https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
|
||
--jp-cell-outprompt-font-color: #bf5b3d;
|
||
|
||
/* Notebook specific styles */
|
||
|
||
--jp-notebook-padding: 10px;
|
||
--jp-notebook-select-background: var(--jp-layout-color1);
|
||
--jp-notebook-multiselected-color: var(--md-blue-50);
|
||
|
||
/* The scroll padding is calculated to fill enough space at the bottom of the
|
||
notebook to show one single-line cell (with appropriate padding) at the top
|
||
when the notebook is scrolled all the way to the bottom. We also subtract one
|
||
pixel so that no scrollbar appears if we have just one single-line cell in the
|
||
notebook. This padding is to enable a 'scroll past end' feature in a notebook.
|
||
*/
|
||
--jp-notebook-scroll-padding: calc(
|
||
100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
|
||
var(--jp-code-padding) - var(--jp-cell-padding) - 1px
|
||
);
|
||
|
||
/* Rendermime styles */
|
||
|
||
--jp-rendermime-error-background: #fdd;
|
||
--jp-rendermime-table-row-background: var(--md-grey-100);
|
||
--jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
|
||
|
||
/* Dialog specific styles */
|
||
|
||
--jp-dialog-background: rgba(0, 0, 0, 0.25);
|
||
|
||
/* Console specific styles */
|
||
|
||
--jp-console-padding: 10px;
|
||
|
||
/* Toolbar specific styles */
|
||
|
||
--jp-toolbar-border-color: var(--jp-border-color1);
|
||
--jp-toolbar-micro-height: 8px;
|
||
--jp-toolbar-background: var(--jp-layout-color1);
|
||
--jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
|
||
--jp-toolbar-header-margin: 4px 4px 0 4px;
|
||
--jp-toolbar-active-background: var(--md-grey-300);
|
||
|
||
/* Statusbar specific styles */
|
||
|
||
--jp-statusbar-height: 24px;
|
||
|
||
/* Input field styles */
|
||
|
||
--jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||
--jp-input-active-background: var(--jp-layout-color1);
|
||
--jp-input-hover-background: var(--jp-layout-color1);
|
||
--jp-input-background: var(--md-grey-100);
|
||
--jp-input-border-color: var(--jp-inverse-border-color);
|
||
--jp-input-active-border-color: var(--jp-brand-color1);
|
||
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
|
||
|
||
/* General editor styles */
|
||
|
||
--jp-editor-selected-background: #d9d9d9;
|
||
--jp-editor-selected-focused-background: #d7d4f0;
|
||
--jp-editor-cursor-color: var(--jp-ui-font-color0);
|
||
|
||
/* Code mirror specific styles */
|
||
|
||
--jp-mirror-editor-keyword-color: #008000;
|
||
--jp-mirror-editor-atom-color: #88f;
|
||
--jp-mirror-editor-number-color: #080;
|
||
--jp-mirror-editor-def-color: #00f;
|
||
--jp-mirror-editor-variable-color: var(--md-grey-900);
|
||
--jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
|
||
--jp-mirror-editor-variable-3-color: #085;
|
||
--jp-mirror-editor-punctuation-color: #05a;
|
||
--jp-mirror-editor-property-color: #05a;
|
||
--jp-mirror-editor-operator-color: #a2f;
|
||
--jp-mirror-editor-comment-color: #408080;
|
||
--jp-mirror-editor-string-color: #ba2121;
|
||
--jp-mirror-editor-string-2-color: #708;
|
||
--jp-mirror-editor-meta-color: #a2f;
|
||
--jp-mirror-editor-qualifier-color: #555;
|
||
--jp-mirror-editor-builtin-color: #008000;
|
||
--jp-mirror-editor-bracket-color: #997;
|
||
--jp-mirror-editor-tag-color: #170;
|
||
--jp-mirror-editor-attribute-color: #00c;
|
||
--jp-mirror-editor-header-color: blue;
|
||
--jp-mirror-editor-quote-color: #090;
|
||
--jp-mirror-editor-link-color: #00c;
|
||
--jp-mirror-editor-error-color: #f00;
|
||
--jp-mirror-editor-hr-color: #999;
|
||
|
||
/*
|
||
RTC user specific colors.
|
||
These colors are used for the cursor, username in the editor,
|
||
and the icon of the user.
|
||
*/
|
||
|
||
--jp-collaborator-color1: #ffad8e;
|
||
--jp-collaborator-color2: #dac83d;
|
||
--jp-collaborator-color3: #72dd76;
|
||
--jp-collaborator-color4: #00e4d0;
|
||
--jp-collaborator-color5: #45d4ff;
|
||
--jp-collaborator-color6: #e2b1ff;
|
||
--jp-collaborator-color7: #ff9de6;
|
||
|
||
/* Vega extension styles */
|
||
|
||
--jp-vega-background: white;
|
||
|
||
/* Sidebar-related styles */
|
||
|
||
--jp-sidebar-min-width: 250px;
|
||
|
||
/* Search-related styles */
|
||
|
||
--jp-search-toggle-off-opacity: 0.5;
|
||
--jp-search-toggle-hover-opacity: 0.8;
|
||
--jp-search-toggle-on-opacity: 1;
|
||
--jp-search-selected-match-background-color: rgb(245, 200, 0);
|
||
--jp-search-selected-match-color: black;
|
||
--jp-search-unselected-match-background-color: var(
|
||
--jp-inverse-layout-color0
|
||
);
|
||
--jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
|
||
|
||
/* Icon colors that work well with light or dark backgrounds */
|
||
--jp-icon-contrast-color0: var(--md-purple-600);
|
||
--jp-icon-contrast-color1: var(--md-green-600);
|
||
--jp-icon-contrast-color2: var(--md-pink-600);
|
||
--jp-icon-contrast-color3: var(--md-blue-600);
|
||
|
||
/* Button colors */
|
||
--jp-accept-color-normal: var(--md-blue-700);
|
||
--jp-accept-color-hover: var(--md-blue-800);
|
||
--jp-accept-color-active: var(--md-blue-900);
|
||
--jp-warn-color-normal: var(--md-red-700);
|
||
--jp-warn-color-hover: var(--md-red-800);
|
||
--jp-warn-color-active: var(--md-red-900);
|
||
--jp-reject-color-normal: var(--md-grey-600);
|
||
--jp-reject-color-hover: var(--md-grey-700);
|
||
--jp-reject-color-active: var(--md-grey-800);
|
||
|
||
/* File or activity icons and switch semantic variables */
|
||
--jp-jupyter-icon-color: #f37626;
|
||
--jp-notebook-icon-color: #f37626;
|
||
--jp-json-icon-color: var(--md-orange-700);
|
||
--jp-console-icon-background-color: var(--md-blue-700);
|
||
--jp-console-icon-color: white;
|
||
--jp-terminal-icon-background-color: var(--md-grey-800);
|
||
--jp-terminal-icon-color: var(--md-grey-200);
|
||
--jp-text-editor-icon-color: var(--md-grey-700);
|
||
--jp-inspector-icon-color: var(--md-grey-700);
|
||
--jp-switch-color: var(--md-grey-400);
|
||
--jp-switch-true-position-color: var(--md-orange-900);
|
||
}
|
||
</style>
|
||
<style type="text/css">
|
||
/* Force rendering true colors when outputing to pdf */
|
||
* {
|
||
-webkit-print-color-adjust: exact;
|
||
}
|
||
|
||
/* Misc */
|
||
a.anchor-link {
|
||
display: none;
|
||
}
|
||
|
||
/* Input area styling */
|
||
.jp-InputArea {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.cm-editor.cm-s-jupyter .highlight pre {
|
||
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
|
||
padding: var(--jp-code-padding) 4px;
|
||
margin: 0;
|
||
|
||
font-family: inherit;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
color: inherit;
|
||
|
||
}
|
||
|
||
.jp-OutputArea-output pre {
|
||
line-height: inherit;
|
||
font-family: inherit;
|
||
}
|
||
|
||
.jp-RenderedText pre {
|
||
color: var(--jp-content-font-color1);
|
||
font-size: var(--jp-code-font-size);
|
||
}
|
||
|
||
/* Hiding the collapser by default */
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
|
||
@page {
|
||
margin: 0.5in; /* Margin for each printed piece of paper */
|
||
}
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
</style>
|
||
<!-- Load mathjax -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
|
||
<!-- MathJax configuration -->
|
||
<script type="text/x-mathjax-config">
|
||
init_mathjax = function() {
|
||
if (window.MathJax) {
|
||
// MathJax loaded
|
||
MathJax.Hub.Config({
|
||
TeX: {
|
||
equationNumbers: {
|
||
autoNumber: "AMS",
|
||
useLabelIds: true
|
||
}
|
||
},
|
||
tex2jax: {
|
||
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
|
||
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
|
||
processEscapes: true,
|
||
processEnvironments: true
|
||
},
|
||
displayAlign: 'center',
|
||
CommonHTML: {
|
||
linebreaks: {
|
||
automatic: true
|
||
}
|
||
}
|
||
});
|
||
|
||
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
|
||
}
|
||
}
|
||
init_mathjax();
|
||
</script>
|
||
<!-- End of mathjax configuration --><script type="module">
|
||
document.addEventListener("DOMContentLoaded", async () => {
|
||
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
|
||
// do not load mermaidjs if not needed
|
||
if (!diagrams.length) {
|
||
return;
|
||
}
|
||
const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.3.1/mermaid.esm.min.mjs")).default;
|
||
const parser = new DOMParser();
|
||
|
||
mermaid.initialize({
|
||
maxTextSize: 100000,
|
||
startOnLoad: false,
|
||
fontFamily: window
|
||
.getComputedStyle(document.body)
|
||
.getPropertyValue("--jp-ui-font-family"),
|
||
theme: document.querySelector("body[data-jp-theme-light='true']")
|
||
? "default"
|
||
: "dark",
|
||
});
|
||
|
||
let _nextMermaidId = 0;
|
||
|
||
function makeMermaidImage(svg) {
|
||
const img = document.createElement("img");
|
||
const doc = parser.parseFromString(svg, "image/svg+xml");
|
||
const svgEl = doc.querySelector("svg");
|
||
const { maxWidth } = svgEl?.style || {};
|
||
const firstTitle = doc.querySelector("title");
|
||
const firstDesc = doc.querySelector("desc");
|
||
|
||
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
|
||
if (maxWidth) {
|
||
img.width = parseInt(maxWidth);
|
||
}
|
||
if (firstTitle) {
|
||
img.setAttribute("alt", firstTitle.textContent);
|
||
}
|
||
if (firstDesc) {
|
||
const caption = document.createElement("figcaption");
|
||
caption.className = "sr-only";
|
||
caption.textContent = firstDesc.textContent;
|
||
return [img, caption];
|
||
}
|
||
return [img];
|
||
}
|
||
|
||
async function makeMermaidError(text) {
|
||
let errorMessage = "";
|
||
try {
|
||
await mermaid.parse(text);
|
||
} catch (err) {
|
||
errorMessage = `${err}`;
|
||
}
|
||
|
||
const result = document.createElement("details");
|
||
result.className = 'jp-RenderedMermaid-Details';
|
||
const summary = document.createElement("summary");
|
||
summary.className = 'jp-RenderedMermaid-Summary';
|
||
const pre = document.createElement("pre");
|
||
const code = document.createElement("code");
|
||
code.innerText = text;
|
||
pre.appendChild(code);
|
||
summary.appendChild(pre);
|
||
result.appendChild(summary);
|
||
|
||
const warning = document.createElement("pre");
|
||
warning.innerText = errorMessage;
|
||
result.appendChild(warning);
|
||
return [result];
|
||
}
|
||
|
||
async function renderOneMarmaid(src) {
|
||
const id = `jp-mermaid-${_nextMermaidId++}`;
|
||
const parent = src.parentNode;
|
||
let raw = src.textContent.trim();
|
||
const el = document.createElement("div");
|
||
el.style.visibility = "hidden";
|
||
document.body.appendChild(el);
|
||
let results = null;
|
||
let output = null;
|
||
try {
|
||
const { svg } = await mermaid.render(id, raw, el);
|
||
results = makeMermaidImage(svg);
|
||
output = document.createElement("figure");
|
||
results.map(output.appendChild, output);
|
||
} catch (err) {
|
||
parent.classList.add("jp-mod-warning");
|
||
results = await makeMermaidError(raw);
|
||
output = results[0];
|
||
} finally {
|
||
el.remove();
|
||
}
|
||
parent.classList.add("jp-RenderedMermaid");
|
||
parent.appendChild(output);
|
||
}
|
||
|
||
void Promise.all([...diagrams].map(renderOneMarmaid));
|
||
});
|
||
</script>
|
||
<style>
|
||
.jp-Mermaid:not(.jp-RenderedMermaid) {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid {
|
||
overflow: auto;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-RenderedMermaid.jp-mod-warning {
|
||
width: auto;
|
||
padding: 0.5em;
|
||
margin-top: 0.5em;
|
||
border: var(--jp-border-width) solid var(--jp-warn-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
.jp-RenderedMermaid figure {
|
||
margin: 0;
|
||
overflow: auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid img {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Details > pre {
|
||
margin-top: 1em;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary {
|
||
color: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary > pre {
|
||
display: inline-block;
|
||
white-space: normal;
|
||
}
|
||
</style>
|
||
<!-- End of mermaid configuration --></head>
|
||
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
|
||
<main>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=46d0dd15">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<img alt="No description has been provided for this image" src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/VU_logo.png/800px-VU_logo.png?20161029201021" width="350"/>
|
||
<h3 id="Programming-large-scale-parallel-systems">Programming large-scale parallel systems<a class="anchor-link" href="#Programming-large-scale-parallel-systems">¶</a></h3><h1 id="Gaussian-elimination">Gaussian elimination<a class="anchor-link" href="#Gaussian-elimination">¶</a></h1>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ff0fbd76">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Contents">Contents<a class="anchor-link" href="#Contents">¶</a></h2><p>In this notebook, we will learn</p>
|
||
<ul>
|
||
<li>How to parallelize Gaussian elimination</li>
|
||
<li>How to fix static load imbalance</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=8dcee319">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Gaussian-elimination">Gaussian elimination<a class="anchor-link" href="#Gaussian-elimination">¶</a></h2><p>System of linear algebraic equations</p>
|
||
<p>$$
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 \\
|
||
1 & 2 & -1 \\
|
||
3 & 11 & 5 \\
|
||
\end{matrix}
|
||
\right]
|
||
\left[
|
||
\begin{matrix}
|
||
x \\
|
||
y \\
|
||
z \\
|
||
\end{matrix}
|
||
\right]
|
||
=
|
||
\left[
|
||
\begin{matrix}
|
||
9 \\
|
||
1 \\
|
||
35 \\
|
||
\end{matrix}
|
||
\right]
|
||
$$</p>
|
||
<p>Elimination steps</p>
|
||
<p>$$
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 & 9 \\
|
||
1 & 2 & -1 & 1 \\
|
||
3 & 11 & 5 & 35 \\
|
||
\end{matrix}
|
||
\right]
|
||
\rightarrow
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 & 9 \\
|
||
0 & -1 & -2 & -8 \\
|
||
0 & 2 & 2 & 8 \\
|
||
\end{matrix}
|
||
\right]
|
||
\rightarrow
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 & 9 \\
|
||
0 & 1 & 2 & 8 \\
|
||
0 & 2 & 2 & 8 \\
|
||
\end{matrix}
|
||
\right]
|
||
\rightarrow
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 & 9 \\
|
||
0 & 1 & 2 & 8 \\
|
||
0 & 0 & -2 & -8 \\
|
||
\end{matrix}
|
||
\right]
|
||
\rightarrow
|
||
\left[
|
||
\begin{matrix}
|
||
1 & 3 & 1 & 9 \\
|
||
0 & 1 & 2 & 8 \\
|
||
0 & 0 & 1 & 4 \\
|
||
\end{matrix}
|
||
\right]
|
||
$$</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=94c10106">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Serial-implementation">Serial implementation<a class="anchor-link" href="#Serial-implementation">¶</a></h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=e4070214">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-julia"><pre><span></span><span class="k">function</span><span class="w"> </span><span class="n">gaussian_elimination!</span><span class="p">(</span><span class="n">B</span><span class="p">)</span>
|
||
<span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">size</span><span class="p">(</span><span class="n">B</span><span class="p">)</span>
|
||
<span class="w"> </span><span class="nd">@inbounds</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">:</span><span class="n">n</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">m</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">t</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">t</span><span class="p">]</span><span class="o">/</span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">k</span><span class="p">]</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">n</span><span class="w"> </span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">m</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="o">*</span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">j</span><span class="p">]</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">B</span>
|
||
<span class="k">end</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=eb30df0d">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-julia"><pre><span></span><span class="n">A</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">Float64</span><span class="p">[</span><span class="mi">1</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="mi">11</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span>
|
||
<span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kt">Float64</span><span class="p">[</span><span class="mi">9</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">35</span><span class="p">]</span>
|
||
<span class="n">B</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="n">A</span><span class="w"> </span><span class="n">b</span><span class="p">]</span>
|
||
<span class="n">gaussian_elimination!</span><span class="p">(</span><span class="n">B</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=39f2e8ef">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Parallelization">Parallelization<a class="anchor-link" href="#Parallelization">¶</a></h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=1b1a6469">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Where-can-we-extract-parallelism?">Where can we extract parallelism?<a class="anchor-link" href="#Where-can-we-extract-parallelism?">¶</a></h3><div class="highlight"><pre><span></span><span class="n">n</span><span class="p">,</span><span class="n">m</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">size</span><span class="p">(</span><span class="n">B</span><span class="p">)</span>
|
||
<span class="k">for</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">:</span><span class="n">n</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">m</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">t</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">t</span><span class="p">]</span><span class="o">/</span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">k</span><span class="p">]</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">n</span><span class="w"> </span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">:</span><span class="n">m</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="o">*</span><span class="n">B</span><span class="p">[</span><span class="n">k</span><span class="p">,</span><span class="n">j</span><span class="p">]</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">k</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="k">end</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=14d57c52">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Two-possible-data-partitions">Two possible data partitions<a class="anchor-link" href="#Two-possible-data-partitions">¶</a></h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=f06f0869">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<div>
|
||
<img align="left" alt="No description has been provided for this image" src="data:image/png;base64,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" width="400">
|
||
</img></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a67e0aad">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Which-is-the-work-per-process-at-iteration-k-?">Which is the work per process at iteration k ?<a class="anchor-link" href="#Which-is-the-work-per-process-at-iteration-k-?">¶</a></h3>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=53a94ed3">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<div>
|
||
<img align="left" alt="No description has been provided for this image" src="data:image/png;base64,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" width="250"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=d083cd53">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<div>
|
||
<br/>
|
||
<br/>
|
||
<br/>
|
||
<br/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0d80cd72">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<div>
|
||
<img align="left" alt="No description has been provided for this image" src="data:image/png;base64,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" width="250"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=6409890d">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Load-imbalance">Load imbalance<a class="anchor-link" href="#Load-imbalance">¶</a></h3><ul>
|
||
<li>CPUs with rows <k are idle during iteration k</li>
|
||
<li>Bad load balance means bad speedups, as some CPUs are waiting instead of doing useful work</li>
|
||
<li>Solution: cyclic partition</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b90252f1">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h3 id="Cyclic-partition">Cyclic partition<a class="anchor-link" href="#Cyclic-partition">¶</a></h3><ul>
|
||
<li>Less load imbalance</li>
|
||
<li>Same data dependencies as 1d block partition</li>
|
||
<li>Useful for some problems with predictable load imbalance</li>
|
||
<li>A form of static load balancing</li>
|
||
<li>Not suitable for all communication patterns (e.g. Jacobi)</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=6a4c4051">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<div>
|
||
<img align="left" alt="No description has been provided for this image" src="data:image/png;base64,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EHcRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGpji2AtzzTGfGGIyIikl9D3AGISEV1A3byzD8RVyAiIiJh1MUdgIiIiIhImpJTEREREUkMJaciIiIikhhKTkVEREQkMZScioiIiEhiKDkVERERkcTQUFIikks3oLNv2RKgLYZYntGJiwAAIABJREFURESkRqjkVESC7A5MBxZ6pl8BbowxiYiIiEgHtwOWUKany0NscyTQ5NmmBT1ZSkRERETKIGpyei7Q6ll/OXBIJQMUERERkdoRNjmtB270rTsH2LkKMYqIiHxFHaJEpAtwF3C0Z9kUYCTwSSwRiYhIzVJyKlLb+gKPAnt4lo0DDgO+iCUiERGpaeqtL1K7NgNeJTMxfQTYByWmIiISEyWnIrXpW8BrwBaeZdcDR2E99UVEREREyi6oQ9QoYIVnWRs2hqmIiIiISEX5k9NJZA4V1URmRygRERERkYrxJ6f+6ab4QhMRERGRWuNPTt8Cmn3LLootOhERERGpKUFtTg8FVvmWXxlXgCIiIiJSO3I9IWoksNL3t6sBJ4YYRURERKRG5Ht86V7AUt/f/4qGmBMRERGRCsmXnALsCSzxrXM3enqciIjERCUkIrXtZeyJUAs8y0ZjCWqnWCISEZGapuRURMYDw4E5nmXHAg8DXWKJSEREapaSUxEB+ADYG/jcs+wQLEHtGktEIiJSk5ScikjaR1gb1M88y0YCTwE9YolIRERqjpJTEfGahpWgfuJZtheWoPaMIyAREaktSk5FxG8GMAx4z7NsD+A5oG8sEYmISM3QgNsia7cewLc881OBKSG37Qvs6FsWZXsRERERERERERERERERERERERERERERERERERERkbVXgnrru32BI+OOQkRERBLtHXDejDsIqZyGuAPw2Ai4Oe4gREREJNF+Byg5XYslYBB+tw+423aqv+6suCMRERGRZGtoGHsUuNuCu2ncsUhlJKBa3z0LuCnuKERERKRDeQGcEXEHIeWXgJJTERERERGTpDanX5n33CS6dW6LO4wMF11/Pa1tbc1Xn3dep7hjCTJr/nwOOPPMtvcfeiixNxxbjhrV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" width="250"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=20982b04">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Exercise">Exercise<a class="anchor-link" href="#Exercise">¶</a></h2><ul>
|
||
<li>The actual parallel implementation is let as an exercise</li>
|
||
<li>Implement both 1d block and 1d cyclic partitions and compare performance</li>
|
||
<li>Closely related with Floyd's algorithm</li>
|
||
<li>Generate input matrix with function below (a random matrix is not enough, we need a non singular matrix that does not require pivoting)</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=a65cf8e6">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-julia"><pre><span></span><span class="k">function</span><span class="w"> </span><span class="n">tridiagonal_matrix</span><span class="p">(</span><span class="n">n</span><span class="p">)</span>
|
||
<span class="w"> </span><span class="n">C</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">zeros</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="n">n</span><span class="p">)</span>
|
||
<span class="w"> </span><span class="n">stencil</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)]</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">:</span><span class="n">n</span>
|
||
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">coeff</span><span class="p">,</span><span class="n">o</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">zip</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span>
|
||
<span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="o">+</span><span class="n">o</span>
|
||
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">1</span><span class="o">:</span><span class="n">n</span>
|
||
<span class="w"> </span><span class="n">C</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">coeff</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="k">end</span>
|
||
<span class="w"> </span><span class="n">C</span>
|
||
<span class="k">end</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=31d8586a">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-julia"><pre><span></span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span>
|
||
<span class="n">C</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tridiagonal_matrix</span><span class="p">(</span><span class="n">n</span><span class="p">)</span>
|
||
<span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ones</span><span class="p">(</span><span class="n">n</span><span class="p">)</span>
|
||
<span class="n">gaussian_elimination!</span><span class="p">(</span><span class="n">C</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
</body>
|
||
</html>
|