代码拉取完成,页面将自动刷新
<!doctype html>
<html lang="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="author" content="SEMHAQ">
<link rel="canonical" href="https://github.com/SEMHAQ/NoteBook/">
<link rel="next" href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/">
<link rel="icon" href="images/logo.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.4.14">
<title>SEMHAQ/NoteBook</title>
<link rel="stylesheet" href="assets/stylesheets/main.fad675c6.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.356b1318.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<link rel="stylesheet" href="assets/stylesheets/custom.00c04c01.min.css">
<link href="assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="assets/javascripts/glightbox.min.js"></script></head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="页眉">
<a href="." title="SEMHAQ/NoteBook" class="md-header__button md-logo" aria-label="SEMHAQ/NoteBook" data-md-component="logo">
<img src="images/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
SEMHAQ/NoteBook
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
主页
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="查找">
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
正在初始化搜索引擎
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/SEMHAQ/NoteBook" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
SEMHAQ /NoteBook
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item md-tabs__item--active">
<a href="." class="md-tabs__link">
主页
</a>
</li>
<li class="md-tabs__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/" class="md-tabs__link">
LeetCode
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/introduction/" class="md-tabs__link">
机器学习
</a>
</li>
<li class="md-tabs__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%A0%87%E9%A2%98/" class="md-tabs__link">
MarkDown语法
</a>
</li>
<li class="md-tabs__item">
<a href="Git%E8%AF%A6%E8%A7%A3/%E4%B8%8A%E4%BC%A0%E5%88%B0%E4%BB%93%E5%BA%93/" class="md-tabs__link">
Git详解
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E7%AE%80%E4%BB%8B/" class="md-tabs__link">
数据库相关
</a>
</li>
<li class="md-tabs__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A5%BD%E5%91%B3%E9%81%93%205%E2%9D%A4/" class="md-tabs__link">
探店系列
</a>
</li>
<li class="md-tabs__item">
<a href="blog/" class="md-tabs__link">
Blog
</a>
</li>
<li class="md-tabs__item">
<a href="about/" class="md-tabs__link">
关于
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<html lang="en"><head>
<!-- <title>Shadow profiles</title> -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
min-height: 100%;
}
#info {
color:#fff;
position: relative;
margin: 0 auto -2.1em;
top: 0px;
padding: 5px;
z-index: 100;
display: none;
}
#canvas {
z-index: 2000;
border: solid 2px #000;
position: absolute;
top: 0;
right: 0;
display: none;
}
#mobile {
z-index: 3000;
text-align: center;
margin: 0 auto;
position: relative;
top: 10em;
font-size: 3em;
font-family: georgia;
font-weight: normal;
display: none;
}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
#stats { position: absolute; top:0; left: 0 }
#stats #fps { background: transparent !important }
#stats #fps #fpsText { color: #444 !important }
#stats #fps #fpsGraph { display: none }
</style>
<link href="assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="assets/javascripts/glightbox.min.js"></script></head>
<body>
<div id="loading" style="display: none;"></div>
<div id="mobile" class="noselect" style="top: 485px;"></div>
<!-- <div id="info">
<a href="https://alteredqualia.com/" target="_blank">alteredqualia</a> - shadow profiles
</div> -->
<canvas id="canvas" width="200" height="126" style="width: 200px; height: 126px;"></canvas>
<script src="js/xg.min.630.js"></script>
<script src="js/libs/stats.min.js"></script>
<script>
var hasWebGL1 = Detector.webgl;
var hasWebGL2 = Detector.webgl2;
if ( ! ( hasWebGL1 || hasWebGL2 ) ) Detector.addGetWebGLMessage();
var isMobile = Detector.isMobile;
//isMobile = true;
var backend = hasWebGL2 ? "webgl2" : "webgl1";
//
var SCALE = 1.0;
var MARGIN = 0;
var BRIGHTNESS = 1.0;
var SCREEN_WIDTH = window.innerWidth;
var SCREEN_HEIGHT = window.innerHeight - 2 * MARGIN;
var cameraFovInit = 25;
var cameraFovTarget = 25;
//
var container, camera, scene, renderer;
var currentMesh, currentGeometry, currentUniforms, currentSprites;
var canvas, ctx;
var frameCounter = 0;
var imageInfo = [];
var imageList = [];
var characterFieldList = [];
var currentImageIndex = 0;
// camera controls
var mouseX = 0;
var mouseY = 0;
var targetX = 0.0;
var targetY = 0.0;
var angle = 0.0;
var height = 0.0;
var target = new XG.Vector3();
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
// ui
var loadingElement = document.getElementById( "loading" );
var mobileInfoElement = document.getElementById( "mobile" );
var fontCounter = 0;
var fontsToLoad = 0;
var mobileInfoOpacity = 1;
var mobileInfoVisible = isMobile;
if ( mobileInfoVisible ) mobileInfoElement.style.display = "block";
// fonts
/*
var sdfBebas = {'count': 95, 'chars': {32: {'yoffset': 1.5, 'width': 4, 'xadvance': 7.125, 'y': 242, 'x': 194, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 33.688, 'width': 8, 'xadvance': 8.75, 'y': 144, 'x': 81, 'height': 36, 'xoffset': 0.438}, 34: {'yoffset': 33.688, 'width': 15, 'xadvance': 14.938, 'y': 242, 'x': 179, 'height': 13, 'xoffset': 0.313}, 35: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.875, 'y': 72, 'x': 198, 'height': 36, 'xoffset': -0.813}, 36: {'yoffset': 35.75, 'width': 19, 'xadvance': 18.188, 'y': 72, 'x': 179, 'height': 40, 'xoffset': 0.063}, 37: {'yoffset': 33.875, 'width': 29, 'xadvance': 28.875, 'y': 0, 'x': 33, 'height': 36, 'xoffset': 0.063}, 38: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 182, 'x': 159, 'height': 36, 'xoffset': 0.375}, 39: {'yoffset': 33.688, 'width': 8, 'xadvance': 8.25, 'y': 45, 'x': 50, 'height': 13, 'xoffset': 0.188}, 40: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 108, 'x': 50, 'height': 36, 'xoffset': 0.688}, 41: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 72, 'x': 50, 'height': 36, 'xoffset': -0.813}, 42: {'yoffset': 33.688, 'width': 22, 'xadvance': 18.188, 'y': 216, 'x': 33, 'height': 21, 'xoffset': -1.438}, 43: {'yoffset': 25.625, 'width': 19, 'xadvance': 18.25, 'y': 222, 'x': 179, 'height': 20, 'xoffset': 0.125}, 44: {'yoffset': 6.375, 'width': 8, 'xadvance': 8.5, 'y': 237, 'x': 53, 'height': 13, 'xoffset': 0.313}, 45: {'yoffset': 19.938, 'width': 13, 'xadvance': 12.438, 'y': 150, 'x': 0, 'height': 8, 'xoffset': 0.125}, 46: {'yoffset': 6.375, 'width': 8, 'xadvance': 8.5, 'y': 98, 'x': 81, 'height': 8, 'xoffset': 0.313}, 47: {'yoffset': 33.688, 'width': 21, 'xadvance': 17.5, 'y': 184, 'x': 220, 'height': 36, 'xoffset': -1.313}, 48: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 216, 'x': 90, 'height': 36, 'xoffset': -0.063}, 49: {'yoffset': 33.688, 'width': 13, 'xadvance': 18.188, 'y': 72, 'x': 240, 'height': 36, 'xoffset': 3.438}, 50: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 72, 'x': 62, 'height': 36, 'xoffset': 0.313}, 51: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 108, 'x': 62, 'height': 36, 'xoffset': 0.063}, 52: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 148, 'x': 199, 'height': 36, 'xoffset': -0.875}, 53: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.188, 'y': 144, 'x': 62, 'height': 36, 'xoffset': 0.125}, 54: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 180, 'x': 62, 'height': 36, 'xoffset': 0.0}, 55: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.188, 'y': 216, 'x': 62, 'height': 36, 'xoffset': 0.0}, 56: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 0, 'x': 90, 'height': 36, 'xoffset': -0.313}, 57: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.188, 'y': 0, 'x': 109, 'height': 36, 'xoffset': -0.188}, 58: {'yoffset': 23.875, 'width': 8, 'xadvance': 8.5, 'y': 72, 'x': 81, 'height': 26, 'xoffset': 0.313}, 59: {'yoffset': 23.875, 'width': 8, 'xadvance': 8.5, 'y': 108, 'x': 81, 'height': 31, 'xoffset': 0.313}, 60: {'yoffset': 24.938, 'width': 19, 'xadvance': 18.188, 'y': 40, 'x': 0, 'height': 18, 'xoffset': -0.125}, 61: {'yoffset': 23.063, 'width': 19, 'xadvance': 18.25, 'y': 118, 'x': 0, 'height': 15, 'xoffset': 0.125}, 62: {'yoffset': 24.938, 'width': 19, 'xadvance': 18.188, 'y': 58, 'x': 0, 'height': 18, 'xoffset': 0.313}, 63: {'yoffset': 34.063, 'width': 18, 'xadvance': 16.563, 'y': 0, 'x': 185, 'height': 36, 'xoffset': -0.563}, 64: {'yoffset': 35.563, 'width': 33, 'xadvance': 31.688, 'y': 0, 'x': 0, 'height': 40, 'xoffset': -0.375}, 65: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.75, 'y': 112, 'x': 199, 'height': 36, 'xoffset': -1.0}, 66: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.625, 'y': 0, 'x': 166, 'height': 36, 'xoffset': 0.313}, 67: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.813, 'y': 0, 'x': 147, 'height': 36, 'xoffset': -0.063}, 68: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.75, 'y': 0, 'x': 128, 'height': 36, 'xoffset': 0.313}, 69: {'yoffset': 33.688, 'width': 17, 'xadvance': 16.938, 'y': 36, 'x': 33, 'height': 36, 'xoffset': 0.313}, 70: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.813, 'y': 0, 'x': 239, 'height': 36, 'xoffset': 0.313}, 71: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.0, 'y': 180, 'x': 137, 'height': 36, 'xoffset': -0.063}, 72: {'yoffset': 33.688, 'width': 19, 'xadvance': 19.563, 'y': 144, 'x': 137, 'height': 36, 'xoffset': 0.313}, 73: {'yoffset': 33.688, 'width': 9, 'xadvance': 8.688, 'y': 180, 'x': 81, 'height': 36, 'xoffset': 0.313}, 74: {'yoffset': 33.688, 'width': 13, 'xadvance': 11.813, 'y': 112, 'x': 241, 'height': 36, 'xoffset': -1.063}, 75: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 110, 'x': 159, 'height': 36, 'xoffset': 0.313}, 76: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.625, 'y': 108, 'x': 33, 'height': 36, 'xoffset': 0.313}, 77: {'yoffset': 33.688, 'width': 25, 'xadvance': 24.875, 'y': 36, 'x': 115, 'height': 36, 'xoffset': 0.313}, 78: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.688, 'y': 150, 'x': 179, 'height': 36, 'xoffset': 0.313}, 79: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 216, 'x': 137, 'height': 36, 'xoffset': -0.063}, 80: {'yoffset': 33.688, 'width': 19, 'xadvance': 17.313, 'y': 108, 'x': 115, 'height': 36, 'xoffset': 0.313}, 81: {'yoffset': 34.063, 'width': 20, 'xadvance': 18.25, 'y': 72, 'x': 159, 'height': 38, 'xoffset': -0.063}, 82: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.5, 'y': 144, 'x': 115, 'height': 36, 'xoffset': 0.313}, 83: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.188, 'y': 180, 'x': 115, 'height': 36, 'xoffset': -0.438}, 84: {'yoffset': 33.688, 'width': 19, 'xadvance': 16.5, 'y': 216, 'x': 115, 'height': 36, 'xoffset': -1.063}, 85: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.375, 'y': 36, 'x': 140, 'height': 36, 'xoffset': 0.125}, 86: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.5, 'y': 184, 'x': 199, 'height': 36, 'xoffset': -1.0}, 87: {'yoffset': 33.688, 'width': 28, 'xadvance': 25.875, 'y': 36, 'x': 62, 'height': 36, 'xoffset': -0.813}, 88: {'yoffset': 33.688, 'width': 22, 'xadvance': 19.75, 'y': 72, 'x': 137, 'height': 36, 'xoffset': -0.813}, 89: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 220, 'x': 199, 'height': 36, 'xoffset': -1.375}, 90: {'yoffset': 33.688, 'width': 18, 'xadvance': 17.0, 'y': 0, 'x': 221, 'height': 36, 'xoffset': -0.438}, 91: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 144, 'x': 50, 'height': 36, 'xoffset': 0.688}, 92: {'yoffset': 33.688, 'width': 21, 'xadvance': 17.5, 'y': 148, 'x': 220, 'height': 36, 'xoffset': -1.313}, 93: {'yoffset': 33.688, 'width': 12, 'xadvance': 11.563, 'y': 180, 'x': 50, 'height': 36, 'xoffset': -0.5}, 94: {'yoffset': 33.688, 'width': 20, 'xadvance': 18.188, 'y': 237, 'x': 33, 'height': 18, 'xoffset': -0.625}, 95: {'yoffset': 1.063, 'width': 27, 'xadvance': 23.0, 'y': 143, 'x': 0, 'height': 7, 'xoffset': -1.5}, 96: {'yoffset': 40.625, 'width': 12, 'xadvance': 11.5, 'y': 36, 'x': 50, 'height': 9, 'xoffset': -0.188}, 97: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.75, 'y': 72, 'x': 219, 'height': 36, 'xoffset': -1.0}, 98: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.625, 'y': 36, 'x': 178, 'height': 36, 'xoffset': 0.313}, 99: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.813, 'y': 36, 'x': 197, 'height': 36, 'xoffset': -0.063}, 100: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.75, 'y': 36, 'x': 159, 'height': 36, 'xoffset': 0.313}, 101: {'yoffset': 33.688, 'width': 17, 'xadvance': 16.938, 'y': 72, 'x': 33, 'height': 36, 'xoffset': 0.313}, 102: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.813, 'y': 144, 'x': 33, 'height': 36, 'xoffset': 0.313}, 103: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.0, 'y': 218, 'x': 159, 'height': 36, 'xoffset': -0.063}, 104: {'yoffset': 33.688, 'width': 19, 'xadvance': 19.563, 'y': 108, 'x': 137, 'height': 36, 'xoffset': 0.313}, 105: {'yoffset': 33.688, 'width': 9, 'xadvance': 8.688, 'y': 216, 'x': 81, 'height': 36, 'xoffset': 0.313}, 106: {'yoffset': 33.688, 'width': 13, 'xadvance': 11.813, 'y': 148, 'x': 241, 'height': 36, 'xoffset': -1.063}, 107: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.0, 'y': 186, 'x': 179, 'height': 36, 'xoffset': 0.313}, 108: {'yoffset': 33.688, 'width': 17, 'xadvance': 15.625, 'y': 180, 'x': 33, 'height': 36, 'xoffset': 0.313}, 109: {'yoffset': 33.688, 'width': 25, 'xadvance': 24.875, 'y': 36, 'x': 90, 'height': 36, 'xoffset': 0.313}, 110: {'yoffset': 33.688, 'width': 20, 'xadvance': 19.688, 'y': 146, 'x': 159, 'height': 36, 'xoffset': 0.313}, 111: {'yoffset': 34.063, 'width': 19, 'xadvance': 18.25, 'y': 180, 'x': 90, 'height': 36, 'xoffset': -0.063}, 112: {'yoffset': 33.688, 'width': 19, 'xadvance': 17.313, 'y': 144, 'x': 90, 'height': 36, 'xoffset': 0.313}, 113: {'yoffset': 34.063, 'width': 20, 'xadvance': 18.25, 'y': 112, 'x': 179, 'height': 38, 'xoffset': -0.063}, 114: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.5, 'y': 108, 'x': 90, 'height': 36, 'xoffset': 0.313}, 115: {'yoffset': 34.063, 'width': 19, 'xadvance': 17.188, 'y': 72, 'x': 90, 'height': 36, 'xoffset': -0.438}, 116: {'yoffset': 33.688, 'width': 19, 'xadvance': 16.5, 'y': 36, 'x': 235, 'height': 36, 'xoffset': -1.063}, 117: {'yoffset': 33.688, 'width': 19, 'xadvance': 18.375, 'y': 36, 'x': 216, 'height': 36, 'xoffset': 0.125}, 118: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.5, 'y': 112, 'x': 220, 'height': 36, 'xoffset': -1.0}, 119: {'yoffset': 33.688, 'width': 28, 'xadvance': 25.875, 'y': 0, 'x': 62, 'height': 36, 'xoffset': -0.813}, 120: {'yoffset': 33.688, 'width': 22, 'xadvance': 19.75, 'y': 72, 'x': 115, 'height': 36, 'xoffset': -0.813}, 121: {'yoffset': 33.688, 'width': 21, 'xadvance': 18.188, 'y': 220, 'x': 220, 'height': 36, 'xoffset': -1.375}, 122: {'yoffset': 33.688, 'width': 18, 'xadvance': 17.0, 'y': 0, 'x': 203, 'height': 36, 'xoffset': -0.438}, 123: {'yoffset': 33.688, 'width': 14, 'xadvance': 11.813, 'y': 220, 'x': 241, 'height': 36, 'xoffset': -1.0}, 124: {'yoffset': 36.688, 'width': 8, 'xadvance': 23.0, 'y': 76, 'x': 0, 'height': 42, 'xoffset': 8.188}, 125: {'yoffset': 33.688, 'width': 14, 'xadvance': 11.813, 'y': 184, 'x': 241, 'height': 36, 'xoffset': -0.75}, 126: {'yoffset': 20.938, 'width': 21, 'xadvance': 18.188, 'y': 133, 'x': 0, 'height': 10, 'xoffset': -1.188}}, 'base': 42, 'face': 'Bebas Neue'};
sdfBebas.img = "textures/sprites/fonts/Bebas Neue.sdf.png";
sdfBebas.width = 256;
sdfBebas.height = 256;
var sdfFiraMediumItalic = {'count': 97, 'chars': {0: {'yoffset': 1.5, 'width': 4, 'xadvance': 0.0, 'y': 238, 'x': 223, 'height': 4, 'xoffset': -1.5}, 13: {'yoffset': 1.5, 'width': 4, 'xadvance': 9.25, 'y': 252, 'x': 250, 'height': 4, 'xoffset': -1.5}, 32: {'yoffset': 1.5, 'width': 4, 'xadvance': 9.25, 'y': 252, 'x': 246, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 27.063, 'width': 12, 'xadvance': 9.5, 'y': 0, 'x': 186, 'height': 30, 'xoffset': -0.688}, 34: {'yoffset': 27.063, 'width': 15, 'xadvance': 18.0, 'y': 15, 'x': 210, 'height': 14, 'xoffset': 3.0}, 35: {'yoffset': 26.438, 'width': 24, 'xadvance': 19.5, 'y': 125, 'x': 48, 'height': 28, 'xoffset': -1.875}, 36: {'yoffset': 32.125, 'width': 24, 'xadvance': 19.938, 'y': 65, 'x': 24, 'height': 40, 'xoffset': -1.625}, 37: {'yoffset': 27.938, 'width': 30, 'xadvance': 31.813, 'y': 94, 'x': 48, 'height': 31, 'xoffset': 1.5}, 38: {'yoffset': 24.75, 'width': 36, 'xadvance': 33.25, 'y': 38, 'x': 0, 'height': 27, 'xoffset': -0.25}, 39: {'yoffset': 27.063, 'width': 8, 'xadvance': 10.875, 'y': 238, 'x': 246, 'height': 14, 'xoffset': 3.0}, 40: {'yoffset': 33.0, 'width': 16, 'xadvance': 12.0, 'y': 105, 'x': 24, 'height': 41, 'xoffset': -0.5}, 41: {'yoffset': 33.0, 'width': 16, 'xadvance': 12.0, 'y': 211, 'x': 48, 'height': 41, 'xoffset': -2.188}, 42: {'yoffset': 28.938, 'width': 19, 'xadvance': 16.375, 'y': 238, 'x': 227, 'height': 18, 'xoffset': 0.438}, 43: {'yoffset': 20.688, 'width': 19, 'xadvance': 18.875, 'y': 237, 'x': 135, 'height': 19, 'xoffset': 0.25}, 44: {'yoffset': 6.938, 'width': 11, 'xadvance': 9.5, 'y': 15, 'x': 225, 'height': 15, 'xoffset': -2.25}, 45: {'yoffset': 14.938, 'width': 15, 'xadvance': 15.063, 'y': 247, 'x': 181, 'height': 7, 'xoffset': 0.25}, 46: {'yoffset': 6.938, 'width': 10, 'xadvance': 9.5, 'y': 243, 'x': 92, 'height': 10, 'xoffset': -0.875}, 47: {'yoffset': 31.875, 'width': 22, 'xadvance': 19.25, 'y': 94, 'x': 135, 'height': 38, 'xoffset': -1.0}, 48: {'yoffset': 26.875, 'width': 22, 'xadvance': 21.25, 'y': 65, 'x': 81, 'height': 29, 'xoffset': 0.188}, 49: {'yoffset': 26.375, 'width': 16, 'xadvance': 15.75, 'y': 0, 'x': 74, 'height': 28, 'xoffset': 0.0}, 50: {'yoffset': 26.875, 'width': 21, 'xadvance': 19.0, 'y': 65, 'x': 190, 'height': 29, 'xoffset': -1.438}, 51: {'yoffset': 26.813, 'width': 22, 'xadvance': 18.938, 'y': 65, 'x': 147, 'height': 29, 'xoffset': -2.188}, 52: {'yoffset': 27.063, 'width': 22, 'xadvance': 20.188, 'y': 65, 'x': 125, 'height': 29, 'xoffset': -0.938}, 53: {'yoffset': 26.375, 'width': 23, 'xadvance': 19.688, 'y': 182, 'x': 48, 'height': 29, 'xoffset': -1.688}, 54: {'yoffset': 26.813, 'width': 21, 'xadvance': 20.375, 'y': 65, 'x': 211, 'height': 29, 'xoffset': 0.125}, 55: {'yoffset': 26.438, 'width': 20, 'xadvance': 16.875, 'y': 65, 'x': 232, 'height': 29, 'xoffset': 0.188}, 56: {'yoffset': 26.813, 'width': 22, 'xadvance': 21.125, 'y': 65, 'x': 103, 'height': 29, 'xoffset': -0.688}, 57: {'yoffset': 26.813, 'width': 21, 'xadvance': 20.375, 'y': 222, 'x': 24, 'height': 30, 'xoffset': 0.438}, 58: {'yoffset': 20.188, 'width': 11, 'xadvance': 9.5, 'y': 185, 'x': 243, 'height': 23, 'xoffset': -0.875}, 59: {'yoffset': 20.25, 'width': 13, 'xadvance': 9.5, 'y': 0, 'x': 173, 'height': 29, 'xoffset': -2.25}, 60: {'yoffset': 22.563, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 121, 'height': 21, 'xoffset': 0.25}, 61: {'yoffset': 18.75, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 210, 'height': 15, 'xoffset': 0.688}, 62: {'yoffset': 22.563, 'width': 20, 'xadvance': 18.875, 'y': 0, 'x': 141, 'height': 21, 'xoffset': -0.563}, 63: {'yoffset': 27.625, 'width': 19, 'xadvance': 18.625, 'y': 185, 'x': 0, 'height': 30, 'xoffset': 0.938}, 64: {'yoffset': 27.625, 'width': 38, 'xadvance': 37.75, 'y': 0, 'x': 0, 'height': 38, 'xoffset': 0.188}, 65: {'yoffset': 27.125, 'width': 26, 'xadvance': 21.563, 'y': 209, 'x': 201, 'height': 29, 'xoffset': -3.125}, 66: {'yoffset': 27.063, 'width': 23, 'xadvance': 22.875, 'y': 123, 'x': 233, 'height': 29, 'xoffset': 0.188}, 67: {'yoffset': 27.625, 'width': 24, 'xadvance': 21.063, 'y': 187, 'x': 109, 'height': 30, 'xoffset': 0.25}, 68: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.188, 'y': 123, 'x': 183, 'height': 29, 'xoffset': 0.188}, 69: {'yoffset': 27.063, 'width': 22, 'xadvance': 19.5, 'y': 94, 'x': 234, 'height': 29, 'xoffset': 0.188}, 70: {'yoffset': 27.063, 'width': 21, 'xadvance': 18.188, 'y': 65, 'x': 169, 'height': 29, 'xoffset': 0.188}, 71: {'yoffset': 27.625, 'width': 25, 'xadvance': 23.625, 'y': 153, 'x': 230, 'height': 30, 'xoffset': 0.25}, 72: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.625, 'y': 94, 'x': 184, 'height': 29, 'xoffset': 0.188}, 73: {'yoffset': 27.063, 'width': 12, 'xadvance': 10.813, 'y': 0, 'x': 198, 'height': 29, 'xoffset': 0.188}, 74: {'yoffset': 27.063, 'width': 16, 'xadvance': 11.0, 'y': 215, 'x': 0, 'height': 35, 'xoffset': -3.75}, 75: {'yoffset': 27.063, 'width': 26, 'xadvance': 22.438, 'y': 209, 'x': 227, 'height': 29, 'xoffset': 0.188}, 76: {'yoffset': 27.063, 'width': 19, 'xadvance': 18.563, 'y': 0, 'x': 38, 'height': 29, 'xoffset': 0.188}, 77: {'yoffset': 27.063, 'width': 31, 'xadvance': 29.188, 'y': 94, 'x': 78, 'height': 29, 'xoffset': -1.25}, 78: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.75, 'y': 123, 'x': 208, 'height': 29, 'xoffset': 0.188}, 79: {'yoffset': 27.625, 'width': 26, 'xadvance': 25.5, 'y': 123, 'x': 157, 'height': 30, 'xoffset': 0.25}, 80: {'yoffset': 27.125, 'width': 24, 'xadvance': 21.875, 'y': 123, 'x': 78, 'height': 29, 'xoffset': 0.188}, 81: {'yoffset': 27.625, 'width': 26, 'xadvance': 25.5, 'y': 94, 'x': 109, 'height': 34, 'xoffset': 0.25}, 82: {'yoffset': 27.125, 'width': 24, 'xadvance': 22.375, 'y': 217, 'x': 109, 'height': 29, 'xoffset': 0.188}, 83: {'yoffset': 27.625, 'width': 24, 'xadvance': 20.313, 'y': 157, 'x': 109, 'height': 30, 'xoffset': -1.75}, 84: {'yoffset': 27.063, 'width': 23, 'xadvance': 19.375, 'y': 153, 'x': 48, 'height': 29, 'xoffset': 0.125}, 85: {'yoffset': 27.063, 'width': 25, 'xadvance': 24.25, 'y': 153, 'x': 205, 'height': 30, 'xoffset': 0.75}, 86: {'yoffset': 27.063, 'width': 25, 'xadvance': 21.625, 'y': 94, 'x': 209, 'height': 29, 'xoffset': 0.438}, 87: {'yoffset': 27.125, 'width': 33, 'xadvance': 30.875, 'y': 65, 'x': 48, 'height': 29, 'xoffset': 0.813}, 88: {'yoffset': 27.063, 'width': 27, 'xadvance': 21.063, 'y': 94, 'x': 157, 'height': 29, 'xoffset': -3.0}, 89: {'yoffset': 27.063, 'width': 25, 'xadvance': 21.0, 'y': 128, 'x': 109, 'height': 29, 'xoffset': 0.125}, 90: {'yoffset': 27.063, 'width': 24, 'xadvance': 19.438, 'y': 152, 'x': 78, 'height': 29, 'xoffset': -2.125}, 91: {'yoffset': 31.813, 'width': 17, 'xadvance': 12.0, 'y': 146, 'x': 24, 'height': 38, 'xoffset': -1.625}, 92: {'yoffset': 31.875, 'width': 20, 'xadvance': 19.375, 'y': 209, 'x': 181, 'height': 38, 'xoffset': -0.438}, 93: {'yoffset': 31.875, 'width': 17, 'xadvance': 12.0, 'y': 184, 'x': 24, 'height': 38, 'xoffset': -1.938}, 94: {'yoffset': 32.688, 'width': 22, 'xadvance': 19.875, 'y': 238, 'x': 201, 'height': 15, 'xoffset': 0.5}, 95: {'yoffset': -0.563, 'width': 22, 'xadvance': 19.25, 'y': 248, 'x': 157, 'height': 7, 'xoffset': -3.313}, 96: {'yoffset': 31.875, 'width': 14, 'xadvance': 12.125, 'y': 243, 'x': 78, 'height': 11, 'xoffset': -0.438}, 97: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.375, 'y': 38, 'x': 60, 'height': 24, 'xoffset': -0.375}, 98: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.75, 'y': 132, 'x': 135, 'height': 32, 'xoffset': -0.125}, 99: {'yoffset': 21.625, 'width': 20, 'xadvance': 17.25, 'y': 38, 'x': 211, 'height': 24, 'xoffset': -0.375}, 100: {'yoffset': 29.438, 'width': 24, 'xadvance': 21.688, 'y': 153, 'x': 181, 'height': 32, 'xoffset': -0.375}, 101: {'yoffset': 21.625, 'width': 21, 'xadvance': 19.25, 'y': 38, 'x': 169, 'height': 24, 'xoffset': -0.375}, 102: {'yoffset': 29.5, 'width': 24, 'xadvance': 12.375, 'y': 65, 'x': 0, 'height': 40, 'xoffset': -4.188}, 103: {'yoffset': 21.688, 'width': 23, 'xadvance': 21.625, 'y': 216, 'x': 157, 'height': 32, 'xoffset': -1.125}, 104: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.25, 'y': 212, 'x': 78, 'height': 31, 'xoffset': -0.25}, 105: {'yoffset': 30.938, 'width': 13, 'xadvance': 10.0, 'y': 0, 'x': 108, 'height': 33, 'xoffset': -0.375}, 106: {'yoffset': 30.938, 'width': 17, 'xadvance': 10.0, 'y': 196, 'x': 135, 'height': 41, 'xoffset': -4.938}, 107: {'yoffset': 29.438, 'width': 22, 'xadvance': 20.813, 'y': 181, 'x': 78, 'height': 31, 'xoffset': -0.25}, 108: {'yoffset': 29.438, 'width': 12, 'xadvance': 10.438, 'y': 0, 'x': 161, 'height': 32, 'xoffset': 0.0}, 109: {'yoffset': 21.625, 'width': 32, 'xadvance': 31.375, 'y': 185, 'x': 181, 'height': 24, 'xoffset': -0.25}, 110: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.25, 'y': 38, 'x': 104, 'height': 24, 'xoffset': -0.25}, 111: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.313, 'y': 38, 'x': 82, 'height': 24, 'xoffset': -0.375}, 112: {'yoffset': 21.625, 'width': 24, 'xadvance': 21.75, 'y': 153, 'x': 157, 'height': 32, 'xoffset': -1.375}, 113: {'yoffset': 21.625, 'width': 22, 'xadvance': 21.563, 'y': 164, 'x': 135, 'height': 32, 'xoffset': -0.375}, 114: {'yoffset': 21.625, 'width': 18, 'xadvance': 14.313, 'y': 0, 'x': 90, 'height': 24, 'xoffset': -0.25}, 115: {'yoffset': 21.563, 'width': 20, 'xadvance': 17.563, 'y': 38, 'x': 231, 'height': 24, 'xoffset': -1.938}, 116: {'yoffset': 26.0, 'width': 17, 'xadvance': 13.75, 'y': 0, 'x': 57, 'height': 29, 'xoffset': -0.563}, 117: {'yoffset': 21.063, 'width': 21, 'xadvance': 21.063, 'y': 38, 'x': 148, 'height': 24, 'xoffset': 0.313}, 118: {'yoffset': 21.125, 'width': 22, 'xadvance': 18.375, 'y': 38, 'x': 126, 'height': 23, 'xoffset': -0.375}, 119: {'yoffset': 21.125, 'width': 30, 'xadvance': 27.125, 'y': 185, 'x': 213, 'height': 23, 'xoffset': 0.0}, 120: {'yoffset': 21.063, 'width': 24, 'xadvance': 18.0, 'y': 38, 'x': 36, 'height': 23, 'xoffset': -3.438}, 121: {'yoffset': 21.125, 'width': 24, 'xadvance': 18.313, 'y': 185, 'x': 157, 'height': 31, 'xoffset': -2.25}, 122: {'yoffset': 21.063, 'width': 21, 'xadvance': 16.375, 'y': 38, 'x': 190, 'height': 23, 'xoffset': -2.5}, 123: {'yoffset': 32.438, 'width': 16, 'xadvance': 12.0, 'y': 145, 'x': 0, 'height': 40, 'xoffset': -0.813}, 124: {'yoffset': 31.375, 'width': 12, 'xadvance': 14.375, 'y': 211, 'x': 64, 'height': 37, 'xoffset': 1.688}, 125: {'yoffset': 32.438, 'width': 16, 'xadvance': 12.0, 'y': 105, 'x': 0, 'height': 40, 'xoffset': -2.313}, 126: {'yoffset': 16.125, 'width': 21, 'xadvance': 18.875, 'y': 246, 'x': 109, 'height': 9, 'xoffset': -0.438}}, 'base': 41, 'face': 'Fira Sans'};
sdfFiraMediumItalic.img = "textures/sprites/fonts/FiraSans-MediumItalic.sdf.png";
sdfFiraMediumItalic.width = 256;
sdfFiraMediumItalic.height = 256;
var sdfFiraRegular = {'count': 97, 'chars': {0: {'yoffset': 1.5, 'width': 4, 'xadvance': 0.0, 'y': 238, 'x': 252, 'height': 4, 'xoffset': -1.5}, 13: {'yoffset': 1.5, 'width': 4, 'xadvance': 10.875, 'y': 234, 'x': 252, 'height': 4, 'xoffset': -1.5}, 32: {'yoffset': 1.5, 'width': 4, 'xadvance': 10.875, 'y': 230, 'x': 252, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 29.75, 'width': 9, 'xadvance': 10.813, 'y': 32, 'x': 243, 'height': 32, 'xoffset': 1.063}, 34: {'yoffset': 29.75, 'width': 15, 'xadvance': 18.688, 'y': 242, 'x': 15, 'height': 14, 'xoffset': 2.125}, 35: {'yoffset': 29.0, 'width': 24, 'xadvance': 20.5, 'y': 164, 'x': 124, 'height': 31, 'xoffset': -1.375}, 36: {'yoffset': 35.375, 'width': 23, 'xadvance': 20.563, 'y': 32, 'x': 101, 'height': 44, 'xoffset': -1.0}, 37: {'yoffset': 30.625, 'width': 32, 'xadvance': 34.813, 'y': 32, 'x': 40, 'height': 34, 'xoffset': 1.563}, 38: {'yoffset': 30.25, 'width': 30, 'xadvance': 31.875, 'y': 64, 'x': 124, 'height': 33, 'xoffset': 2.25}, 39: {'yoffset': 29.75, 'width': 8, 'xadvance': 11.25, 'y': 69, 'x': 93, 'height': 14, 'xoffset': 2.125}, 40: {'yoffset': 36.125, 'width': 14, 'xadvance': 13.313, 'y': 162, 'x': 40, 'height': 44, 'xoffset': 0.125}, 41: {'yoffset': 36.125, 'width': 14, 'xadvance': 13.313, 'y': 162, 'x': 54, 'height': 44, 'xoffset': 0.0}, 42: {'yoffset': 31.813, 'width': 20, 'xadvance': 18.063, 'y': 223, 'x': 15, 'height': 19, 'xoffset': -0.563}, 43: {'yoffset': 21.938, 'width': 19, 'xadvance': 20.5, 'y': 151, 'x': 19, 'height': 19, 'xoffset': 1.063}, 44: {'yoffset': 6.688, 'width': 10, 'xadvance': 10.813, 'y': 128, 'x': 59, 'height': 16, 'xoffset': 0.563}, 45: {'yoffset': 15.938, 'width': 15, 'xadvance': 16.625, 'y': 248, 'x': 72, 'height': 7, 'xoffset': 1.0}, 46: {'yoffset': 6.688, 'width': 9, 'xadvance': 10.813, 'y': 122, 'x': 196, 'height': 9, 'xoffset': 1.063}, 47: {'yoffset': 34.75, 'width': 16, 'xadvance': 21.313, 'y': 166, 'x': 72, 'height': 41, 'xoffset': 2.75}, 48: {'yoffset': 29.375, 'width': 22, 'xadvance': 23.0, 'y': 32, 'x': 177, 'height': 32, 'xoffset': 0.813}, 49: {'yoffset': 28.938, 'width': 15, 'xadvance': 16.375, 'y': 176, 'x': 0, 'height': 31, 'xoffset': -0.75}, 50: {'yoffset': 29.375, 'width': 21, 'xadvance': 20.813, 'y': 66, 'x': 40, 'height': 31, 'xoffset': -0.438}, 51: {'yoffset': 29.375, 'width': 21, 'xadvance': 20.563, 'y': 101, 'x': 72, 'height': 32, 'xoffset': -0.938}, 52: {'yoffset': 29.438, 'width': 22, 'xadvance': 21.5, 'y': 179, 'x': 101, 'height': 31, 'xoffset': 0.0}, 53: {'yoffset': 28.938, 'width': 21, 'xadvance': 21.063, 'y': 97, 'x': 40, 'height': 31, 'xoffset': -0.188}, 54: {'yoffset': 29.375, 'width': 21, 'xadvance': 21.938, 'y': 69, 'x': 72, 'height': 32, 'xoffset': 0.813}, 55: {'yoffset': 28.938, 'width': 19, 'xadvance': 18.125, 'y': 0, 'x': 133, 'height': 31, 'xoffset': -0.5}, 56: {'yoffset': 29.375, 'width': 22, 'xadvance': 22.75, 'y': 32, 'x': 199, 'height': 32, 'xoffset': 0.438}, 57: {'yoffset': 29.375, 'width': 21, 'xadvance': 21.875, 'y': 133, 'x': 235, 'height': 32, 'xoffset': 0.438}, 58: {'yoffset': 22.0, 'width': 9, 'xadvance': 10.813, 'y': 133, 'x': 92, 'height': 25, 'xoffset': 1.063}, 59: {'yoffset': 22.0, 'width': 10, 'xadvance': 10.813, 'y': 64, 'x': 246, 'height': 31, 'xoffset': 0.563}, 60: {'yoffset': 24.125, 'width': 20, 'xadvance': 20.5, 'y': 176, 'x': 15, 'height': 21, 'xoffset': 1.063}, 61: {'yoffset': 19.813, 'width': 19, 'xadvance': 20.563, 'y': 125, 'x': 12, 'height': 15, 'xoffset': 1.063}, 62: {'yoffset': 24.125, 'width': 20, 'xadvance': 20.5, 'y': 232, 'x': 151, 'height': 21, 'xoffset': 0.313}, 63: {'yoffset': 30.25, 'width': 20, 'xadvance': 20.813, 'y': 133, 'x': 72, 'height': 33, 'xoffset': 0.188}, 64: {'yoffset': 30.25, 'width': 40, 'xadvance': 41.813, 'y': 0, 'x': 0, 'height': 41, 'xoffset': 1.375}, 65: {'yoffset': 29.813, 'width': 27, 'xadvance': 23.75, 'y': 133, 'x': 151, 'height': 32, 'xoffset': -1.313}, 66: {'yoffset': 29.75, 'width': 23, 'xadvance': 25.688, 'y': 64, 'x': 223, 'height': 32, 'xoffset': 2.813}, 67: {'yoffset': 30.25, 'width': 24, 'xadvance': 23.438, 'y': 197, 'x': 229, 'height': 33, 'xoffset': 1.063}, 68: {'yoffset': 29.813, 'width': 24, 'xadvance': 26.938, 'y': 97, 'x': 207, 'height': 32, 'xoffset': 2.813}, 69: {'yoffset': 29.813, 'width': 19, 'xadvance': 22.125, 'y': 0, 'x': 114, 'height': 32, 'xoffset': 2.813}, 70: {'yoffset': 29.813, 'width': 19, 'xadvance': 20.375, 'y': 0, 'x': 95, 'height': 32, 'xoffset': 2.813}, 71: {'yoffset': 30.25, 'width': 25, 'xadvance': 26.188, 'y': 197, 'x': 204, 'height': 33, 'xoffset': 1.063}, 72: {'yoffset': 29.813, 'width': 23, 'xadvance': 27.875, 'y': 64, 'x': 154, 'height': 32, 'xoffset': 2.813}, 73: {'yoffset': 29.813, 'width': 7, 'xadvance': 12.563, 'y': 101, 'x': 93, 'height': 32, 'xoffset': 2.813}, 74: {'yoffset': 29.813, 'width': 12, 'xadvance': 12.625, 'y': 166, 'x': 88, 'height': 38, 'xoffset': -1.313}, 75: {'yoffset': 29.813, 'width': 24, 'xadvance': 24.313, 'y': 165, 'x': 230, 'height': 32, 'xoffset': 2.813}, 76: {'yoffset': 29.813, 'width': 19, 'xadvance': 20.625, 'y': 0, 'x': 76, 'height': 32, 'xoffset': 2.813}, 77: {'yoffset': 29.813, 'width': 31, 'xadvance': 32.625, 'y': 32, 'x': 124, 'height': 32, 'xoffset': 1.0}, 78: {'yoffset': 29.813, 'width': 23, 'xadvance': 28.25, 'y': 195, 'x': 124, 'height': 32, 'xoffset': 2.813}, 79: {'yoffset': 30.25, 'width': 27, 'xadvance': 28.563, 'y': 97, 'x': 124, 'height': 33, 'xoffset': 1.063}, 80: {'yoffset': 29.813, 'width': 22, 'xadvance': 24.0, 'y': 32, 'x': 221, 'height': 32, 'xoffset': 2.813}, 81: {'yoffset': 30.25, 'width': 29, 'xadvance': 28.563, 'y': 32, 'x': 72, 'height': 37, 'xoffset': 1.063}, 82: {'yoffset': 29.813, 'width': 23, 'xadvance': 24.875, 'y': 64, 'x': 177, 'height': 32, 'xoffset': 2.813}, 83: {'yoffset': 30.25, 'width': 23, 'xadvance': 22.375, 'y': 97, 'x': 231, 'height': 33, 'xoffset': -0.438}, 84: {'yoffset': 29.75, 'width': 24, 'xadvance': 21.125, 'y': 200, 'x': 151, 'height': 32, 'xoffset': -0.875}, 85: {'yoffset': 29.813, 'width': 23, 'xadvance': 27.5, 'y': 64, 'x': 200, 'height': 32, 'xoffset': 2.375}, 86: {'yoffset': 29.813, 'width': 26, 'xadvance': 24.0, 'y': 133, 'x': 178, 'height': 32, 'xoffset': -0.938}, 87: {'yoffset': 29.813, 'width': 36, 'xadvance': 34.0, 'y': 0, 'x': 40, 'height': 32, 'xoffset': -0.5}, 88: {'yoffset': 29.813, 'width': 26, 'xadvance': 22.75, 'y': 165, 'x': 178, 'height': 32, 'xoffset': -1.313}, 89: {'yoffset': 29.813, 'width': 26, 'xadvance': 22.563, 'y': 165, 'x': 204, 'height': 32, 'xoffset': -1.313}, 90: {'yoffset': 29.813, 'width': 22, 'xadvance': 21.375, 'y': 32, 'x': 155, 'height': 32, 'xoffset': -0.25}, 91: {'yoffset': 35.0, 'width': 12, 'xadvance': 13.313, 'y': 109, 'x': 0, 'height': 42, 'xoffset': 1.25}, 92: {'yoffset': 34.75, 'width': 16, 'xadvance': 21.313, 'y': 207, 'x': 72, 'height': 41, 'xoffset': 2.75}, 93: {'yoffset': 35.0, 'width': 12, 'xadvance': 13.313, 'y': 67, 'x': 0, 'height': 42, 'xoffset': 0.563}, 94: {'yoffset': 36.0, 'width': 22, 'xadvance': 21.313, 'y': 109, 'x': 12, 'height': 16, 'xoffset': -0.313}, 95: {'yoffset': -1.063, 'width': 23, 'xadvance': 21.313, 'y': 244, 'x': 101, 'height': 7, 'xoffset': -0.813}, 96: {'yoffset': 34.375, 'width': 13, 'xadvance': 12.188, 'y': 144, 'x': 59, 'height': 10, 'xoffset': -0.313}, 97: {'yoffset': 23.625, 'width': 22, 'xadvance': 22.375, 'y': 227, 'x': 124, 'height': 26, 'xoffset': 0.375}, 98: {'yoffset': 32.313, 'width': 21, 'xadvance': 24.25, 'y': 76, 'x': 101, 'height': 35, 'xoffset': 2.5}, 99: {'yoffset': 23.625, 'width': 20, 'xadvance': 19.5, 'y': 0, 'x': 211, 'height': 26, 'xoffset': 0.813}, 100: {'yoffset': 32.313, 'width': 22, 'xadvance': 24.375, 'y': 165, 'x': 151, 'height': 35, 'xoffset': 0.813}, 101: {'yoffset': 23.625, 'width': 21, 'xadvance': 22.375, 'y': 0, 'x': 170, 'height': 26, 'xoffset': 0.813}, 102: {'yoffset': 32.313, 'width': 19, 'xadvance': 13.75, 'y': 128, 'x': 40, 'height': 34, 'xoffset': -0.625}, 103: {'yoffset': 25.563, 'width': 24, 'xadvance': 21.5, 'y': 97, 'x': 151, 'height': 36, 'xoffset': -0.25}, 104: {'yoffset': 32.25, 'width': 20, 'xadvance': 24.125, 'y': 210, 'x': 101, 'height': 34, 'xoffset': 2.5}, 105: {'yoffset': 33.188, 'width': 9, 'xadvance': 11.438, 'y': 67, 'x': 12, 'height': 35, 'xoffset': 1.563}, 106: {'yoffset': 33.188, 'width': 12, 'xadvance': 11.438, 'y': 207, 'x': 88, 'height': 44, 'xoffset': -1.938}, 107: {'yoffset': 32.313, 'width': 21, 'xadvance': 21.063, 'y': 145, 'x': 101, 'height': 34, 'xoffset': 2.5}, 108: {'yoffset': 32.313, 'width': 11, 'xadvance': 11.875, 'y': 207, 'x': 0, 'height': 35, 'xoffset': 2.125}, 109: {'yoffset': 23.625, 'width': 31, 'xadvance': 35.375, 'y': 133, 'x': 204, 'height': 26, 'xoffset': 2.5}, 110: {'yoffset': 23.625, 'width': 20, 'xadvance': 24.125, 'y': 0, 'x': 191, 'height': 26, 'xoffset': 2.5}, 111: {'yoffset': 23.625, 'width': 23, 'xadvance': 23.875, 'y': 230, 'x': 229, 'height': 26, 'xoffset': 0.813}, 112: {'yoffset': 23.625, 'width': 21, 'xadvance': 24.25, 'y': 111, 'x': 101, 'height': 34, 'xoffset': 2.5}, 113: {'yoffset': 23.625, 'width': 22, 'xadvance': 24.375, 'y': 130, 'x': 124, 'height': 34, 'xoffset': 0.813}, 114: {'yoffset': 23.625, 'width': 15, 'xadvance': 15.688, 'y': 197, 'x': 15, 'height': 26, 'xoffset': 2.5}, 115: {'yoffset': 23.625, 'width': 20, 'xadvance': 19.438, 'y': 0, 'x': 231, 'height': 26, 'xoffset': -0.5}, 116: {'yoffset': 28.5, 'width': 18, 'xadvance': 15.063, 'y': 0, 'x': 152, 'height': 31, 'xoffset': -0.625}, 117: {'yoffset': 23.125, 'width': 20, 'xadvance': 23.813, 'y': 41, 'x': 0, 'height': 26, 'xoffset': 2.313}, 118: {'yoffset': 23.125, 'width': 23, 'xadvance': 20.25, 'y': 230, 'x': 204, 'height': 25, 'xoffset': -1.063}, 119: {'yoffset': 23.125, 'width': 32, 'xadvance': 29.875, 'y': 97, 'x': 175, 'height': 25, 'xoffset': -0.688}, 120: {'yoffset': 23.125, 'width': 23, 'xadvance': 19.625, 'y': 231, 'x': 178, 'height': 25, 'xoffset': -1.438}, 121: {'yoffset': 23.125, 'width': 23, 'xadvance': 20.125, 'y': 197, 'x': 178, 'height': 34, 'xoffset': -1.063}, 122: {'yoffset': 23.125, 'width': 19, 'xadvance': 18.063, 'y': 151, 'x': 0, 'height': 25, 'xoffset': -0.438}, 123: {'yoffset': 35.875, 'width': 14, 'xadvance': 13.313, 'y': 206, 'x': 54, 'height': 43, 'xoffset': -0.438}, 124: {'yoffset': 34.625, 'width': 7, 'xadvance': 16.5, 'y': 67, 'x': 21, 'height': 41, 'xoffset': 5.063}, 125: {'yoffset': 35.875, 'width': 14, 'xadvance': 13.313, 'y': 206, 'x': 40, 'height': 43, 'xoffset': 0.188}, 126: {'yoffset': 17.063, 'width': 21, 'xadvance': 20.5, 'y': 122, 'x': 175, 'height': 9, 'xoffset': 0.125}}, 'base': 44, 'face': 'Fira Sans'};
sdfFiraRegular.img = "textures/sprites/fonts/FiraSans-Regular.sdf.png";
sdfFiraRegular.width = 256;
sdfFiraRegular.height = 256;
*/
var sdfGeorgia = {'count': 95, 'chars': {32: {'yoffset': 1.5, 'width': 4, 'xadvance': 8.688, 'y': 251, 'x': 229, 'height': 4, 'xoffset': -1.5}, 33: {'yoffset': 27.063, 'width': 8, 'xadvance': 11.875, 'y': 174, 'x': 137, 'height': 29, 'xoffset': 2.125}, 34: {'yoffset': 28.375, 'width': 14, 'xadvance': 14.813, 'y': 236, 'x': 31, 'height': 13, 'xoffset': 0.563}, 35: {'yoffset': 23.125, 'width': 21, 'xadvance': 23.125, 'y': 230, 'x': 235, 'height': 25, 'xoffset': 1.188}, 36: {'yoffset': 28.25, 'width': 20, 'xadvance': 22.0, 'y': 174, 'x': 117, 'height': 36, 'xoffset': 1.25}, 37: {'yoffset': 27.0, 'width': 29, 'xadvance': 29.5, 'y': 57, 'x': 59, 'height': 30, 'xoffset': 0.438}, 38: {'yoffset': 27.0, 'width': 28, 'xadvance': 25.625, 'y': 144, 'x': 117, 'height': 30, 'xoffset': -0.188}, 39: {'yoffset': 28.375, 'width': 7, 'xadvance': 7.688, 'y': 230, 'x': 195, 'height': 13, 'xoffset': 0.375}, 40: {'yoffset': 28.438, 'width': 14, 'xadvance': 13.5, 'y': 167, 'x': 45, 'height': 36, 'xoffset': 0.563}, 41: {'yoffset': 28.438, 'width': 14, 'xadvance': 13.5, 'y': 62, 'x': 0, 'height': 36, 'xoffset': -0.313}, 42: {'yoffset': 27.063, 'width': 18, 'xadvance': 17.0, 'y': 236, 'x': 88, 'height': 16, 'xoffset': 0.0}, 43: {'yoffset': 20.375, 'width': 22, 'xadvance': 23.125, 'y': 29, 'x': 93, 'height': 22, 'xoffset': 1.0}, 44: {'yoffset': 5.938, 'width': 9, 'xadvance': 9.75, 'y': 236, 'x': 106, 'height': 14, 'xoffset': 0.188}, 45: {'yoffset': 12.438, 'width': 14, 'xadvance': 13.5, 'y': 136, 'x': 194, 'height': 6, 'xoffset': 0.0}, 46: {'yoffset': 5.875, 'width': 8, 'xadvance': 9.75, 'y': 241, 'x': 137, 'height': 8, 'xoffset': 1.0}, 47: {'yoffset': 28.25, 'width': 18, 'xadvance': 16.875, 'y': 87, 'x': 59, 'height': 38, 'xoffset': -0.688}, 48: {'yoffset': 20.938, 'width': 22, 'xadvance': 22.125, 'y': 230, 'x': 173, 'height': 24, 'xoffset': 0.313}, 49: {'yoffset': 20.938, 'width': 15, 'xadvance': 15.5, 'y': 0, 'x': 72, 'height': 23, 'xoffset': 0.813}, 50: {'yoffset': 20.938, 'width': 20, 'xadvance': 20.125, 'y': 29, 'x': 137, 'height': 23, 'xoffset': 0.438}, 51: {'yoffset': 20.875, 'width': 20, 'xadvance': 19.813, 'y': 57, 'x': 138, 'height': 29, 'xoffset': -0.375}, 52: {'yoffset': 20.75, 'width': 22, 'xadvance': 20.375, 'y': 86, 'x': 207, 'height': 29, 'xoffset': -0.625}, 53: {'yoffset': 20.313, 'width': 20, 'xadvance': 19.063, 'y': 57, 'x': 118, 'height': 29, 'xoffset': -0.438}, 54: {'yoffset': 27.063, 'width': 21, 'xadvance': 20.375, 'y': 193, 'x': 59, 'height': 30, 'xoffset': 0.313}, 55: {'yoffset': 20.375, 'width': 20, 'xadvance': 18.063, 'y': 57, 'x': 158, 'height': 29, 'xoffset': 0.063}, 56: {'yoffset': 27.063, 'width': 21, 'xadvance': 21.438, 'y': 223, 'x': 59, 'height': 30, 'xoffset': 0.313}, 57: {'yoffset': 20.938, 'width': 21, 'xadvance': 20.375, 'y': 65, 'x': 31, 'height': 30, 'xoffset': 0.0}, 58: {'yoffset': 18.875, 'width': 8, 'xadvance': 11.188, 'y': 115, 'x': 248, 'height': 21, 'xoffset': 1.688}, 59: {'yoffset': 18.938, 'width': 9, 'xadvance': 11.25, 'y': 125, 'x': 77, 'height': 27, 'xoffset': 0.938}, 60: {'yoffset': 20.813, 'width': 20, 'xadvance': 23.125, 'y': 29, 'x': 218, 'height': 22, 'xoffset': 1.875}, 61: {'yoffset': 15.688, 'width': 21, 'xadvance': 23.125, 'y': 236, 'x': 0, 'height': 12, 'xoffset': 1.188}, 62: {'yoffset': 20.813, 'width': 20, 'xadvance': 23.125, 'y': 170, 'x': 0, 'height': 22, 'xoffset': 2.0}, 63: {'yoffset': 27.0, 'width': 17, 'xadvance': 17.188, 'y': 57, 'x': 221, 'height': 29, 'xoffset': 0.375}, 64: {'yoffset': 25.563, 'width': 31, 'xadvance': 33.438, 'y': 29, 'x': 0, 'height': 33, 'xoffset': 1.438}, 65: {'yoffset': 26.813, 'width': 29, 'xadvance': 24.188, 'y': 115, 'x': 117, 'height': 29, 'xoffset': -2.188}, 66: {'yoffset': 26.438, 'width': 24, 'xadvance': 23.563, 'y': 115, 'x': 146, 'height': 28, 'xoffset': 0.125}, 67: {'yoffset': 27.0, 'width': 25, 'xadvance': 23.125, 'y': 174, 'x': 145, 'height': 30, 'xoffset': -0.125}, 68: {'yoffset': 26.438, 'width': 28, 'xadvance': 27.0, 'y': 174, 'x': 202, 'height': 28, 'xoffset': 0.125}, 69: {'yoffset': 26.438, 'width': 24, 'xadvance': 23.5, 'y': 174, 'x': 230, 'height': 28, 'xoffset': 0.0}, 70: {'yoffset': 26.438, 'width': 23, 'xadvance': 21.563, 'y': 86, 'x': 140, 'height': 28, 'xoffset': 0.0}, 71: {'yoffset': 27.0, 'width': 28, 'xadvance': 26.125, 'y': 144, 'x': 145, 'height': 30, 'xoffset': -0.125}, 72: {'yoffset': 26.438, 'width': 29, 'xadvance': 29.375, 'y': 202, 'x': 173, 'height': 28, 'xoffset': 0.25}, 73: {'yoffset': 26.438, 'width': 15, 'xadvance': 14.063, 'y': 57, 'x': 238, 'height': 28, 'xoffset': -0.125}, 74: {'yoffset': 26.375, 'width': 21, 'xadvance': 18.625, 'y': 86, 'x': 229, 'height': 29, 'xoffset': -1.313}, 75: {'yoffset': 26.438, 'width': 28, 'xadvance': 25.0, 'y': 202, 'x': 202, 'height': 28, 'xoffset': 0.313}, 76: {'yoffset': 26.438, 'width': 23, 'xadvance': 21.75, 'y': 86, 'x': 117, 'height': 28, 'xoffset': 0.25}, 77: {'yoffset': 26.438, 'width': 34, 'xadvance': 33.313, 'y': 29, 'x': 59, 'height': 28, 'xoffset': -0.688}, 78: {'yoffset': 26.438, 'width': 30, 'xadvance': 27.563, 'y': 57, 'x': 88, 'height': 29, 'xoffset': -1.125}, 79: {'yoffset': 27.0, 'width': 28, 'xadvance': 26.813, 'y': 144, 'x': 173, 'height': 30, 'xoffset': -0.125}, 80: {'yoffset': 26.438, 'width': 23, 'xadvance': 22.0, 'y': 115, 'x': 225, 'height': 28, 'xoffset': 0.125}, 81: {'yoffset': 27.063, 'width': 28, 'xadvance': 26.813, 'y': 29, 'x': 31, 'height': 36, 'xoffset': -0.125}, 82: {'yoffset': 26.438, 'width': 28, 'xadvance': 25.313, 'y': 144, 'x': 201, 'height': 28, 'xoffset': 0.25}, 83: {'yoffset': 27.0, 'width': 21, 'xadvance': 20.25, 'y': 163, 'x': 59, 'height': 30, 'xoffset': 0.25}, 84: {'yoffset': 26.438, 'width': 25, 'xadvance': 22.313, 'y': 202, 'x': 230, 'height': 28, 'xoffset': -1.25}, 85: {'yoffset': 26.375, 'width': 29, 'xadvance': 27.25, 'y': 115, 'x': 88, 'height': 29, 'xoffset': -0.188}, 86: {'yoffset': 26.375, 'width': 29, 'xadvance': 24.0, 'y': 86, 'x': 88, 'height': 29, 'xoffset': -2.188}, 87: {'yoffset': 26.375, 'width': 39, 'xadvance': 35.188, 'y': 0, 'x': 0, 'height': 29, 'xoffset': -1.563}, 88: {'yoffset': 26.438, 'width': 29, 'xadvance': 25.625, 'y': 174, 'x': 173, 'height': 28, 'xoffset': -1.25}, 89: {'yoffset': 26.438, 'width': 27, 'xadvance': 22.188, 'y': 144, 'x': 229, 'height': 28, 'xoffset': -2.25}, 90: {'yoffset': 26.438, 'width': 24, 'xadvance': 21.688, 'y': 115, 'x': 170, 'height': 28, 'xoffset': -1.0}, 91: {'yoffset': 28.188, 'width': 13, 'xadvance': 13.5, 'y': 98, 'x': 0, 'height': 36, 'xoffset': 1.438}, 92: {'yoffset': 28.25, 'width': 18, 'xadvance': 16.875, 'y': 125, 'x': 59, 'height': 38, 'xoffset': 0.063}, 93: {'yoffset': 28.188, 'width': 13, 'xadvance': 13.5, 'y': 134, 'x': 0, 'height': 36, 'xoffset': -0.313}, 94: {'yoffset': 27.125, 'width': 20, 'xadvance': 23.125, 'y': 241, 'x': 117, 'height': 15, 'xoffset': 1.813}, 95: {'yoffset': -1.688, 'width': 27, 'xadvance': 23.188, 'y': 251, 'x': 202, 'height': 5, 'xoffset': -1.563}, 96: {'yoffset': 28.5, 'width': 11, 'xadvance': 18.0, 'y': 152, 'x': 77, 'height': 11, 'xoffset': 4.25}, 97: {'yoffset': 19.313, 'width': 20, 'xadvance': 18.125, 'y': 29, 'x': 178, 'height': 22, 'xoffset': -0.125}, 98: {'yoffset': 28.5, 'width': 23, 'xadvance': 20.188, 'y': 175, 'x': 88, 'height': 31, 'xoffset': -1.75}, 99: {'yoffset': 19.375, 'width': 19, 'xadvance': 16.313, 'y': 192, 'x': 0, 'height': 22, 'xoffset': -0.25}, 100: {'yoffset': 28.5, 'width': 23, 'xadvance': 20.688, 'y': 210, 'x': 117, 'height': 31, 'xoffset': -0.25}, 101: {'yoffset': 19.375, 'width': 19, 'xadvance': 17.375, 'y': 214, 'x': 0, 'height': 22, 'xoffset': -0.25}, 102: {'yoffset': 28.688, 'width': 17, 'xadvance': 11.75, 'y': 205, 'x': 31, 'height': 31, 'xoffset': -1.063}, 103: {'yoffset': 19.313, 'width': 20, 'xadvance': 18.313, 'y': 57, 'x': 178, 'height': 29, 'xoffset': -0.75}, 104: {'yoffset': 28.5, 'width': 24, 'xadvance': 21.0, 'y': 204, 'x': 145, 'height': 31, 'xoffset': -1.375}, 105: {'yoffset': 28.125, 'width': 12, 'xadvance': 10.563, 'y': 62, 'x': 14, 'height': 30, 'xoffset': -0.75}, 106: {'yoffset': 28.125, 'width': 14, 'xadvance': 10.563, 'y': 167, 'x': 31, 'height': 38, 'xoffset': -4.125}, 107: {'yoffset': 28.5, 'width': 23, 'xadvance': 19.313, 'y': 144, 'x': 88, 'height': 31, 'xoffset': -1.375}, 108: {'yoffset': 28.5, 'width': 13, 'xadvance': 10.313, 'y': 134, 'x': 13, 'height': 31, 'xoffset': -1.5}, 109: {'yoffset': 19.25, 'width': 33, 'xadvance': 31.688, 'y': 230, 'x': 202, 'height': 21, 'xoffset': -0.5}, 110: {'yoffset': 19.25, 'width': 23, 'xadvance': 21.25, 'y': 235, 'x': 145, 'height': 21, 'xoffset': -0.438}, 111: {'yoffset': 19.375, 'width': 20, 'xadvance': 19.438, 'y': 29, 'x': 198, 'height': 22, 'xoffset': -0.25}, 112: {'yoffset': 19.25, 'width': 22, 'xadvance': 20.563, 'y': 86, 'x': 163, 'height': 29, 'xoffset': -0.938}, 113: {'yoffset': 19.75, 'width': 23, 'xadvance': 20.125, 'y': 206, 'x': 88, 'height': 30, 'xoffset': -0.25}, 114: {'yoffset': 19.25, 'width': 17, 'xadvance': 14.688, 'y': 0, 'x': 39, 'height': 21, 'xoffset': -0.438}, 115: {'yoffset': 19.375, 'width': 16, 'xadvance': 15.563, 'y': 0, 'x': 56, 'height': 22, 'xoffset': -0.125}, 116: {'yoffset': 24.125, 'width': 15, 'xadvance': 12.438, 'y': 29, 'x': 238, 'height': 27, 'xoffset': -1.25}, 117: {'yoffset': 19.063, 'width': 23, 'xadvance': 20.688, 'y': 57, 'x': 198, 'height': 22, 'xoffset': -0.938}, 118: {'yoffset': 18.813, 'width': 22, 'xadvance': 17.938, 'y': 29, 'x': 115, 'height': 21, 'xoffset': -1.813}, 119: {'yoffset': 18.813, 'width': 31, 'xadvance': 26.563, 'y': 115, 'x': 194, 'height': 21, 'xoffset': -1.563}, 120: {'yoffset': 18.813, 'width': 21, 'xadvance': 18.125, 'y': 29, 'x': 157, 'height': 21, 'xoffset': -1.313}, 121: {'yoffset': 18.813, 'width': 22, 'xadvance': 17.75, 'y': 86, 'x': 185, 'height': 29, 'xoffset': -1.813}, 122: {'yoffset': 18.813, 'width': 18, 'xadvance': 15.938, 'y': 98, 'x': 13, 'height': 21, 'xoffset': -0.563}, 123: {'yoffset': 28.438, 'width': 17, 'xadvance': 15.438, 'y': 131, 'x': 31, 'height': 36, 'xoffset': -0.25}, 124: {'yoffset': 28.25, 'width': 6, 'xadvance': 13.5, 'y': 87, 'x': 77, 'height': 38, 'xoffset': 4.125}, 125: {'yoffset': 28.438, 'width': 17, 'xadvance': 15.438, 'y': 95, 'x': 31, 'height': 36, 'xoffset': -0.375}, 126: {'yoffset': 14.625, 'width': 22, 'xadvance': 23.125, 'y': 0, 'x': 87, 'height': 10, 'xoffset': 0.75}}, 'base': 38, 'face': 'Georgia'};
sdfGeorgia.img = "textures/sprites/fonts/Georgia.sdf.png";
sdfGeorgia.width = 256;
sdfGeorgia.height = 256;
//
var clock = new XG.Clock();
//
init();
animate();
function init() {
container = document.createElement( 'div' );
document.body.appendChild( container );
// renderer
var pars = {
"width" : SCREEN_WIDTH,
"height" : SCREEN_HEIGHT,
"scale" : SCALE,
"antialias" : false,
"tonemapping": XG.NoOperator,
"brightness": BRIGHTNESS,
"clearColor": 0x050505,
"clearAlpha": 1.0,
"backend" : backend,
"devicePixelRatio" : 1.0
};
renderer = new XG.ForwardRenderer( pars );
container.appendChild( renderer.domElement );
renderer.domElement.style.position = "absolute";
renderer.domElement.style.top = MARGIN + "px";
renderer.domElement.style.left = "0px";
// camera
camera = new XG.PerspectiveCamera( cameraFovInit, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 2000 );
camera.position.set( 0, 0, 200 );
// scene
scene = new XG.Scene();
scene.add( camera );
// fonts
fontsToLoad = 1;
//loadFont( sdfBebas );
//loadFont( sdfFiraMediumItalic );
//loadFont( sdfFiraRegular );
loadFont( sdfGeorgia );
// objects
canvas = document.getElementById( 'canvas' );
ctx = canvas.getContext( '2d' );
imageInfo = [
[ 500, 'textures/avatars/avatar-male-inv.png' ],
[ 500, 'textures/avatars/avatar-female-inv.png' ],
[ 600, 'textures/avatars/fog.jpg' ],
[ 600, 'textures/avatars/avatar-body-inv.png' ],
[ 600, 'textures/avatars/montana.jpg' ],
[ 600, 'textures/avatars/hand.jpg' ],
];
for ( var i = 0, il = imageInfo.length; i < il; i ++ ) {
var imgUrl = imageInfo[ i ][ 1 ];
var img = new Image();
img.src = imgUrl;
imageList[ i ] = img;
}
var initImage = imageList[ 0 ];
initImage.onload = function() {
var numSprites = isMobile ? 40000 : 80000;
var depth = 200;
var characterField = createCharacterField( initImage, numSprites, depth );
characterFieldList[ 0 ] = characterField;
characterFieldList[ 1 ] = characterField;
setCharacterField( 0 );
setImage( initImage );
};
var bigImage = imageList[ 2 ];
bigImage.onload = function() {
var numSprites = isMobile ? 80000 : 160000;
var depth = 200;
var characterField = createCharacterField( initImage, numSprites, depth );
characterFieldList[ 2 ] = characterField;
characterFieldList[ 3 ] = characterField;
characterFieldList[ 4 ] = characterField;
characterFieldList[ 5 ] = characterField;
characterFieldList[ 6 ] = characterField;
};
// stats
stats = new Stats();
container.appendChild( stats.domElement );
stats.domElement.className = "noselect";
// events
window.addEventListener( 'resize', onWindowResize, false );
renderer.domElement.addEventListener( 'mousemove', onDocumentMouseMove, false );
renderer.domElement.addEventListener( 'mousedown', onDocumentMouseClick, false );
renderer.domElement.addEventListener( 'touchmove', onTouchMove, false );
renderer.domElement.addEventListener( 'wheel', onDocumentWheel, false );
onWindowResize();
}
// -----------------------------------------------------------------------------------------------------------
function createCharacterField( image, numSprites, depth ) {
var materialParameters = {
"fogEnabled" : true,
"fogDensity" : 0.002,
"fogColor" : 0x050505
};
canvas.width = image.width;
canvas.height = image.height;
canvas.style.width = image.width + 'px';
canvas.style.height = image.height + 'px';
ctx.drawImage( image, 0, 0 );
var pixel = ctx.getImageData( 0, 0, image.width, image.height );
var imageData = pixel.data;
var characterFieldData = generateCharacterField( sdfGeorgia, numSprites, materialParameters, image.width, image.height, depth );
characterFieldData.geometry.dynamic = true;
characterFieldData.mesh.visible = false;
scene.add( characterFieldData.mesh );
return characterFieldData;
}
// -----------------------------------------------------------------------------------------------------------
function refreshImagePixelIndex( sprites, width, height ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
var px = Math.floor( x + width * 0.5 );
var py = height - 1 - Math.floor( y + height * 0.5 );
var pixelIndex = py * width + px;
sprite[ 9 ] = pixelIndex;
}
}
// -----------------------------------------------------------------------------------------------------------
function setCharacterField( index ) {
if ( currentMesh ) currentMesh.visible = false;
var characterField = characterFieldList[ index ];
currentMesh = characterField.mesh;
currentGeometry = characterField.geometry;
currentSprites = characterField.sprites;
currentUniforms = characterField.material.uniforms;
currentMesh.visible = true;
}
// -----------------------------------------------------------------------------------------------------------
function setImage( image ) {
canvas.width = image.width;
canvas.height = image.height;
canvas.style.width = image.width + 'px';
canvas.style.height = image.height + 'px';
ctx.drawImage( image, 0, 0 );
var pixel = ctx.getImageData( 0, 0, image.width, image.height );
var imageData = pixel.data;
refreshGeometryPositions( currentGeometry, imageData, currentSprites, image.width, image.height );
refreshImagePixelIndex( currentSprites, image.width, image.height );
setGeometryColors( currentGeometry, imageData, currentSprites );
updateGeometryData( currentGeometry, imageData, currentSprites );
}
// -----------------------------------------------------------------------------------------------------------
function refreshGeometryPositions( geometry, data, sprites, width, height ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = ( XG.Math.randomFloat16() - 0.5 ) * width;
var y = ( XG.Math.randomFloat16() - 0.5 ) * height;
var z = sprite[ 3 ];
geometry.setSpritePosition( i, x, y, z );
var dx = XG.Math.randomFloat( -5, 5 );
var dy = XG.Math.randomFloat( -5, 5 );
sprite[ 1 ] = x;
sprite[ 2 ] = y;
sprite[ 4 ] = dx;
sprite[ 5 ] = dy;
}
geometry.attributes[ "offset" ].needsUpdate = true;
}
// -----------------------------------------------------------------------------------------------------------
function setGeometryColors( geometry, imageData, sprites ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var depth = sprite[ 0 ];
var pixelIndex = sprite[ 9 ];
var pixelOffset = pixelIndex * 4;
var r = imageData[ pixelOffset ];
var g = imageData[ pixelOffset + 1 ];
var b = imageData[ pixelOffset + 2 ];
r = ( r / 255 ) * depth;
g = ( g / 255 ) * depth;
b = ( b / 255 ) * depth;
geometry.setSpriteColor( i, r, g, b );
}
geometry.attributes[ "color" ].needsUpdate = true;
}
// -----------------------------------------------------------------------------------------------------------
function updateGeometryData( geometry, data, sprites ) {
var numSprites = sprites.length;
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var d = sprite[ 0 ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
var pixelIndex = sprite[ 9 ];
var pixelOffset = pixelIndex * 4;
var r = data[ pixelOffset ];
var g = data[ pixelOffset + 1 ];
var b = data[ pixelOffset + 2 ];
r = ( r / 255 ) * d;
g = ( g / 255 ) * d;
b = ( b / 255 ) * d;
//if ( r < 0.1 ) geometry.setSpritePosition( i, x, y, 10000.0 );
if ( g < 0.135 ) geometry.setSpritePosition( i, x, y, 10000.0 );
//if ( b < 0.2 ) geometry.setSpritePosition( i, x, y, 10000.0 );
}
geometry.attributes[ "offset" ].needsUpdate = true;
}
// event handlers
function onWindowResize ( event ) {
SCREEN_WIDTH = window.innerWidth;
SCREEN_HEIGHT = window.innerHeight - 2 * MARGIN;
renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
camera.aspect = SCREEN_WIDTH/ SCREEN_HEIGHT;
camera.updateProjectionMatrix();
mobileInfoElement.style.top = Math.floor( ( SCREEN_HEIGHT - mobileInfoElement.offsetHeight ) * 0.5 + MARGIN ) + 'px';
}
function onDocumentMouseMove ( event ) {
mouseX = ( event.clientX - windowHalfX );
mouseY = ( event.clientY - windowHalfY );
}
function onDocumentMouseClick ( event ) {
nextImage();
}
function onTouchMove( event ) {
event.preventDefault();
var touches = event.touches;
var touch = touches[ 0 ];
mouseX = ( touch.clientX - windowHalfX );
mouseY = ( touch.clientY - windowHalfY );
}
function onDocumentWheel ( event ) {
var unit = event.deltaMode;
var scale = 1;
if ( unit === 0 ) scale = 0.01; // pixels
else if ( unit === 1 ) scale = 0.1; // lines
cameraFovTarget += event.deltaY * scale;
var maxFov = 90;
var minFov = 4;
if ( cameraFovTarget > maxFov ) {
cameraFovTarget = maxFov;
}
if ( cameraFovTarget < minFov ) {
cameraFovTarget = minFov;
}
}
// -----------------------------------------------------------------------------------------------------------
function nextImage() {
currentImageIndex = ( currentImageIndex + 1 ) % imageList.length;
setCharacterField( currentImageIndex );
var image = imageList[ currentImageIndex ];
setImage( image );
}
// -----------------------------------------------------------------------------------------------------------
function patchSpriteMaterial() {
var vertexShader = [
"uniform float time;",
"attribute vec3 color;",
"attribute vec3 offset;",
"attribute vec2 scale;",
"attribute vec2 localoffset;",
"varying vec2 vUv;",
"varying vec3 vColor;",
'void main() {',
"vUv = uv;",
"vColor = color;",
"float ax = mod( ( localoffset.x + offset.x * time * 0.15 ), 5.0 );",
"float ay = mod( ( localoffset.y - time * 12.0 ) / scale.x, 5.0 ) - 2.5;",
"vec3 animoffset = vec3( ax, ay, 0.0 );",
"vec4 tmpPosition = modelViewMatrix * vec4( offset + animoffset, 1.0 ) + vec4( position * vec3( scale, 1.0 ), 0.0 );",
"gl_Position = projectionMatrix * tmpPosition;",
"}"
].join( "\n" );
XG.SpriteShader.vertexShader = vertexShader;
XG.SpriteShader.uniforms[ "time" ] = { "type": "f", "value": 0.0 };
}
// -----------------------------------------------------------------------------------------------------------
function generateCharacterField ( font, numSprites, materialParameters, width, height, depth ) {
var textureAtlasInfo = {
"width" : font.width,
"height" : font.height,
"base" : font.base
};
patchSpriteMaterial();
var material = new XG.SpriteMaterial( {
"textureAtlas" : font.map,
"billboard" : true,
"antialias" : true,
"sdf" : true,
"fog" : false,
"fogDensity" : materialParameters.fogDensity,
"fogColor" : materialParameters.fogColor
} );
var geometry = new XG.SpriteGeometry( numSprites );
geometry.addAttribute( "localoffset", Float32Array, 2 );
var localoffset = geometry.attributes[ "localoffset" ].array;
var sprites = [];
for ( var i = 0; i < numSprites; i ++ ) {
var x = ( XG.Math.randomFloat16() - 0.5 ) * width;
var y = ( XG.Math.randomFloat16() - 0.5 ) * height;
var z = ( XG.Math.randomFloat16() - 0.5 ) * depth;
//
var spriteDepth = z / depth + 0.5;
spriteDepth *= spriteDepth;
//
var s = XG.Math.randomFloat( 0.05, 0.15 ) * 1.0;
var sx = s;
var sy = s;
//
//var glyphIndex = XG.Math.randomInt( 48, 49 ); // 0 ... 1
//var glyphIndex = XG.Math.randomInt( 97, 122 ); // A ... Z
//var glyphIndex = XG.Math.randomInt( 65, 90 ); // a ... z
var glyphIndex = XG.Math.randomInt( 48, 57 ); // 0 ... 9
var glyphInfo = font.chars[ glyphIndex ];
//
geometry.setSpritePosition( i, x, y, z );
geometry.setSpriteScale( i, sx, sy );
geometry.setSpriteTexture( i, glyphInfo, textureAtlasInfo );
geometry.setSpriteColor( i, 1, 0, 0 );
var dx = XG.Math.randomFloat( 0, 5 );
var dy = XG.Math.randomFloat( -5, 5 );
var px = Math.floor( x + width * 0.5 );
var py = height - 1 - Math.floor( y + height * 0.5 );
var pixelIndex = py * width + px;
sprites[ i ] = [ spriteDepth, x, y, z, dx, dy, sx, sy, glyphIndex, pixelIndex ];
var indexOffset = i * 8;
localoffset[ indexOffset ] = dx;
localoffset[ indexOffset + 1 ] = dy;
localoffset[ indexOffset + 2 ] = dx;
localoffset[ indexOffset + 3 ] = dy;
localoffset[ indexOffset + 4 ] = dx;
localoffset[ indexOffset + 5 ] = dy;
localoffset[ indexOffset + 6 ] = dx;
localoffset[ indexOffset + 7 ] = dy;
}
sprites.sort( compareDepths );
for ( var i = 0; i < numSprites; i ++ ) {
var sprite = sprites[ i ];
var x = sprite[ 1 ];
var y = sprite[ 2 ];
var z = sprite[ 3 ];
geometry.setSpritePosition( i, x, y, z );
}
var mesh = new XG.Mesh( geometry, material );
var characterFieldInfo = {
"mesh" : mesh,
"geometry" : geometry,
"material" : material,
"sprites" : sprites,
"font" : font,
"textureAtlasInfo" : textureAtlasInfo
};
return characterFieldInfo;
}
// -----------------------------------------------------------------------------------------------------------
function compareDepths( a, b ) {
return a[ 0 ] - b[ 0 ];
}
// -----------------------------------------------------------------------------------------------------------
function fontCallback () {
fontCounter += 1;
if ( fontCounter >= fontsToLoad ) {
loadingElement.style.display = "none";
}
}
function loadFont ( font ) {
var map = XG.ImageUtils.loadTexture( font.img, fontCallback );
map.anisotropy = 16;
font.map = map;
}
// -----------------------------------------------------------------------------------------------------------
// updates
// -----------------------------------------------------------------------------------------------------------
function animate() {
requestAnimationFrame( animate );
render();
stats.update();
}
function render() {
var delta = clock.getDelta();
delta = Math.min( delta, 0.1 );
var time = clock.elapsedTime;
// update scene
if ( currentUniforms ) {
currentUniforms[ "time" ].value = time;
}
if ( isMobile && mobileInfoVisible ) {
if ( time > 2 ) mobileInfoOpacity = XG.Math.clamp( mobileInfoOpacity - delta, 0, 1 );
mobileInfoElement.style.opacity = mobileInfoOpacity;
if ( mobileInfoOpacity === 0 ) {
mobileInfoElement.style.display = "none";
mobileInfoVisible = false;
}
}
// update camera
targetX = mouseX * 0.04;
targetY = mouseY * 0.04;
angle += 0.05 * ( targetX - angle );
height += 0.05 * ( targetY - height );
var f = 0.005;
var d = imageInfo[ currentImageIndex ][ 0 ];
var x = -Math.sin( angle * f ) * d;
var z = Math.cos( angle * f ) * d;
var y = 1.5 * height + 0;
camera.position.set( x, y, z );
camera.lookAt( target );
var zoomSpeed = 2.0;
camera.fov = camera.fov + ( cameraFovTarget - camera.fov ) * delta * zoomSpeed;
camera.updateProjectionMatrix();
// render scene
renderer.render( scene, camera );
//
frameCounter += 1;
}
</script><div><canvas width="858" height="971" style="width: 858px; height: 971px; position: absolute; top: 0px; left: 0px;"></canvas><div id="stats" class="noselect" style="width: 80px; opacity: 0.9; cursor: pointer;"><div id="fps" style="padding: 0px 0px 3px 3px; text-align: left; background-color: rgb(0, 0, 34);"><div id="fpsText" style="color: rgb(0, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 9px; font-weight: bold; line-height: 15px;">61 FPS (43-61)</div><div id="fpsGraph" style="position: relative; width: 74px; height: 30px; background-color: rgb(0, 255, 255);"><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 30px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 17.1px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 12.6px; float: left; background-color: rgb(17, 17, 51);"></span><span style="width: 1px; height: 11.7px; float: left; background-color: rgb(17, 17, 51);"></span></div></div><div id="ms" style="padding: 0px 0px 3px 3px; text-align: left; background-color: rgb(0, 34, 0); display: none;"><div id="msText" style="color: rgb(0, 255, 0); font-family: Helvetica, Arial, sans-serif; font-size: 9px; font-weight: bold; line-height: 15px;">17 MS (0-212)</div><div id="msGraph" style="position: relative; width: 74px; height: 30px; background-color: rgb(0, 255, 0);"><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.6px; float: left; background-color: rgb(17, 51, 17);"></span><span style="width: 1px; height: 27.45px; float: left; background-color: rgb(17, 51, 17);"></span></div></div></div></div>
<script>document$.subscribe(() => {const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});})</script></body></html>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="导航栏" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="." title="SEMHAQ/NoteBook" class="md-nav__button md-logo" aria-label="SEMHAQ/NoteBook" data-md-component="logo">
<img src="images/logo.png" alt="logo">
</a>
SEMHAQ/NoteBook
</label>
<div class="md-nav__source">
<a href="https://github.com/SEMHAQ/NoteBook" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
SEMHAQ /NoteBook
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<a href="." class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
主页
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="">
<span class="md-ellipsis">
LeetCode
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
LeetCode
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
<label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
<span class="md-ellipsis">
每日一题
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1">
<span class="md-nav__icon md-icon"></span>
每日一题
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_1" >
<label class="md-nav__link" for="__nav_2_1_1" id="__nav_2_1_1_label" tabindex="0">
<span class="md-ellipsis">
2023年3月
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1_1">
<span class="md-nav__icon md-icon"></span>
2023年3月
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1605.%20%E7%BB%99%E5%AE%9A%E8%A1%8C%E5%92%8C%E5%88%97%E7%9A%84%E5%92%8C%E6%B1%82%E5%8F%AF%E8%A1%8C%E7%9F%A9%E9%98%B5/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月14号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1615.%20%E6%9C%80%E5%A4%A7%E7%BD%91%E7%BB%9C%E7%A7%A9/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月15号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2488.%20%E7%BB%9F%E8%AE%A1%E4%B8%AD%E4%BD%8D%E6%95%B0%E4%B8%BA%20K%20%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月16号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2389.%20%E5%92%8C%E6%9C%89%E9%99%90%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E5%BA%8F%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月17号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1616.%20%E5%88%86%E5%89%B2%E4%B8%A4%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%BE%97%E5%88%B0%E5%9B%9E%E6%96%87%E4%B8%B2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月18号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1625.%20%E6%89%A7%E8%A1%8C%E6%93%8D%E4%BD%9C%E5%90%8E%E5%AD%97%E5%85%B8%E5%BA%8F%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月19号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1012.%20%E8%87%B3%E5%B0%91%E6%9C%89%201%20%E4%BD%8D%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月20号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2469.%20%E6%B8%A9%E5%BA%A6%E8%BD%AC%E6%8D%A2/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月21号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1626.%20%E6%97%A0%E7%9F%9B%E7%9B%BE%E7%9A%84%E6%9C%80%E4%BD%B3%E7%90%83%E9%98%9F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月22号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1630.%20%E7%AD%89%E5%B7%AE%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月23号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1032.%20%E5%AD%97%E7%AC%A6%E6%B5%81/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月24号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1574.%20%E5%88%A0%E9%99%A4%E6%9C%80%E7%9F%AD%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84%E4%BD%BF%E5%89%A9%E4%BD%99%E6%95%B0%E7%BB%84%E6%9C%89%E5%BA%8F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月25号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2395.%20%E5%92%8C%E7%9B%B8%E7%AD%89%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月26号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1638.%20%E7%BB%9F%E8%AE%A1%E5%8F%AA%E5%B7%AE%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E7%9A%84%E5%AD%90%E4%B8%B2%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月27号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1092.%20%E6%9C%80%E7%9F%AD%E5%85%AC%E5%85%B1%E8%B6%85%E5%BA%8F%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月28号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1641.%20%E7%BB%9F%E8%AE%A1%E5%AD%97%E5%85%B8%E5%BA%8F%E5%85%83%E9%9F%B3%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月29号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/1637.%20%E4%B8%A4%E7%82%B9%E4%B9%8B%E9%97%B4%E4%B8%8D%E5%8C%85%E5%90%AB%E4%BB%BB%E4%BD%95%E7%82%B9%E7%9A%84%E6%9C%80%E5%AE%BD%E5%9E%82%E7%9B%B4%E5%8C%BA%E5%9F%9F/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月30号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B43%E6%9C%88/2367.%20%E7%AE%97%E6%9C%AF%E4%B8%89%E5%85%83%E7%BB%84%E7%9A%84%E6%95%B0%E7%9B%AE/" class="md-nav__link">
<span class="md-ellipsis">
2023年3月31号
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
<label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
<span class="md-ellipsis">
2023年4月
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_1_2">
<span class="md-nav__icon md-icon"></span>
2023年4月
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/831.%20%E9%9A%90%E8%97%8F%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月1号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/1039.%20%E5%A4%9A%E8%BE%B9%E5%BD%A2%E4%B8%89%E8%A7%92%E5%89%96%E5%88%86%E7%9A%84%E6%9C%80%E4%BD%8E%E5%BE%97%E5%88%86/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月2号
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E6%AF%8F%E6%97%A5%E4%B8%80%E9%A2%98/2023%E5%B9%B44%E6%9C%88/1053.%20%E4%BA%A4%E6%8D%A2%E4%B8%80%E6%AC%A1%E7%9A%84%E5%85%88%E5%89%8D%E6%8E%92%E5%88%97/" class="md-nav__link">
<span class="md-ellipsis">
2023年4月3号
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
<span class="md-ellipsis">
学习计划
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2">
<span class="md-nav__icon md-icon"></span>
学习计划
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_1" >
<label class="md-nav__link" for="__nav_2_2_1" id="__nav_2_2_1_label" tabindex="0">
<span class="md-ellipsis">
算法入门
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2_1">
<span class="md-nav__icon md-icon"></span>
算法入门
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%85%A5%E9%97%A8/%E7%AC%AC%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第一天
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_2" >
<label class="md-nav__link" for="__nav_2_2_2" id="__nav_2_2_2_label" tabindex="0">
<span class="md-ellipsis">
算法基础
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2_2">
<span class="md-nav__icon md-icon"></span>
算法基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第一天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%8C%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第二天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%89%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第三天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%9B%9B%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第四天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%94%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第五天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%85%AD%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第六天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B8%83%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第七天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%85%AB%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第八天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%B9%9D%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第九天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%80%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十一天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%BA%8C%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十二天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%89%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十三天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%9B%9B%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十四天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%BA%94%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十五天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%85%AD%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十六天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B8%83%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十七天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E5%85%AB%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十八天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E5%8D%81%E4%B9%9D%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第十九天
</span>
</a>
</li>
<li class="md-nav__item">
<a href="leetcode/%E5%AD%A6%E4%B9%A0%E8%AE%A1%E5%88%92/%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80/%E7%AC%AC%E4%BA%8C%E5%8D%81%E5%A4%A9/" class="md-nav__link">
<span class="md-ellipsis">
第二十天
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<span class="md-ellipsis">
机器学习
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
机器学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1" >
<label class="md-nav__link" for="__nav_3_1" id="__nav_3_1_label" tabindex="0">
<span class="md-ellipsis">
Python机器学习简单应用
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_1">
<span class="md-nav__icon md-icon"></span>
Python机器学习简单应用
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/introduction/" class="md-nav__link">
<span class="md-ellipsis">
介绍
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/dataset/" class="md-nav__link">
<span class="md-ellipsis">
数据集说明
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/predict/" class="md-nav__link">
<span class="md-ellipsis">
预测算法
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/Python%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%80%E5%8D%95%E5%BA%94%E7%94%A8/sorting/" class="md-nav__link">
<span class="md-ellipsis">
分类算法
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<span class="md-ellipsis">
MarkDown语法
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
MarkDown语法
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%A0%87%E9%A2%98/" class="md-nav__link">
<span class="md-ellipsis">
Markdown标题
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E6%AE%B5%E8%90%BD%E6%A0%BC%E5%BC%8F/" class="md-nav__link">
<span class="md-ellipsis">
Markdown段落格式
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%88%97%E8%A1%A8/" class="md-nav__link">
<span class="md-ellipsis">
Markdown列表
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%8C%BA%E5%9D%97/" class="md-nav__link">
<span class="md-ellipsis">
Markdown区块
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E4%BB%A3%E7%A0%81/" class="md-nav__link">
<span class="md-ellipsis">
Markdown代码
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E9%93%BE%E6%8E%A5/" class="md-nav__link">
<span class="md-ellipsis">
Markdown链接
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E5%9B%BE%E7%89%87/" class="md-nav__link">
<span class="md-ellipsis">
Markdown图片
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E8%A1%A8%E6%A0%BC/" class="md-nav__link">
<span class="md-ellipsis">
Markdown表格
</span>
</a>
</li>
<li class="md-nav__item">
<a href="MarkDown%E8%AF%AD%E6%B3%95/Markdown%E9%AB%98%E7%BA%A7%E6%8A%80%E5%B7%A7/" class="md-nav__link">
<span class="md-ellipsis">
Markdown高级技巧
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<span class="md-ellipsis">
Git详解
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Git详解
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="Git%E8%AF%A6%E8%A7%A3/%E4%B8%8A%E4%BC%A0%E5%88%B0%E4%BB%93%E5%BA%93/" class="md-nav__link">
<span class="md-ellipsis">
上传到仓库
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
<span class="md-ellipsis">
数据库相关
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
数据库相关
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
<span class="md-ellipsis">
SQL教程
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
SQL教程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E7%AE%80%E4%BB%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 简介
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%E8%AF%AD%E6%B3%95/" class="md-nav__link">
<span class="md-ellipsis">
SQL 语法
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20SELECT/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20SELECT%20DISTINCT/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT DISTINCT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20WHERE/" class="md-nav__link">
<span class="md-ellipsis">
SQL WHERE 子句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20AND%20%26%20OR/" class="md-nav__link">
<span class="md-ellipsis">
SQL AND & OR 运算符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20ORDER%20BY/" class="md-nav__link">
<span class="md-ellipsis">
SQL ORDER BY 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20INSERT%20INTO/" class="md-nav__link">
<span class="md-ellipsis">
SQL INSERT INTO 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20UPDATE/" class="md-nav__link">
<span class="md-ellipsis">
SQL UPDATE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E6%95%99%E7%A8%8B/SQL%20DELETE/" class="md-nav__link">
<span class="md-ellipsis">
SQL DELETE 语句
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
SQL高级教程
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
SQL高级教程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20SELECT%20TOP/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT TOP, LIMIT, ROWNUM 子句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20LIKE/" class="md-nav__link">
<span class="md-ellipsis">
SQL LIKE 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E9%80%9A%E9%85%8D%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL 通配符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20IN%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL IN 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20BETWEEN%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL BETWEEN 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E5%88%AB%E5%90%8D/" class="md-nav__link">
<span class="md-ellipsis">
SQL 别名
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E8%BF%9E%E6%8E%A5%28JOIN%29/" class="md-nav__link">
<span class="md-ellipsis">
SQL 连接(JOIN)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20INNER%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL INNER JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20LEFT%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL LEFT JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20RIGHT%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL RIGHT JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20FULL%20OUTER%20JOIN%20%E5%85%B3%E9%94%AE%E5%AD%97/" class="md-nav__link">
<span class="md-ellipsis">
SQL FULL OUTER JOIN 关键字
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20UNION%20%E6%93%8D%E4%BD%9C%E7%AC%A6/" class="md-nav__link">
<span class="md-ellipsis">
SQL UNION 操作符
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20SELECT%20INTO%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL SELECT INTO 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20INSERT%20INTO%20SELECT%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL INSERT INTO SELECT 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20DATABASE%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE DATABASE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20TABLE%20%E8%AF%AD%E5%8F%A5/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE TABLE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E7%BA%A6%E6%9D%9F/" class="md-nav__link">
<span class="md-ellipsis">
SQL 约束(Constraints)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NOT%20NULL/" class="md-nav__link">
<span class="md-ellipsis">
SQL NOT NULL 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20UNIQUE/" class="md-nav__link">
<span class="md-ellipsis">
SQL UNIQUE 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20PRIMARY%20KEY/" class="md-nav__link">
<span class="md-ellipsis">
SQL PRIMARY KEY 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20FOREIGN%20KEY/" class="md-nav__link">
<span class="md-ellipsis">
SQL FOREIGN KEY 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CHECK/" class="md-nav__link">
<span class="md-ellipsis">
SQL CHECK 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DEFAULT/" class="md-nav__link">
<span class="md-ellipsis">
SQL DEFAULT 约束
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20CREATE%20INDEX/" class="md-nav__link">
<span class="md-ellipsis">
SQL CREATE INDEX 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DROP/" class="md-nav__link">
<span class="md-ellipsis">
SQL 撤销索引、撤销表以及撤销数据库
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20ALTER%20TABLE/" class="md-nav__link">
<span class="md-ellipsis">
SQL ALTER TABLE 语句
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20AUTO%20INCREMENT/" class="md-nav__link">
<span class="md-ellipsis">
SQL AUTO INCREMENT 字段
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E8%A7%86%E5%9B%BE/" class="md-nav__link">
<span class="md-ellipsis">
SQL 视图(Views)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E6%97%A5%E6%9C%9F/" class="md-nav__link">
<span class="md-ellipsis">
SQL Date 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NULL%20%E5%80%BC/" class="md-nav__link">
<span class="md-ellipsis">
SQL NULL 值
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20NULL%20%E5%87%BD%E6%95%B0/" class="md-nav__link">
<span class="md-ellipsis">
SQL NULL 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20%E9%80%9A%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 通用数据类型
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B/SQL%20DB%20%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/" class="md-nav__link">
<span class="md-ellipsis">
SQL 用于各种数据库的数据类型
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" >
<label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
<span class="md-ellipsis">
SQL函数
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_3">
<span class="md-nav__icon md-icon"></span>
SQL函数
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E5%87%BD%E6%95%B0/" class="md-nav__link">
<span class="md-ellipsis">
SQL 函数
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83/" class="md-nav__link">
<span class="md-ellipsis">
SQL 快速参考
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E5%87%BD%E6%95%B0%E5%A4%A7%E5%85%A8/" class="md-nav__link">
<span class="md-ellipsis">
SQL 函数大全
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E4%B8%BB%E6%9C%BA/" class="md-nav__link">
<span class="md-ellipsis">
SQL 主机
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/SQL%E5%87%BD%E6%95%B0/SQL%20%E6%80%BB%E7%BB%93/" class="md-nav__link">
<span class="md-ellipsis">
SQL 总结
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
<span class="md-ellipsis">
探店系列
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
探店系列
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A5%BD%E5%91%B3%E9%81%93%205%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
好味道 5❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%85%B0%E5%B7%9E%E6%8B%89%E9%9D%A2%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
兰州拉面 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E5%B9%B2%E7%BA%BF%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新干线 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%99%95%E8%A5%BF%E9%9D%A2%E9%A6%86%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
陕西面馆 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%97%BA%E8%A7%92%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
旺角茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%B7%B1%E8%A1%97%E5%B0%8F%E5%B7%B7%E8%9E%BA%E8%9B%B3%E7%B2%89%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
深街小巷螺蛳粉 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E8%80%81%E5%8F%8B%E8%AE%B0%E6%B8%AF%E5%BC%8F%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
老友记港式茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E4%BA%91%E5%8D%97%E7%93%A6%E9%A6%99%E9%B8%A1%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
云南瓦香鸡 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/168%E8%8C%B6%E9%A4%90%E5%8E%85%204%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
168茶餐厅 4❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%B2%A4%E8%8F%9C%E7%9A%87%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
粤菜皇 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%94%85%E5%B7%B4%E9%A6%99%E7%85%B2%E4%BB%94%E9%A5%AD%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
锅巴香煲仔饭 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%98%8E%E6%96%B0%E7%BE%8E%E9%A3%9F%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
明新美食 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%83%A4%E9%B1%BC%E4%B8%96%E5%AE%B6%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
烤鱼世家 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E7%96%86%E7%82%92%E7%B1%B3%E7%B2%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新疆炒米粉 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%8D%97%E6%98%8C%E6%8B%8C%E7%B2%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
南昌拌粉 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E6%96%B0%E8%8A%B3%E5%B7%B7%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
新芳巷 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E8%A5%BF%E9%9B%85%E7%83%98%E7%84%99%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
西雅烘焙 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%8A%AF%E8%A7%84%E5%B0%8F%E5%8E%A8%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
犯规小厨 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%B2%9C%E6%9E%9C%E6%97%B6%E5%85%89%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
鲜果时光 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%A0%95%E8%90%BD%E7%9A%84%E5%95%B5%E5%95%B5%E9%B1%BC%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
堕落的啵啵鱼 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%98%BF%E5%96%9C%E7%8C%AA%E6%89%92%E5%8C%85%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
阿喜猪扒包 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%93%81%E9%A6%99%E8%8C%B6%203%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
品香茶 3❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%87%8D%E5%BA%86%E9%B8%A1%E5%85%AC%E7%85%B2%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
重庆鸡公煲 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E7%86%8A%E5%AE%B6%E6%97%A0%E4%BA%8C%E9%9F%A9%E5%BC%8F%E7%82%B8%E9%B8%A1%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
熊家无二韩式炸鸡 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E4%B8%89%E6%B1%81%E7%84%96%E9%94%85%202%E2%9D%A4/" class="md-nav__link">
<span class="md-ellipsis">
三汁焖锅 2❤
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E9%A3%9F%E5%85%89%E6%B2%99%E6%8B%89/" class="md-nav__link">
<span class="md-ellipsis">
食光沙拉
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/Yuki%E8%BD%BB%E9%A3%9F/" class="md-nav__link">
<span class="md-ellipsis">
Yuki轻食
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%BC%A0%E7%A7%80%E6%A2%85%E7%83%A4%E8%82%89%E6%8B%8C%E9%A5%AD/" class="md-nav__link">
<span class="md-ellipsis">
张秀梅烤肉拌饭
</span>
</a>
</li>
<li class="md-nav__item">
<a href="%E6%8E%A2%E5%BA%97%E7%B3%BB%E5%88%97/%E5%8C%97%E6%B5%B7%E9%81%93/" class="md-nav__link">
<span class="md-ellipsis">
北海道
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<div class="md-nav__link md-nav__container">
<a href="blog/" class="md-nav__link ">
<span class="md-ellipsis">
Blog
</span>
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Blog
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_2" >
<label class="md-nav__link" for="__nav_8_2" id="__nav_8_2_label" tabindex="0">
<span class="md-ellipsis">
归档
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_2">
<span class="md-nav__icon md-icon"></span>
归档
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/archive/2023/" class="md-nav__link">
<span class="md-ellipsis">
2023
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_3" >
<label class="md-nav__link" for="__nav_8_3" id="__nav_8_3_label" tabindex="0">
<span class="md-ellipsis">
分类
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_3">
<span class="md-nav__icon md-icon"></span>
分类
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/category/general/" class="md-nav__link">
<span class="md-ellipsis">
General
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
<span class="md-ellipsis">
关于
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
关于
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="about/" class="md-nav__link">
<span class="md-ellipsis">
关于
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
</article>
</div>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
回到页面顶部
</button>
</main>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.tabs.sticky", "toc.integrate", "navigation.top", "navigation.indexes", "header.autohide"], "search": "assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script>
<script src="assets/javascripts/bundle.cd18aaf1.min.js"></script>
<script src="assets/javascripts/custom.fe17d8dd.min.js"></script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。