UNPKG

ds-algo-study

Version:

Just experimenting with publishing a package

696 lines (605 loc) 19.8 kB
/* PrismJS 1.23.0 https://prismjs.com/download.html#themes=prism-twilight&languages=markup+css+clike+javascript+bash+c+cpp+css-extras+docker+git+go+graphql+groovy+http+json+json5+jsonp+jsstacktrace+js-templates+markdown+markup-templating+matlab+mongodb+perl+php+powershell+python+racket+jsx+tsx+regex+rest+ruby+rust+sas+sass+scss+scheme+sql+typescript+xml-doc+yaml&plugins=line-highlight+line-numbers+autolinker+file-highlight+show-language+highlight-keywords+inline-color+autoloader+command-line+toolbar+copy-to-clipboard+download-button+match-braces+treeview */ /** * prism.js Twilight theme * Based (more or less) on the Twilight theme originally of Textmate fame. * @author Remy Bach */ code[class*="language-"], pre[class*="language-"] { color: white; background: none; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 1em; text-align: left; text-shadow: 0 -.1em .2em black; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } pre[class*="language-"], :not(pre)>code[class*="language-"] { background: hsl(0, 0%, 8%); /* #141414 */ } /* Code blocks */ pre[class*="language-"] { border-radius: .5em; border: .3em solid hsl(0, 0%, 33%); /* #282A2B */ box-shadow: 1px 1px .5em black inset; margin: .5em 0; overflow: auto; padding: 1em; } pre[class*="language-"]::-moz-selection { /* Firefox */ background: hsl(200, 4%, 16%); /* #282A2B */ } pre[class*="language-"]::selection { /* Safari */ background: hsl(200, 4%, 16%); /* #282A2B */ } /* Text Selection colour */ pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { text-shadow: none; background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ } pre[class*="language-"]::selection, pre[class*="language-"] ::selection, code[class*="language-"]::selection, code[class*="language-"] ::selection { text-shadow: none; background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ } /* Inline code */ :not(pre)>code[class*="language-"] { border-radius: .3em; border: .13em solid hsl(0, 0%, 33%); /* #545454 */ box-shadow: 1px 1px .3em -.1em black inset; padding: .15em .2em .05em; white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { color: hsl(0, 0%, 47%); /* #777777 */ } .token.punctuation { opacity: .7; } .token.namespace { opacity: .7; } .token.tag, .token.boolean, .token.number, .token.deleted { color: hsl(14, 58%, 55%); /* #CF6A4C */ } .token.keyword, .token.property, .token.selector, .token.constant, .token.symbol, .token.builtin { color: hsl(53, 89%, 79%); /* #F9EE98 */ } .token.attr-name, .token.attr-value, .token.string, .token.char, .token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, .token.variable, .token.inserted { color: hsl(76, 21%, 52%); /* #8F9D6A */ } .token.atrule { color: hsl(218, 22%, 55%); /* #7587A6 */ } .token.regex, .token.important { color: hsl(42, 75%, 65%); /* #E9C062 */ } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } pre[data-line] { padding: 1em 0 1em 3em; position: relative; } /* Markup */ .language-markup .token.tag, .language-markup .token.attr-name, .language-markup .token.punctuation { color: hsl(33, 33%, 52%); /* #AC885B */ } /* Make the tokens sit above the line highlight so the colours don't look faded. */ .token { position: relative; z-index: 1; } .line-highlight { background: hsla(0, 0%, 33%, 0.25); /* #545454 */ background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */ border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */ border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */ left: 0; line-height: inherit; margin-top: 0.75em; /* Same as .prism's padding-top */ padding: inherit 0; pointer-events: none; position: absolute; right: 0; white-space: pre; z-index: 0; } .line-highlight:before, .line-highlight[data-end]:after { background-color: hsl(215, 15%, 59%); /* #8794A6 */ border-radius: 999px; box-shadow: 0 1px white; color: hsl(24, 20%, 95%); /* #F5F2F0 */ content: attr(data-start); font: bold 65%/1.5 sans-serif; left: .6em; min-width: 1em; padding: 0 .5em; position: absolute; text-align: center; text-shadow: none; top: .4em; vertical-align: .3em; } .line-highlight[data-end]:after { bottom: .4em; content: attr(data-end); top: auto; } pre[data-line] { position: relative; padding: 1em 0 1em 3em; } .line-highlight { position: absolute; left: 0; right: 0; padding: inherit 0; margin-top: 1em; /* Same as .prism's padding-top */ background: hsla(24, 20%, 50%, .08); background: linear-gradient(to right, hsla(24, 20%, 50%, .1) 70%, hsla(24, 20%, 50%, 0)); pointer-events: none; line-height: inherit; white-space: pre; } @media print { .line-highlight { /* * This will prevent browsers from replacing the background color with white. * It's necessary because the element is layered on top of the displayed code. */ -webkit-print-color-adjust: exact; color-adjust: exact; } } .line-highlight:before, .line-highlight[data-end]:after { content: attr(data-start); position: absolute; top: .4em; left: .6em; min-width: 1em; padding: 0 .5em; background-color: hsla(24, 20%, 50%, .4); color: hsl(24, 20%, 95%); font: bold 65%/1.5 sans-serif; text-align: center; vertical-align: .3em; border-radius: 999px; text-shadow: none; box-shadow: 0 1px white; } .line-highlight[data-end]:after { content: attr(data-end); top: auto; bottom: .4em; } .line-numbers .line-highlight:before, .line-numbers .line-highlight:after { content: none; } pre[id].linkable-line-numbers span.line-numbers-rows { pointer-events: all; } pre[id].linkable-line-numbers span.line-numbers-rows>span:before { cursor: pointer; } pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before { background-color: rgba(128, 128, 128, .2); } pre[class*="language-"].line-numbers { position: relative; padding-left: 3.8em; counter-reset: linenumber; } pre[class*="language-"].line-numbers>code { position: relative; white-space: inherit; } .line-numbers .line-numbers-rows { position: absolute; pointer-events: none; top: 0; font-size: 100%; left: -3.8em; width: 3em; /* works for line-numbers below 1000 lines */ letter-spacing: -1px; border-right: 1px solid #999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .line-numbers-rows>span { display: block; counter-increment: linenumber; } .line-numbers-rows>span:before { content: counter(linenumber); color: #999; display: block; padding-right: 0.8em; text-align: right; } .token a { color: inherit; } div.code-toolbar { position: relative; } div.code-toolbar>.toolbar { position: absolute; top: .3em; right: .2em; transition: opacity 0.3s ease-in-out; opacity: 0; } div.code-toolbar:hover>.toolbar { opacity: 1; } /* Separate line b/c rules are thrown out if selector is invalid. IE11 and old Edge versions don't support :focus-within. */ div.code-toolbar:focus-within>.toolbar { opacity: 1; } div.code-toolbar>.toolbar .toolbar-item { display: inline-block; } div.code-toolbar>.toolbar a { cursor: pointer; } div.code-toolbar>.toolbar button { background: none; border: 0; color: inherit; font: inherit; line-height: normal; overflow: visible; padding: 0; } div.code-toolbar>.toolbar a, div.code-toolbar>.toolbar button, div.code-toolbar>.toolbar span { color: #bbb; font-size: .8em; padding: 0 .5em; background: #f5f2f0; background: rgba(224, 224, 224, 0.2); box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); border-radius: .5em; } div.code-toolbar>.toolbar a:hover, div.code-toolbar>.toolbar a:focus, div.code-toolbar>.toolbar button:hover, div.code-toolbar>.toolbar button:focus, div.code-toolbar>.toolbar span:hover, div.code-toolbar>.toolbar span:focus { color: inherit; text-decoration: none; } span.inline-color-wrapper { /* * The background image is the following SVG inline in base 64: * * <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"> * <path fill="gray" d="M0 0h2v2H0z"/> * <path fill="white" d="M0 0h1v1H0zM1 1h1v1H1z"/> * </svg> * * SVG-inlining explained: * https://stackoverflow.com/a/21626701/7595472 */ background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4="); /* This is to prevent visual glitches where one pixel from the repeating pattern could be seen. */ background-position: center; background-size: 110%; display: inline-block; height: 1.333ch; width: 1.333ch; margin: 0 .333ch; box-sizing: border-box; border: 1px solid white; outline: 1px solid rgba(0, 0, 0, .5); overflow: hidden; } span.inline-color { display: block; /* To prevent visual glitches again */ height: 120%; width: 120%; } .command-line-prompt { border-right: 1px solid #999; display: block; float: left; font-size: 100%; letter-spacing: -1px; margin-right: 1em; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .command-line-prompt>span:before { color: #999; content: ' '; display: block; padding-right: 0.8em; } .command-line-prompt>span[data-user]:before { content: "["attr(data-user) "@"attr(data-host) "] $"; } .command-line-prompt>span[data-user="root"]:before { content: "["attr(data-user) "@"attr(data-host) "] #"; } .command-line-prompt>span[data-prompt]:before { content: attr(data-prompt); } .token.punctuation.brace-hover, .token.punctuation.brace-selected { outline: solid 1px; } .rainbow-braces .token.punctuation.brace-level-1, .rainbow-braces .token.punctuation.brace-level-5, .rainbow-braces .token.punctuation.brace-level-9 { color: #E50; opacity: 1; } .rainbow-braces .token.punctuation.brace-level-2, .rainbow-braces .token.punctuation.brace-level-6, .rainbow-braces .token.punctuation.brace-level-10 { color: #0B3; opacity: 1; } .rainbow-braces .token.punctuation.brace-level-3, .rainbow-braces .token.punctuation.brace-level-7, .rainbow-braces .token.punctuation.brace-level-11 { color: #26F; opacity: 1; } .rainbow-braces .token.punctuation.brace-level-4, .rainbow-braces .token.punctuation.brace-level-8, .rainbow-braces .token.punctuation.brace-level-12 { color: #E0E; opacity: 1; } .token.treeview-part .entry-line { position: relative; text-indent: -99em; display: inline-block; vertical-align: top; width: 1.2em; } .token.treeview-part .entry-line:before, .token.treeview-part .line-h:after { content: ""; position: absolute; top: 0; left: 50%; width: 50%; height: 100%; } .token.treeview-part .line-h:before, .token.treeview-part .line-v:before { border-left: 1px solid #ccc; } .token.treeview-part .line-v-last:before { height: 50%; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; } .token.treeview-part .line-h:after { height: 50%; border-bottom: 1px solid #ccc; } .token.treeview-part .entry-name { position: relative; display: inline-block; vertical-align: top; } .token.treeview-part .entry-name.dotfile { opacity: 0.5; } /* @GENERATED-FONT */ @font-face { font-family: "PrismTreeview"; /** * This font is generated from the .svg files in the `icons` folder. See the `treeviewIconFont` function in * `gulpfile.js/index.js` for more information. * * Use the following escape sequences to refer to a specific icon: * * - \ea01 file * - \ea02 folder * - \ea03 image * - \ea04 audio * - \ea05 video * - \ea06 text * - \ea07 code * - \ea08 archive * - \ea09 pdf * - \ea0a excel * - \ea0b powerpoint * - \ea0c word */ src: url("data:application/font-woff;base64,d09GRgABAAAAAAgYAAsAAAAAEGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPwAAAFY1UkH9Y21hcAAAAYQAAAB/AAACCtvO7yxnbHlmAAACBAAAA+MAAAlACm1VqmhlYWQAAAXoAAAAKgAAADZfxj5jaGhlYQAABhQAAAAYAAAAJAFbAMFobXR4AAAGLAAAAA4AAAA0CGQAAGxvY2EAAAY8AAAAHAAAABwM9A9CbWF4cAAABlgAAAAfAAAAIAEgAHZuYW1lAAAGeAAAATcAAAJSfUrk+HBvc3QAAAewAAAAZgAAAIka0DSfeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGRYyjiBgZWBgaGQoRZISkLpUAYOBj0GBiYGVmYGrCAgzTWFweEV4ysehs1ArgDDFgZGIA3CDAB2tQjAAHic7ZHLEcMwCESfLCz/VEoKSEE5parURxMOC4c0Ec283WGFdABgBXrwCAzam4bOK9KWeefM3Hhmjyn3ed+hTRq1pS7Ra/HjYGPniHcXMy4G/zNTP7/KW5HTXArkvdBW3ArN19dCG/NRIN8K5HuB/CiQn4U26VeBfBbML9NEH78AeJyVVc1u20YQ3pn905JcSgr/YsuSDTEg3cR1bFEkYyS1HQcQ2jQF2hot6vYSoECKnnPLA/SWUy9NTr31Bfp+6azsNI0SGiolzu7ODnfn+2Z2lnHG3rxhr9nfLGKbLGesncAYYnUHpsVnMG/uwyzNdFIVd6HI6twp8+R3LpT4TSglLoTHwwJgG2/dFvKrl9yI507/p5CCq4LTxB/PlPjkFaMHnWB/0S9je7RTPS+utnGtom1T2q5pk/e3H0M1S18rsXAL7wgpxQuhAmteGGvNjmcfGXuwnFNOPCXxeOGmnjrBLWNyBeNtVq2Hs03yus1aPS3mzSyNVSfu588iW1Q93x/4fjcHn+5EkS2tMxr4xIRa8ese+4L9uKZnxEqs8+ldyN9atU02a5t5uQ8hZGms1QTKpaKYqnipiNNOAIeIADC0JNEOYY+jtSgFoOchiAjRGFACpUTRje8bwIYWGCDEgENY8MEu9bnCYCdAxftoNg0KiSpUtPaHcanYwzXRu6T4r40b5npal3V7UHWCPJW9niyl1vIHgoujEXZjudBkeWkOeMQBRmbEPhKzij1i52t6/TadL+3q7H0U1eq4E8cG4gIIwQLx8VX7ToPXgPrehVc5QXHR7gMSmwjKfaYAP4KvZV+yn9bE18y2IY37LvtyrSg3i7ZK++B603ndlg/gBJpZRsfpBI6hyiaQ6FjlnThz8lAC3LgBIMnXDOAXxBQ4SIgiEhx2AcGCAwAhwjXRpCQms42bwAUt75BvAwgONzdgOfWEwzk4Ylzj4mz+5YEzzXzWX9aNlk7ot65y5QnBHsNlm6zDTu7sspRqG4V+fgJ1lVBZ07Nm7s5nemo3Lf3PO7iwtnroQ5/YDGwPRUip6fV6L+27p+wCHwSvPs85UnHqId8NAn5IBsKdv95KrL9m31Gsf2a/rluDslk1y1J9GE+LUmmVT/OyOHaFKGnapt2H5XeJTmKd6qYNoVVZOy+pWzr7rMip3ndG/4mQSoUcMbAqG/YNIAdXhkAqTVruXhocSKN0iS4Rwj7vSS4fcF/La07BfeQSuRAcFeW+9igjwPhhYPpGCBCBHhxiKMyFMFT7ziRH7RtfIWdiha+TdW+Rqs7bLHdN2ZJIKl0um0x3op9saYr0REeRdj09pl43pMzz4tjztrY8L4o8bzT+oLY27PR/eFtXs/YY5vtwB5Iqad14eYN0ujveMaGWqkdU3TKbQSC5Uvxaf4fA7SAQ3r2tEfIhd4duld91bwMisjqBw22orthNcroXl7KqO1329HBgAexgoCfGAwiDPoBnriki3lmNojrzvD0tjo6E3vPYP6E2BMIAeJxjYGRgYADiY8t3FsTz23xl4GbYzIAB/v9nWM6wBcjgYGAC8QH+QQhZAAB4nGNgZGBg2MzAACeXMzAyoAJeADPyAh14nGNgAILNpGEA0fgIZQAAAAAAAAA2AHIAvgE+AZgCCAKMAv4DlgPsBEYEoHicY2BkYGDgZchi4GQAASYg5gJCBob/YD4DABTSAZcAeJx9kU1uwjAQhV/4qwpqhdSqi67cTTeVEmBXDgBbhBD7AHYISuLUMSD2PUdP0HNwjp6i676k3qQS9Ujjb968mYUNoI8zPJTHw02Vy9PAFatfbpLuHbfIT47b6MF33KH+6riLF0wc93CHN27wWtdUHvHuuIFbfDhuUv903CKfHbfxgC/HHerfjrtYen3HPTx7ambiIl0YKQ+xPM5ltE9CU9NqxVKaItaZGPqDmj6VmTShlRuxOoniEI2sVUIZnYqJzqxMEi1yo3dybf2ttfk4CJTT/bVOMYNBjAIpFiTJOLCWOGLOHGGPBCE7l32XO0tmw04MjQwCQ7774B//lDmrZkJY3hvOrHBiLuiJMKJqoVgrejQ3CP5Yubt0JwxNJa96Oypr6j621VSOMQKG+uP36eKmHylcb0MAeJxtwdEOgjAMBdBeWEFR/Mdl7bTJtMsygc/nwVfPoYF+QP+tGDAigDFhxgVXLLjhjhUPCtmKTtmLaGN7x6dy/Io5bybqoevRQ3LRObb0sk3HKpn1SFqW6ru26vbpYfcmRCccJhqsAAA=") format("woff"); } .token.treeview-part .entry-name:before { content: "\ea01"; font-family: "PrismTreeview"; font-size: inherit; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 2.5ex; display: inline-block; } .token.treeview-part .entry-name.dir:before { content: "\ea02"; } .token.treeview-part .entry-name.ext-bmp:before, .token.treeview-part .entry-name.ext-eps:before, .token.treeview-part .entry-name.ext-gif:before, .token.treeview-part .entry-name.ext-jpe:before, .token.treeview-part .entry-name.ext-jpg:before, .token.treeview-part .entry-name.ext-jpeg:before, .token.treeview-part .entry-name.ext-png:before, .token.treeview-part .entry-name.ext-svg:before, .token.treeview-part .entry-name.ext-tiff:before { content: "\ea03"; } .token.treeview-part .entry-name.ext-cfg:before, .token.treeview-part .entry-name.ext-conf:before, .token.treeview-part .entry-name.ext-config:before, .token.treeview-part .entry-name.ext-csv:before, .token.treeview-part .entry-name.ext-ini:before, .token.treeview-part .entry-name.ext-log:before, .token.treeview-part .entry-name.ext-md:before, .token.treeview-part .entry-name.ext-nfo:before, .token.treeview-part .entry-name.ext-txt:before { content: "\ea06"; } .token.treeview-part .entry-name.ext-asp:before, .token.treeview-part .entry-name.ext-aspx:before, .token.treeview-part .entry-name.ext-c:before, .token.treeview-part .entry-name.ext-cc:before, .token.treeview-part .entry-name.ext-cpp:before, .token.treeview-part .entry-name.ext-cs:before, .token.treeview-part .entry-name.ext-css:before, .token.treeview-part .entry-name.ext-h:before, .token.treeview-part .entry-name.ext-hh:before, .token.treeview-part .entry-name.ext-htm:before, .token.treeview-part .entry-name.ext-html:before, .token.treeview-part .entry-name.ext-jav:before, .token.treeview-part .entry-name.ext-java:before, .token.treeview-part .entry-name.ext-js:before, .token.treeview-part .entry-name.ext-php:before, .token.treeview-part .entry-name.ext-rb:before, .token.treeview-part .entry-name.ext-xml:before { content: "\ea07"; } .token.treeview-part .entry-name.ext-7z:before, .token.treeview-part .entry-name.ext-bz:before, .token.treeview-part .entry-name.ext-bz2:before, .token.treeview-part .entry-name.ext-gz:before, .token.treeview-part .entry-name.ext-rar:before, .token.treeview-part .entry-name.ext-tar:before, .token.treeview-part .entry-name.ext-tgz:before, .token.treeview-part .entry-name.ext-zip:before { content: "\ea08"; } .token.treeview-part .entry-name.ext-aac:before, .token.treeview-part .entry-name.ext-au:before, .token.treeview-part .entry-name.ext-cda:before, .token.treeview-part .entry-name.ext-flac:before, .token.treeview-part .entry-name.ext-mp3:before, .token.treeview-part .entry-name.ext-oga:before, .token.treeview-part .entry-name.ext-ogg:before, .token.treeview-part .entry-name.ext-wav:before, .token.treeview-part .entry-name.ext-wma:before { content: "\ea04"; } .token.treeview-part .entry-name.ext-avi:before, .token.treeview-part .entry-name.ext-flv:before, .token.treeview-part .entry-name.ext-mkv:before, .token.treeview-part .entry-name.ext-mov:before, .token.treeview-part .entry-name.ext-mp4:before, .token.treeview-part .entry-name.ext-mpeg:before, .token.treeview-part .entry-name.ext-mpg:before, .token.treeview-part .entry-name.ext-ogv:before, .token.treeview-part .entry-name.ext-webm:before { content: "\ea05"; } .token.treeview-part .entry-name.ext-pdf:before { content: "\ea09"; } .token.treeview-part .entry-name.ext-xls:before, .token.treeview-part .entry-name.ext-xlsx:before { content: "\ea0a"; } .token.treeview-part .entry-name.ext-doc:before, .token.treeview-part .entry-name.ext-docm:before, .token.treeview-part .entry-name.ext-docx:before { content: "\ea0c"; } .token.treeview-part .entry-name.ext-pps:before, .token.treeview-part .entry-name.ext-ppt:before, .token.treeview-part .entry-name.ext-pptx:before { content: "\ea0b"; }