diff options
Diffstat (limited to 'themes/even')
-rw-r--r-- | themes/even/src/css/_partial/_post/_header.scss | 2 | ||||
-rw-r--r-- | themes/even/static/dist/even.min.css | 2 | ||||
-rw-r--r-- | themes/even/static/dist/even.min.css.map | 2 | ||||
-rw-r--r-- | themes/even/static/dist/even.min.js.map | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/themes/even/src/css/_partial/_post/_header.scss b/themes/even/src/css/_partial/_post/_header.scss index 7faf4e3..d2a3cd5 100644 --- a/themes/even/src/css/_partial/_post/_header.scss +++ b/themes/even/src/css/_partial/_post/_header.scss @@ -5,7 +5,7 @@ margin: 0; font-size: $post-title-font-size; font-weight: $post-title-font-weight; - font-family: $global-serif-font-family; + font-family: $global-font-family; } .post-link { diff --git a/themes/even/static/dist/even.min.css b/themes/even/static/dist/even.min.css index e720605..41c919e 100644 --- a/themes/even/static/dist/even.min.css +++ b/themes/even/static/dist/even.min.css @@ -1,4 +1,4 @@ @font-face{font-family:Chancery;src:url(fonts/chancery/apple-chancery-webfont.eot);src:local("Apple Chancery"),url(fonts/chancery/apple-chancery-webfont.eot?#iefix) format("embedded-opentype"),url(fonts/chancery/apple-chancery-webfont.woff2) format("woff2"),url(fonts/chancery/apple-chancery-webfont.woff) format("woff"),url(fonts/chancery/apple-chancery-webfont.ttf) format("truetype"),url(fonts/chancery/apple-chancery-webfont.svg#apple-chancery) format("svg");font-weight:lighter;font-style:normal} -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}body{padding:0;margin:0;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:#34495e;background:#fefefe;scroll-behavior:smooth;border-top:3px solid #16982b}@media screen and (max-width:800px){body{border-top:0}}::-moz-selection{background:#16982b;color:#fff}::selection{background:#16982b;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:#34495e;text-decoration:none}h1{font-size:26px}h1,h2{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h2{font-size:24px}h3{font-size:20px}h3,h4{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h4{font-size:16px}h5,h6{font-size:14px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.container{margin:0 auto;width:800px}@media screen and (max-width:800px){.container{width:100%;-webkit-box-shadow:-1px -5px 5px #cacaca;box-shadow:-1px -5px 5px #cacaca}}.content-wrapper{padding:0 20px}.video-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.svg-icon{width:40px;height:40px;display:inline-block}.svg-icon.email{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+)}.svg-icon.github{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==)}.svg-icon.rss{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=)}.svg-icon.twitter{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+)}.svg-icon.keybase{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=)}@font-face{font-family:iconfont;src:url(fonts/iconfont/iconfont.eot?hash=c2af3bb);src:url(fonts/iconfont/iconfont.eot?hash=c2af3bb#iefix) format("embedded-opentype"),url(fonts/iconfont/iconfont.woff?hash=5d21a10) format("woff"),url(fonts/iconfont/iconfont.ttf?hash=0e6028a) format("truetype"),url(fonts/iconfont/iconfont.svg?hash=566e23f#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;cursor:pointer}.icon-instagram:before{font-size:.95em;content:"\E611";position:relative;top:-1px}.icon-douban:before{content:"\E610"}.icon-tumblr:before{content:"\E69F";font-size:.85em;position:relative;top:-4px}.icon-linkedin:before{content:"\E60D";position:relative;top:-4px}.icon-twitter:before{content:"\E600"}.icon-weibo:before{content:"\E602"}.icon-stack-overflow:before{content:"\E603";font-size:.85em;position:relative;top:-4px}.icon-email:before{content:"\E605";position:relative;top:-2px}.icon-facebook:before{content:"\E601";font-size:.95em;position:relative;top:-2px}.icon-github:before{content:"\E606";position:relative;top:-3px}.icon-rss:before{content:"\E604"}.icon-google:before{content:"\E609"}.icon-zhihu:before{content:"\E607";font-size:.9em;position:relative;top:-2px}.icon-pocket:before{content:"\E856"}.icon-heart:before{content:"\E608"}.icon-right:before{content:"\E60A"}.icon-left:before{content:"\E60B"}.icon-up:before{content:"\E60C"}.icon-close:before{content:"\E60F"}.header{padding:20px}.header:after,.header:before{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left}.header .logo-wrapper .logo{font-size:48px;font-family:sans-serif}@media screen and (max-width:800px){.header .logo-wrapper{display:none}}.header .site-navbar{float:right}.header .site-navbar .menu{display:inline-block;position:relative;padding-left:0;padding-right:25px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.header .site-navbar .menu .menu-item{display:inline-block;vertical-align:middle;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.header .site-navbar .menu .menu-item+.menu-item{margin-left:10px}.header .site-navbar .menu .menu-item:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#16982b;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:right,left;transition-property:right,left;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.header .site-navbar .menu .menu-item.active:before,.header .site-navbar .menu .menu-item:active:before,.header .site-navbar .menu .menu-item:focus:before,.header .site-navbar .menu .menu-item:hover:before{right:0;left:0}.header .site-navbar .menu .menu-item-link{font-size:18px}@media screen and (max-width:800px){.header .site-navbar{display:none}}@media screen and (max-width:800px){.header{padding:50px 0 0;text-align:center}}.posts{margin-bottom:20px;border-bottom:1px solid #e6e6e6}.post{padding:1.5em 0}.post+.post{border-top:1px solid #e6e6e6}.post .post-header{margin-bottom:20px}.post .post-header .post-title{margin:0;font-size:27px;font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-header .post-link{display:inline-block;vertical-align:middle;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.post .post-header .post-link:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#16982b;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:right,left;transition-property:right,left;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.post .post-header .post-link.active:before,.post .post-header .post-link:active:before,.post .post-header .post-link:focus:before,.post .post-header .post-link:hover:before{right:0;left:0}.post .post-header .post-meta{font-size:14px;color:#8a8a8a}.post .post-header .post-meta .post-time{font-size:15px}.post .post-header .post-meta .post-category{display:inline}.post .post-header .post-meta .post-category a{color:inherit}.post .post-header .post-meta .post-category a:before{content:"\B7"}.post .post-header .post-meta .post-category a:hover{color:#16982b}.post .post-header .post-meta .more-meta:before{content:"\B7"}.post .post-toc{position:absolute;width:200px;margin-left:785px;padding:10px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;border-radius:5px;background:hsla(0,0%,96%,.6);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125);word-wrap:break-word;-webkit-box-sizing:border-box;box-sizing:border-box}.post .post-toc .post-toc-title{margin:0 10px;font-size:20px;font-weight:400;text-transform:uppercase}.post .post-toc .post-toc-content{font-size:15px}.post .post-toc .post-toc-content.always-active ul{display:block}.post .post-toc .post-toc-content>nav>ul{margin:10px 0}.post .post-toc .post-toc-content ul{padding-left:20px;list-style:square}.post .post-toc .post-toc-content ul ul{padding-left:15px;display:none}.post .post-toc .post-toc-content ul .has-active>ul{display:block}.post .post-toc .post-toc-content .toc-link.active{color:#16982b}@media screen and (max-width:1185px){.post .post-toc{display:none}}.post .post-content{word-wrap:break-word}.post .post-content h1,.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5,.post .post-content h6{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content a{color:#16982b;word-break:break-all}.post .post-content a:hover{border-bottom:1px solid #16982b}.post .post-content a.fancybox{border:0}.post .post-content blockquote{margin:2em 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(22,152,43,.05);border-left:3px solid rgba(22,152,43,.3);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content blockquote p{margin:0}.post .post-content img{display:inline-block;max-width:100%}.post .post-content>table{max-width:100%;margin:10px 0;border-spacing:0;-webkit-box-shadow:2px 2px 3px rgba(0,0,0,.125);box-shadow:2px 2px 3px rgba(0,0,0,.125)}.post .post-content>table thead{background:#f5f5f5}.post .post-content>table td,.post .post-content>table th{padding:5px 15px;border:1px double #ededed}.post .post-content>table tr:hover{background-color:#f5f5f5}.post .post-content code,.post .post-content pre{padding:7px;font-size:13px;font-family:Consolas,Monaco,Menlo,monospace;background:#f5f5f5}.post .post-content code{padding:3px 5px;border-radius:4px;color:#c7254e}.post .post-content figure.highlight{margin:1em 0;border-radius:5px;overflow-x:auto;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative}.post .post-content figure.highlight table{position:relative}.post .post-content figure.highlight table:after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b1b1;background:#ededed;content:"Code"}.post .post-content figure.highlight.language-bash>table:after{content:"Bash"}.post .post-content figure.highlight.language-c>table:after{content:"C"}.post .post-content figure.highlight.language-cs>table:after{content:"C#"}.post .post-content figure.highlight.language-cpp>table:after{content:"C++"}.post .post-content figure.highlight.language-css>table:after{content:"CSS"}.post .post-content figure.highlight.language-coffeescript>table:after{content:"CoffeeScript"}.post .post-content figure.highlight.language-html>table:after{content:"HTML"}.post .post-content figure.highlight.language-xml>table:after{content:"XML"}.post .post-content figure.highlight.language-http>table:after{content:"HTTP"}.post .post-content figure.highlight.language-json>table:after{content:"JSON"}.post .post-content figure.highlight.language-java>table:after{content:"Java"}.post .post-content figure.highlight.language-javascript>table:after,.post .post-content figure.highlight.language-js>table:after{content:"JavaScript"}.post .post-content figure.highlight.language-makefile>table:after{content:"Makefile"}.post .post-content figure.highlight.language-markdown>table:after{content:"Markdown"}.post .post-content figure.highlight.language-objectivec>table:after{content:"Objective-C"}.post .post-content figure.highlight.language-php>table:after{content:"PHP"}.post .post-content figure.highlight.language-perl>table:after{content:"Perl"}.post .post-content figure.highlight.language-python>table:after{content:"Python"}.post .post-content figure.highlight.language-ruby>table:after{content:"Ruby"}.post .post-content figure.highlight.language-sql>table:after{content:"SQL"}.post .post-content figure.highlight.language-shell>table:after{content:"Shell"}.post .post-content figure.highlight.language-erlang>table:after{content:"Erlang"}.post .post-content figure.highlight.language-go>table:after{content:"Go"}.post .post-content figure.highlight.language-groovy>table:after{content:"Groovy"}.post .post-content figure.highlight.language-haskell>table:after{content:"Haskell"}.post .post-content figure.highlight.language-kotlin>table:after{content:"Kotlin"}.post .post-content figure.highlight.language-less>table:after{content:"Less"}.post .post-content figure.highlight.language-lisp>table:after{content:"Lisp"}.post .post-content figure.highlight.language-lua>table:after{content:"Lua"}.post .post-content figure.highlight.language-matlab>table:after{content:"Matlab"}.post .post-content figure.highlight.language-rust>table:after{content:"Rust"}.post .post-content figure.highlight.language-scss>table:after{content:"Scss"}.post .post-content figure.highlight.language-scala>table:after{content:"Scala"}.post .post-content figure.highlight.language-swift>table:after{content:"Swift"}.post .post-content figure.highlight.language-typescript>table:after{content:"TypeScript"}.post .post-content figure.highlight.language-yaml>table:after,.post .post-content figure.highlight.language-yml>table:after{content:"YAML"}.post .post-content figure.highlight.language-toml>table:after{content:"TOML"}.post .post-content figure.highlight .code pre{margin:0;padding:30px 10px 10px}.post .post-content figure.highlight .gutter{width:10px;color:#cacaca}.post .post-content figure.highlight .gutter pre{margin:0;padding:30px 7px 10px}.post .post-content figure.highlight .line{height:20px}.post .post-content figure.highlight table,.post .post-content figure.highlight td,.post .post-content figure.highlight tr{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content figure.highlight .code .hljs-comment,.post .post-content figure.highlight .code .hljs-quote{color:#93a1a1}.post .post-content figure.highlight .code .hljs-addition,.post .post-content figure.highlight .code .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-tag{color:#859900}.post .post-content figure.highlight .code .hljs-doctag,.post .post-content figure.highlight .code .hljs-literal,.post .post-content figure.highlight .code .hljs-meta .hljs-meta-string,.post .post-content figure.highlight .code .hljs-number,.post .post-content figure.highlight .code .hljs-regexp,.post .post-content figure.highlight .code .hljs-string{color:#2aa198}.post .post-content figure.highlight .code .hljs-name,.post .post-content figure.highlight .code .hljs-section,.post .post-content figure.highlight .code .hljs-selector-class,.post .post-content figure.highlight .code .hljs-selector-id,.post .post-content figure.highlight .code .hljs-title{color:#268bd2}.post .post-content figure.highlight .code .hljs-attr,.post .post-content figure.highlight .code .hljs-attribute,.post .post-content figure.highlight .code .hljs-class .hljs-title,.post .post-content figure.highlight .code .hljs-template-variable,.post .post-content figure.highlight .code .hljs-type,.post .post-content figure.highlight .code .hljs-variable{color:#b58900}.post .post-content figure.highlight .code .hljs-bullet,.post .post-content figure.highlight .code .hljs-link,.post .post-content figure.highlight .code .hljs-meta,.post .post-content figure.highlight .code .hljs-meta .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-attr,.post .post-content figure.highlight .code .hljs-selector-pseudo,.post .post-content figure.highlight .code .hljs-subst,.post .post-content figure.highlight .code .hljs-symbol{color:#cb4b16}.post .post-content figure.highlight .code .hljs-built_in,.post .post-content figure.highlight .code .hljs-deletion{color:#dc322f}.post .post-content figure.highlight .code .hljs-formula{background:#eee8d5}.post .post-content figure.highlight .code .hljs-emphasis{font-style:italic}.post .post-content figure.highlight .code .hljs-strong{font-weight:700}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more .read-more-link{color:#16982b;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #16982b}.post .post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #b5b5b5;box-shadow:inset 0 -1px 0 #b5b5b5;font-size:.8em;line-height:1.25;font-family:SFMono-Regular,Liberation Mono,Roboto Mono,Menlo,Monaco,Consolas,Courier New,Courier,monospace;color:#4a4a4a}.post .post-content dl dt:after{content:":"}.post .post-content figure.center{text-align:center}.post .post-content figure.right{text-align:right}.post .post-content figure.left{text-align:left}.post .post-content figure figcaption h4{color:#b5b5b5;font-size:.9rem}.post .post-content .task-list{list-style:none;padding-left:1.5rem}.post .post-content .align-center{text-align:center}.post .post-content .align-right{text-align:right}.post .post-content .align-left{text-align:left}.post .post-content .MJXc-display{overflow-x:auto;overflow-y:hidden}.post .post-copyright{margin-top:20px;padding-top:10px;border-top:1px dashed #e6e6e6}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#16982b;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #16982b}.post .post-copyright .copyright-item .item-title{display:inline-block;min-width:5rem;margin-right:.5rem;text-align:right}.post .post-copyright .copyright-item .item-title:after{content:" :"}.post .post-reward{margin-top:20px;padding-top:10px;text-align:center;border-top:1px dashed #e6e6e6}.post .post-reward .reward-button{margin:15px 0;padding:3px 7px;display:inline-block;color:#16982b;border:1px solid #16982b;border-radius:5px;cursor:pointer}.post .post-reward .reward-button:hover{color:#fefefe;background-color:#16982b;-webkit-transition:.5s;transition:.5s}.post .post-reward #reward:checked~.qr-code{display:block}.post .post-reward #reward:checked~.reward-button,.post .post-reward .qr-code{display:none}.post .post-reward .qr-code .qr-code-image{display:inline-block;min-width:200px;width:40%;margin-top:15px}.post .post-reward .qr-code .qr-code-image span{display:inline-block;width:100%;margin:8px 0}.post .post-reward .qr-code .image{width:200px;height:200px}.post .post-tags{padding:15px 0}.post .post-tags a{margin-right:5px;color:#16982b;word-break:break-all}.post .post-tags a:before{content:"#"}.post .post-footer{margin-top:20px;border-top:1px solid #e6e6e6;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#16982b;word-break:break-all}.post .post-footer .post-tags a:before{content:"#"}.post .post-footer .post-nav{margin:1em 0}.post .post-footer .post-nav:after,.post .post-footer .post-nav:before{content:" ";display:table}.post .post-footer .post-nav:after{clear:both}.post .post-footer .post-nav .next,.post .post-footer .post-nav .prev{font-weight:600;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s}.post .post-footer .post-nav .prev{float:left}.post .post-footer .post-nav .prev:hover{color:#16982b;-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#16982b;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:800px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post .post-outdated .hint{border-left:4px solid #42acf3;background-color:#eff5ff;border-color:#42acf3}.post .post-outdated .hint,.post .post-outdated .warn{position:relative;margin-top:20px;margin-bottom:20px;padding:5px 10px}.post .post-outdated .warn{border-left:4px solid #f9cf63;background-color:#ffffc0;border-color:#f9cf63}.pagination{margin:2em 0}.pagination:after,.pagination:before{content:" ";display:table}.pagination:after{clear:both}.pagination .next,.pagination .prev{font-weight:600;font-size:20px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#16982b;-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#16982b;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.footer{margin-top:2em}.footer .social-links{text-align:center}.footer .social-links .iconfont{font-size:30px}.footer .social-links .iconfont+.iconfont{margin-left:10px}.footer .social-links .iconfont:hover{color:#16982b}.footer .copyright{margin:10px 0;color:#8a8a8a;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#16982b}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{font-size:14px}.archive{margin:2em 0;max-width:550px}.archive .archive-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .archive-title.category,.archive .archive-title.tag{margin:15px 0}.archive .archive-title .archive-name{margin:0;display:inline-block;font-weight:400;font-size:30px;line-height:32px}.archive .archive-title .archive-post-counter{color:#8a8a8a}.archive .collection-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .collection-title .archive-year{margin:15px 0;font-weight:400;font-size:28px;line-height:30px}.archive .archive-post{padding:3px 20px;border-left:1px solid #cacaca}.archive .archive-post .archive-post-time{margin-right:10px;color:#8a8a8a}.archive .archive-post .archive-post-title .archive-post-link{color:#16982b}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{border-left:3px solid #16982b;-webkit-transition:.2s ease-out;transition:.2s ease-out;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#717171}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#106b1e}@media screen and (max-width:800px){.archive{margin-left:auto;margin-right:auto}.archive .archive-title .archive-name{font-size:26px}.archive .collection-title .archive-year{margin:10px 0;font-size:24px}.archive .archive-post{padding:5px 10px}.archive .archive-post .archive-post-time{font-size:13px;display:block}}.tag-cloud{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.tag-cloud .tag-cloud-title{display:inline-block;font-size:18px;color:#16982b;border-bottom:2px solid #16982b}.tag-cloud .tag-cloud-tags{margin:10px 0}.tag-cloud .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.tag-cloud .tag-cloud-tags a .tag-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#16982b;font-size:12px}.tag-cloud .tag-cloud-tags a:active,.tag-cloud .tag-cloud-tags a:focus,.tag-cloud .tag-cloud-tags a:hover{color:#16982b;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.categories{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.categories .categories-title{display:inline-block;font-size:18px;color:#16982b;border-bottom:2px solid #16982b}.categories .categories-tags{margin:10px 0}.categories .categories-tags .category-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.categories .categories-tags .category-link .category-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#16982b;font-size:12px}.categories .categories-tags .category-link:active,.categories .categories-tags .category-link:focus,.categories .categories-tags .category-link:hover{color:#16982b;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.slideout-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-panel{position:relative;z-index:1;background-color:#fefefe;min-height:100vh}.slideout-open,.slideout-open .slideout-panel,.slideout-open body{overflow:hidden}.slideout-open .slideout-menu{display:block}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fefefe;-webkit-box-shadow:0 2px 2px #cacaca;box-shadow:0 2px 2px #cacaca;text-align:center;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;z-index:99}.mobile-navbar.fixed-open{-webkit-transform:translate3d(180px,0,0);transform:translate3d(180px,0,0)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px;font-family:sans-serif}.mobile-navbar .mobile-navbar-icon{color:#16982b;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;-webkit-transition:background .5s;transition:background .5s}@-webkit-keyframes clickfirst{0%{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}}@keyframes clickfirst{0%{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}}@-webkit-keyframes clickmid{0%{opacity:1}to{opacity:0}}@keyframes clickmid{0%{opacity:1}to{opacity:0}}@-webkit-keyframes clicklast{0%{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}}@keyframes clicklast{0%{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}}@-webkit-keyframes outfirst{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}to{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}}@keyframes outfirst{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}to{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}}@-webkit-keyframes outmid{0%{opacity:0}to{opacity:1}}@keyframes outmid{0%{opacity:0}to{opacity:1}}@-webkit-keyframes outlast{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}to{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}}@keyframes outlast{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}to{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px) / 2);top:calc((100% - 1px) / 2);width:20px;height:1px;background-color:#16982b}.mobile-navbar .mobile-navbar-icon span:first-child{-webkit-transform:translateY(6px) rotate(0deg);-ms-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){-webkit-transform:translateY(-6px) rotate(0deg);-ms-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon.icon-click span:first-child{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clickfirst;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clickmid;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clicklast;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:first-child{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outfirst;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outmid;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outlast;animation-name:outlast}.mobile-menu{background-color:hsla(0,0%,96%,.5)}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f5f5f5}.mobile-menu .mobile-menu-list .mobile-menu-item{padding:10px 30px;border-bottom:1px solid #f5f5f5}.mobile-menu .mobile-menu-list a{font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.mobile-menu .mobile-menu-list a:hover{color:#16982b}@media screen and (max-width:800px){.mobile-navbar{display:block}}.back-to-top{display:none;position:fixed;right:20px;bottom:20px;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s;z-index:10}.back-to-top:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}@media screen and (max-width:800px){.back-to-top{display:none!important}}.not-found{text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{color:#16982b} +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}body{padding:0;margin:0;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:#34495e;background:#fefefe;scroll-behavior:smooth;border-top:3px solid #16982b}@media screen and (max-width:800px){body{border-top:0}}::-moz-selection{background:#16982b;color:#fff}::selection{background:#16982b;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:#34495e;text-decoration:none}h1{font-size:26px}h1,h2{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h2{font-size:24px}h3{font-size:20px}h3,h4{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h4{font-size:16px}h5,h6{font-size:14px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.container{margin:0 auto;width:800px}@media screen and (max-width:800px){.container{width:100%;-webkit-box-shadow:-1px -5px 5px #cacaca;box-shadow:-1px -5px 5px #cacaca}}.content-wrapper{padding:0 20px}.video-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.svg-icon{width:40px;height:40px;display:inline-block}.svg-icon.email{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+)}.svg-icon.github{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==)}.svg-icon.rss{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=)}.svg-icon.twitter{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+)}.svg-icon.keybase{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=)}@font-face{font-family:iconfont;src:url(fonts/iconfont/iconfont.eot?hash=c2af3bb);src:url(fonts/iconfont/iconfont.eot?hash=c2af3bb#iefix) format("embedded-opentype"),url(fonts/iconfont/iconfont.woff?hash=5d21a10) format("woff"),url(fonts/iconfont/iconfont.ttf?hash=0e6028a) format("truetype"),url(fonts/iconfont/iconfont.svg?hash=566e23f#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;cursor:pointer}.icon-instagram:before{font-size:.95em;content:"\E611";position:relative;top:-1px}.icon-douban:before{content:"\E610"}.icon-tumblr:before{content:"\E69F";font-size:.85em;position:relative;top:-4px}.icon-linkedin:before{content:"\E60D";position:relative;top:-4px}.icon-twitter:before{content:"\E600"}.icon-weibo:before{content:"\E602"}.icon-stack-overflow:before{content:"\E603";font-size:.85em;position:relative;top:-4px}.icon-email:before{content:"\E605";position:relative;top:-2px}.icon-facebook:before{content:"\E601";font-size:.95em;position:relative;top:-2px}.icon-github:before{content:"\E606";position:relative;top:-3px}.icon-rss:before{content:"\E604"}.icon-google:before{content:"\E609"}.icon-zhihu:before{content:"\E607";font-size:.9em;position:relative;top:-2px}.icon-pocket:before{content:"\E856"}.icon-heart:before{content:"\E608"}.icon-right:before{content:"\E60A"}.icon-left:before{content:"\E60B"}.icon-up:before{content:"\E60C"}.icon-close:before{content:"\E60F"}.header{padding:20px}.header:after,.header:before{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left}.header .logo-wrapper .logo{font-size:48px;font-family:sans-serif}@media screen and (max-width:800px){.header .logo-wrapper{display:none}}.header .site-navbar{float:right}.header .site-navbar .menu{display:inline-block;position:relative;padding-left:0;padding-right:25px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.header .site-navbar .menu .menu-item{display:inline-block;vertical-align:middle;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.header .site-navbar .menu .menu-item+.menu-item{margin-left:10px}.header .site-navbar .menu .menu-item:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#16982b;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:right,left;transition-property:right,left;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.header .site-navbar .menu .menu-item.active:before,.header .site-navbar .menu .menu-item:active:before,.header .site-navbar .menu .menu-item:focus:before,.header .site-navbar .menu .menu-item:hover:before{right:0;left:0}.header .site-navbar .menu .menu-item-link{font-size:18px}@media screen and (max-width:800px){.header .site-navbar{display:none}}@media screen and (max-width:800px){.header{padding:50px 0 0;text-align:center}}.posts{margin-bottom:20px;border-bottom:1px solid #e6e6e6}.post{padding:1.5em 0}.post+.post{border-top:1px solid #e6e6e6}.post .post-header{margin-bottom:20px}.post .post-header .post-title{margin:0;font-size:27px;font-weight:400;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif}.post .post-header .post-link{display:inline-block;vertical-align:middle;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-shadow:0 0 1px transparent;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.post .post-header .post-link:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#16982b;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:right,left;transition-property:right,left;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.post .post-header .post-link.active:before,.post .post-header .post-link:active:before,.post .post-header .post-link:focus:before,.post .post-header .post-link:hover:before{right:0;left:0}.post .post-header .post-meta{font-size:14px;color:#8a8a8a}.post .post-header .post-meta .post-time{font-size:15px}.post .post-header .post-meta .post-category{display:inline}.post .post-header .post-meta .post-category a{color:inherit}.post .post-header .post-meta .post-category a:before{content:"\B7"}.post .post-header .post-meta .post-category a:hover{color:#16982b}.post .post-header .post-meta .more-meta:before{content:"\B7"}.post .post-toc{position:absolute;width:200px;margin-left:785px;padding:10px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;border-radius:5px;background:hsla(0,0%,96%,.6);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125);word-wrap:break-word;-webkit-box-sizing:border-box;box-sizing:border-box}.post .post-toc .post-toc-title{margin:0 10px;font-size:20px;font-weight:400;text-transform:uppercase}.post .post-toc .post-toc-content{font-size:15px}.post .post-toc .post-toc-content.always-active ul{display:block}.post .post-toc .post-toc-content>nav>ul{margin:10px 0}.post .post-toc .post-toc-content ul{padding-left:20px;list-style:square}.post .post-toc .post-toc-content ul ul{padding-left:15px;display:none}.post .post-toc .post-toc-content ul .has-active>ul{display:block}.post .post-toc .post-toc-content .toc-link.active{color:#16982b}@media screen and (max-width:1185px){.post .post-toc{display:none}}.post .post-content{word-wrap:break-word}.post .post-content h1,.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5,.post .post-content h6{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content a{color:#16982b;word-break:break-all}.post .post-content a:hover{border-bottom:1px solid #16982b}.post .post-content a.fancybox{border:0}.post .post-content blockquote{margin:2em 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(22,152,43,.05);border-left:3px solid rgba(22,152,43,.3);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content blockquote p{margin:0}.post .post-content img{display:inline-block;max-width:100%}.post .post-content>table{max-width:100%;margin:10px 0;border-spacing:0;-webkit-box-shadow:2px 2px 3px rgba(0,0,0,.125);box-shadow:2px 2px 3px rgba(0,0,0,.125)}.post .post-content>table thead{background:#f5f5f5}.post .post-content>table td,.post .post-content>table th{padding:5px 15px;border:1px double #ededed}.post .post-content>table tr:hover{background-color:#f5f5f5}.post .post-content code,.post .post-content pre{padding:7px;font-size:13px;font-family:Consolas,Monaco,Menlo,monospace;background:#f5f5f5}.post .post-content code{padding:3px 5px;border-radius:4px;color:#c7254e}.post .post-content figure.highlight{margin:1em 0;border-radius:5px;overflow-x:auto;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.125);box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative}.post .post-content figure.highlight table{position:relative}.post .post-content figure.highlight table:after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b1b1;background:#ededed;content:"Code"}.post .post-content figure.highlight.language-bash>table:after{content:"Bash"}.post .post-content figure.highlight.language-c>table:after{content:"C"}.post .post-content figure.highlight.language-cs>table:after{content:"C#"}.post .post-content figure.highlight.language-cpp>table:after{content:"C++"}.post .post-content figure.highlight.language-css>table:after{content:"CSS"}.post .post-content figure.highlight.language-coffeescript>table:after{content:"CoffeeScript"}.post .post-content figure.highlight.language-html>table:after{content:"HTML"}.post .post-content figure.highlight.language-xml>table:after{content:"XML"}.post .post-content figure.highlight.language-http>table:after{content:"HTTP"}.post .post-content figure.highlight.language-json>table:after{content:"JSON"}.post .post-content figure.highlight.language-java>table:after{content:"Java"}.post .post-content figure.highlight.language-javascript>table:after,.post .post-content figure.highlight.language-js>table:after{content:"JavaScript"}.post .post-content figure.highlight.language-makefile>table:after{content:"Makefile"}.post .post-content figure.highlight.language-markdown>table:after{content:"Markdown"}.post .post-content figure.highlight.language-objectivec>table:after{content:"Objective-C"}.post .post-content figure.highlight.language-php>table:after{content:"PHP"}.post .post-content figure.highlight.language-perl>table:after{content:"Perl"}.post .post-content figure.highlight.language-python>table:after{content:"Python"}.post .post-content figure.highlight.language-ruby>table:after{content:"Ruby"}.post .post-content figure.highlight.language-sql>table:after{content:"SQL"}.post .post-content figure.highlight.language-shell>table:after{content:"Shell"}.post .post-content figure.highlight.language-erlang>table:after{content:"Erlang"}.post .post-content figure.highlight.language-go>table:after{content:"Go"}.post .post-content figure.highlight.language-groovy>table:after{content:"Groovy"}.post .post-content figure.highlight.language-haskell>table:after{content:"Haskell"}.post .post-content figure.highlight.language-kotlin>table:after{content:"Kotlin"}.post .post-content figure.highlight.language-less>table:after{content:"Less"}.post .post-content figure.highlight.language-lisp>table:after{content:"Lisp"}.post .post-content figure.highlight.language-lua>table:after{content:"Lua"}.post .post-content figure.highlight.language-matlab>table:after{content:"Matlab"}.post .post-content figure.highlight.language-rust>table:after{content:"Rust"}.post .post-content figure.highlight.language-scss>table:after{content:"Scss"}.post .post-content figure.highlight.language-scala>table:after{content:"Scala"}.post .post-content figure.highlight.language-swift>table:after{content:"Swift"}.post .post-content figure.highlight.language-typescript>table:after{content:"TypeScript"}.post .post-content figure.highlight.language-yaml>table:after,.post .post-content figure.highlight.language-yml>table:after{content:"YAML"}.post .post-content figure.highlight.language-toml>table:after{content:"TOML"}.post .post-content figure.highlight .code pre{margin:0;padding:30px 10px 10px}.post .post-content figure.highlight .gutter{width:10px;color:#cacaca}.post .post-content figure.highlight .gutter pre{margin:0;padding:30px 7px 10px}.post .post-content figure.highlight .line{height:20px}.post .post-content figure.highlight table,.post .post-content figure.highlight td,.post .post-content figure.highlight tr{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content figure.highlight .code .hljs-comment,.post .post-content figure.highlight .code .hljs-quote{color:#93a1a1}.post .post-content figure.highlight .code .hljs-addition,.post .post-content figure.highlight .code .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-tag{color:#859900}.post .post-content figure.highlight .code .hljs-doctag,.post .post-content figure.highlight .code .hljs-literal,.post .post-content figure.highlight .code .hljs-meta .hljs-meta-string,.post .post-content figure.highlight .code .hljs-number,.post .post-content figure.highlight .code .hljs-regexp,.post .post-content figure.highlight .code .hljs-string{color:#2aa198}.post .post-content figure.highlight .code .hljs-name,.post .post-content figure.highlight .code .hljs-section,.post .post-content figure.highlight .code .hljs-selector-class,.post .post-content figure.highlight .code .hljs-selector-id,.post .post-content figure.highlight .code .hljs-title{color:#268bd2}.post .post-content figure.highlight .code .hljs-attr,.post .post-content figure.highlight .code .hljs-attribute,.post .post-content figure.highlight .code .hljs-class .hljs-title,.post .post-content figure.highlight .code .hljs-template-variable,.post .post-content figure.highlight .code .hljs-type,.post .post-content figure.highlight .code .hljs-variable{color:#b58900}.post .post-content figure.highlight .code .hljs-bullet,.post .post-content figure.highlight .code .hljs-link,.post .post-content figure.highlight .code .hljs-meta,.post .post-content figure.highlight .code .hljs-meta .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-attr,.post .post-content figure.highlight .code .hljs-selector-pseudo,.post .post-content figure.highlight .code .hljs-subst,.post .post-content figure.highlight .code .hljs-symbol{color:#cb4b16}.post .post-content figure.highlight .code .hljs-built_in,.post .post-content figure.highlight .code .hljs-deletion{color:#dc322f}.post .post-content figure.highlight .code .hljs-formula{background:#eee8d5}.post .post-content figure.highlight .code .hljs-emphasis{font-style:italic}.post .post-content figure.highlight .code .hljs-strong{font-weight:700}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more .read-more-link{color:#16982b;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #16982b}.post .post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #b5b5b5;box-shadow:inset 0 -1px 0 #b5b5b5;font-size:.8em;line-height:1.25;font-family:SFMono-Regular,Liberation Mono,Roboto Mono,Menlo,Monaco,Consolas,Courier New,Courier,monospace;color:#4a4a4a}.post .post-content dl dt:after{content:":"}.post .post-content figure.center{text-align:center}.post .post-content figure.right{text-align:right}.post .post-content figure.left{text-align:left}.post .post-content figure figcaption h4{color:#b5b5b5;font-size:.9rem}.post .post-content .task-list{list-style:none;padding-left:1.5rem}.post .post-content .align-center{text-align:center}.post .post-content .align-right{text-align:right}.post .post-content .align-left{text-align:left}.post .post-content .MJXc-display{overflow-x:auto;overflow-y:hidden}.post .post-copyright{margin-top:20px;padding-top:10px;border-top:1px dashed #e6e6e6}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#16982b;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #16982b}.post .post-copyright .copyright-item .item-title{display:inline-block;min-width:5rem;margin-right:.5rem;text-align:right}.post .post-copyright .copyright-item .item-title:after{content:" :"}.post .post-reward{margin-top:20px;padding-top:10px;text-align:center;border-top:1px dashed #e6e6e6}.post .post-reward .reward-button{margin:15px 0;padding:3px 7px;display:inline-block;color:#16982b;border:1px solid #16982b;border-radius:5px;cursor:pointer}.post .post-reward .reward-button:hover{color:#fefefe;background-color:#16982b;-webkit-transition:.5s;transition:.5s}.post .post-reward #reward:checked~.qr-code{display:block}.post .post-reward #reward:checked~.reward-button,.post .post-reward .qr-code{display:none}.post .post-reward .qr-code .qr-code-image{display:inline-block;min-width:200px;width:40%;margin-top:15px}.post .post-reward .qr-code .qr-code-image span{display:inline-block;width:100%;margin:8px 0}.post .post-reward .qr-code .image{width:200px;height:200px}.post .post-tags{padding:15px 0}.post .post-tags a{margin-right:5px;color:#16982b;word-break:break-all}.post .post-tags a:before{content:"#"}.post .post-footer{margin-top:20px;border-top:1px solid #e6e6e6;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#16982b;word-break:break-all}.post .post-footer .post-tags a:before{content:"#"}.post .post-footer .post-nav{margin:1em 0}.post .post-footer .post-nav:after,.post .post-footer .post-nav:before{content:" ";display:table}.post .post-footer .post-nav:after{clear:both}.post .post-footer .post-nav .next,.post .post-footer .post-nav .prev{font-weight:600;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s}.post .post-footer .post-nav .prev{float:left}.post .post-footer .post-nav .prev:hover{color:#16982b;-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#16982b;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:800px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post .post-outdated .hint{border-left:4px solid #42acf3;background-color:#eff5ff;border-color:#42acf3}.post .post-outdated .hint,.post .post-outdated .warn{position:relative;margin-top:20px;margin-bottom:20px;padding:5px 10px}.post .post-outdated .warn{border-left:4px solid #f9cf63;background-color:#ffffc0;border-color:#f9cf63}.pagination{margin:2em 0}.pagination:after,.pagination:before{content:" ";display:table}.pagination:after{clear:both}.pagination .next,.pagination .prev{font-weight:600;font-size:20px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#16982b;-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#16982b;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.footer{margin-top:2em}.footer .social-links{text-align:center}.footer .social-links .iconfont{font-size:30px}.footer .social-links .iconfont+.iconfont{margin-left:10px}.footer .social-links .iconfont:hover{color:#16982b}.footer .copyright{margin:10px 0;color:#8a8a8a;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#16982b}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{font-size:14px}.archive{margin:2em 0;max-width:550px}.archive .archive-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .archive-title.category,.archive .archive-title.tag{margin:15px 0}.archive .archive-title .archive-name{margin:0;display:inline-block;font-weight:400;font-size:30px;line-height:32px}.archive .archive-title .archive-post-counter{color:#8a8a8a}.archive .collection-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .collection-title .archive-year{margin:15px 0;font-weight:400;font-size:28px;line-height:30px}.archive .archive-post{padding:3px 20px;border-left:1px solid #cacaca}.archive .archive-post .archive-post-time{margin-right:10px;color:#8a8a8a}.archive .archive-post .archive-post-title .archive-post-link{color:#16982b}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{border-left:3px solid #16982b;-webkit-transition:.2s ease-out;transition:.2s ease-out;-webkit-transform:translateX(4px);-ms-transform:translateX(4px);transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#717171}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#106b1e}@media screen and (max-width:800px){.archive{margin-left:auto;margin-right:auto}.archive .archive-title .archive-name{font-size:26px}.archive .collection-title .archive-year{margin:10px 0;font-size:24px}.archive .archive-post{padding:5px 10px}.archive .archive-post .archive-post-time{font-size:13px;display:block}}.tag-cloud{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.tag-cloud .tag-cloud-title{display:inline-block;font-size:18px;color:#16982b;border-bottom:2px solid #16982b}.tag-cloud .tag-cloud-tags{margin:10px 0}.tag-cloud .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.tag-cloud .tag-cloud-tags a .tag-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#16982b;font-size:12px}.tag-cloud .tag-cloud-tags a:active,.tag-cloud .tag-cloud-tags a:focus,.tag-cloud .tag-cloud-tags a:hover{color:#16982b;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.categories{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.categories .categories-title{display:inline-block;font-size:18px;color:#16982b;border-bottom:2px solid #16982b}.categories .categories-tags{margin:10px 0}.categories .categories-tags .category-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.categories .categories-tags .category-link .category-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#16982b;font-size:12px}.categories .categories-tags .category-link:active,.categories .categories-tags .category-link:focus,.categories .categories-tags .category-link:hover{color:#16982b;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.slideout-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-panel{position:relative;z-index:1;background-color:#fefefe;min-height:100vh}.slideout-open,.slideout-open .slideout-panel,.slideout-open body{overflow:hidden}.slideout-open .slideout-menu{display:block}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fefefe;-webkit-box-shadow:0 2px 2px #cacaca;box-shadow:0 2px 2px #cacaca;text-align:center;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;z-index:99}.mobile-navbar.fixed-open{-webkit-transform:translate3d(180px,0,0);transform:translate3d(180px,0,0)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px;font-family:sans-serif}.mobile-navbar .mobile-navbar-icon{color:#16982b;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;-webkit-transition:background .5s;transition:background .5s}@-webkit-keyframes clickfirst{0%{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}}@keyframes clickfirst{0%{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}}@-webkit-keyframes clickmid{0%{opacity:1}to{opacity:0}}@keyframes clickmid{0%{opacity:1}to{opacity:0}}@-webkit-keyframes clicklast{0%{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}}@keyframes clicklast{0%{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}to{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}}@-webkit-keyframes outfirst{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}to{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}}@keyframes outfirst{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}to{-webkit-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}}@-webkit-keyframes outmid{0%{opacity:0}to{opacity:1}}@keyframes outmid{0%{opacity:0}to{opacity:1}}@-webkit-keyframes outlast{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}to{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}}@keyframes outlast{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}to{-webkit-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px) / 2);top:calc((100% - 1px) / 2);width:20px;height:1px;background-color:#16982b}.mobile-navbar .mobile-navbar-icon span:first-child{-webkit-transform:translateY(6px) rotate(0deg);-ms-transform:translateY(6px) rotate(0deg);transform:translateY(6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){-webkit-transform:translateY(-6px) rotate(0deg);-ms-transform:translateY(-6px) rotate(0deg);transform:translateY(-6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon.icon-click span:first-child{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clickfirst;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clickmid;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:clicklast;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:first-child{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outfirst;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outmid;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:outlast;animation-name:outlast}.mobile-menu{background-color:hsla(0,0%,96%,.5)}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f5f5f5}.mobile-menu .mobile-menu-list .mobile-menu-item{padding:10px 30px;border-bottom:1px solid #f5f5f5}.mobile-menu .mobile-menu-list a{font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.mobile-menu .mobile-menu-list a:hover{color:#16982b}@media screen and (max-width:800px){.mobile-navbar{display:block}}.back-to-top{display:none;position:fixed;right:20px;bottom:20px;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;-webkit-transition-duration:.3s;transition-duration:.3s;z-index:10}.back-to-top:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}@media screen and (max-width:800px){.back-to-top{display:none!important}}.not-found{text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{color:#16982b} /*# sourceMappingURL=even.min.css.map*/
\ No newline at end of file diff --git a/themes/even/static/dist/even.min.css.map b/themes/even/static/dist/even.min.css.map index b414ab2..1b7469c 100644 --- a/themes/even/static/dist/even.min.css.map +++ b/themes/even/static/dist/even.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./css/_variables.scss","webpack:///./css/_common/_normalize.scss","webpack:///./css/style.scss","webpack:///./css/_base.scss","webpack:///./css/_common/_utils.scss","webpack:///./css/_iconfont.scss","webpack:///./css/_partial/_header.scss","webpack:///./css/_partial/_header/_logo.scss","webpack:///./css/_partial/_header/_menu.scss","webpack:///./css/_common/_animation.scss","webpack:///./css/_partial/_post.scss","webpack:///./css/_partial/_post/_header.scss","webpack:///./css/_partial/_post/_toc.scss","webpack:///./css/_partial/_post/_content.scss","webpack:///./css/_partial/_post/_code.scss","webpack:///./css/_partial/_post/_copyright.scss","webpack:///./css/_partial/_post/_reward.scss","webpack:///./css/_partial/_post/_footer.scss","webpack:///./css/_partial/_post/_outdated.scss","webpack:///./css/_partial/_pagination.scss","webpack:///./css/_partial/_footer.scss","webpack:///./css/_partial/_footer/_social.scss","webpack:///./css/_partial/_footer/_copyright.scss","webpack:///./css/_partial/_archive.scss","webpack:///./css/_partial/_tags.scss","webpack:///./css/_partial/_categories.scss","webpack:///./css/_partial/_slideout.scss","webpack:///./css/_partial/_mobile.scss","webpack:///./css/_partial/_back-to-top.scss","webpack:///./css/_partial/_404.scss"],"names":[],"mappings":"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A,gDAAyC,wCACzC,iBAAkB,CAyHnB,2CAtHG,iBAAkB,CAcnB,iDAXG,kBACA,MACA,QACA,OACA,gBACA,eACA,gBACA,cACA,mBACA,cAAe,CAChB,+DAKC,cd6KiB,Cc5KlB,4DADC,Wd8KW,Cc7KZ,6DADC,Yd+Ka,Cc9Kd,8DADC,adgLe,Cc/KhB,8DADC,adiLe,CchLhB,uEADC,sBdkLiC,CcjLlC,+DADC,cdmLiB,CclLlB,8DADC,adoLe,CcnLhB,+DADC,cdqLiB,CcpLlB,+DADC,cdsLiB,CcrLlB,+DADC,cduLiB,CctLlB,kIADC,oBdyL6B,CcxL9B,mEADC,kBd0LyB,CczL1B,mEADC,kBd2LyB,Cc1L1B,qEADC,qBd4L8B,Cc3L/B,8DADC,ad6Le,Cc5LhB,+DADC,cd8LiB,Cc7LlB,iEADC,gBd+LqB,Cc9LtB,+DADC,cdgMiB,Cc/LlB,8DADC,adiMe,CchMhB,gEADC,edkMmB,CcjMpB,iEADC,gBdoMqB,CcnMtB,6DADC,YdqMa,CcpMd,iEADC,gBdsMqB,CcrMtB,kEADC,iBduMuB,CctMxB,iEADC,gBdwMqB,CcvMtB,+DADC,cdyMiB,CcxMlB,+DADC,cd0MiB,CczMlB,8DADC,ad2Me,Cc1MhB,iEADC,gBd4MqB,Cc3MtB,+DADC,cd6MiB,Cc5MlB,+DADC,cd8MiB,Cc7MlB,gEADC,ed+MmB,Cc9MpB,gEADC,edgNmB,Cc/MpB,qEADC,oBdiN6B,CchN9B,6HADC,cdmNiB,CclNlB,+DADC,cdoNiB,CcnNlB,+CAKC,SACA,sBAAuB,CACxB,6CAID,WACA,adhBU,CcsBX,iDAHG,SACA,qBAAsB,CACvB,2CAMD,WAAoC,CACrC,2HAGC,SACA,UACA,WACA,wBAAyB,CAC1B,gHAKG,ad2HY,Cc1Hb,iLAKC,adsHY,CcrHb,iWAQC,ad8GW,Cc7GZ,mSAOC,aduGU,CctGX,uWAQC,ad+Fc,Cc9Ff,udAUC,adqFW,CcpFZ,oHAIC,adiFa,CchFd,yDAGC,kBd8EY,Cc7Eb,0DAGC,iBAAkB,CACnB,wDAGC,eAAiB,CAClB,kCDpED,iBAAkB,CACnB,+CAIG,cACA,gBACA,iD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","file":"even.min.css","sourcesContent":["// ==============================\n// Variables\n// ==============================\n\n// ========== Theme Color ========== //\n// Config here to change theme color\n// Default | Mint Green | Cobalt Blue | Hot Pink | Dark Violet\n$theme-color-config: 'Mint Green';\n\n// Default theme color map\n$theme-color-map: (\n 'Default': #c05b4d #f8f5ec,\n 'Mint Green': #16982B #f5f5f5,\n 'Cobalt Blue': #0047AB #f0f2f5,\n 'Hot Pink': #FF69B4 #f8f5f5,\n 'Dark Violet': #9932CC #f5f4fa\n);\n\n// Check theme color config.\n// if it does not exist, use default theme color.\n@if not(map-has-key($theme-color-map, $theme-color-config)) {\n $theme-color-config: 'Default';\n}\n$theme-color-list: map-get($theme-color-map, $theme-color-config);\n\n// Default theme color of the site.\n$theme-color: nth($theme-color-list, 1) !default;\n\n// Deputy theme color of the site.\n$deputy-color: nth($theme-color-list, 2) !default;\n\n\n// ========== Color ========== //\n$black: #0a0a0a !default;\n$white: #fefefe !default;\n$light-gray: #e6e6e6 !default;\n$gray: #cacaca !default;\n$dark-gray: #8a8a8a !default;\n\n\n// ========== Global ========== //\n// Text color of the body.\n$global-font-color: #34495e !default;\n\n// Font size attribute applied to '<html>' and '<body>'.\n$global-font-size: 16px !default;\n\n// Global width of '<body>'.\n$global-body-width: 800px !default;\n\n// Padding of container main\n$global-container-padding: 0 20px !default;\n\n// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px.\n$global-lineheight: 1.5 !default;\n\n// Font family of the site.\n$global-font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !default;\n\n// Serif font family of the site.\n$global-serif-font-family: Athelas, STHeiti, Microsoft Yahei, serif !default;\n\n// Background color of the site.\n$global-background: $white !default;\n\n// Headings font size of the site.\n$global-headings: (\n h1: 26px,\n h2: 24px,\n h3: 20px,\n h4: 16px,\n h5: 14px,\n h6: 14px\n) !default;\n\n\n// ========== Header ========== //\n// Padding of the site header.\n$header-padding: 20px 20px !default;\n\n// Font family: Chancery\n@font-face {\n font-family: 'Chancery';\n src: url('../fonts/chancery/apple-chancery-webfont.eot');\n src: local('Apple Chancery'), url('../fonts/chancery/apple-chancery-webfont.eot?#iefix') format('embedded-opentype'),\n url('../fonts/chancery/apple-chancery-webfont.woff2') format('woff2'),\n url('../fonts/chancery/apple-chancery-webfont.woff') format('woff'),\n url('../fonts/chancery/apple-chancery-webfont.ttf') format('truetype'),\n url('../fonts/chancery/apple-chancery-webfont.svg#apple-chancery') format('svg');\n font-weight: lighter;\n font-style: normal;\n}\n\n// Font size of the logo.\n$logo-font-size: 48px !default;\n\n// Font family of the logo.\n$logo-font-family: sans-serif !default;\n\n// Margin of menu item.\n$menu-item-margin-left: 10px !default;\n\n// Margin of menu item in mobile.\n$menu-item-mobile-margin: 5px !default;\n\n// Font size of menu item link.\n$menu-link-font-size: 18px !default;\n\n// Height of the mobile header.\n$mobile-navbar-height: 50px !default;\n\n// ========== Post ========== //\n// Margin bottom of post list.\n$post-list-margin-bottom: 20px !default;\n\n// Padding of the post.\n$post-padding: 1.5em 0 !default;\n\n// Border top of the post + post.\n$post-border: 1px solid $light-gray !default;\n\n// Font size of post title.\n$post-title-font-size: 27px !default;\n\n// Font weight of post title.\n$post-title-font-weight: 400 !default;\n\n// Margin top of the post meta (post time).\n$post-meta-margin-top: 5px !default;\n\n// Font color of the post meta.\n$post-meta-font-color: $dark-gray !default;\n\n// Border bottom of the read more link when hover it.\n$post-readMore-border-bottom: 1px solid $theme-color !default;\n\n// Margin top of the post footer.\n$post-footer-margin-top: 20px !default;\n\n// Border top of post footer.\n$post-footer-border-top: 1px solid $light-gray !default;\n\n// Padding of the post tags.\n$post-tags-padding: 15px 0 !default;\n\n// Font size of post pagination.\n$post-nav-font-size: 18px !default;\n\n\n// ========== TOC ========== //\n// Width of the post toc.\n$post-toc-width: 200px !default;\n\n// Backgroud color of the post toc.\n$post-toc-backgroud: rgba($deputy-color, 0.6) !default;\n\n// Margin left of the post toc.\n$post-toc-margin-left: $global-body-width - 15px !default;\n\n// Font size of the post toc title.\n$post-toc-title-size: 20px !default;\n\n// Font size of the post toc content.\n$post-toc-content: 15px !default;\n\n// List style of the post toc list.\n$post-toc-list-style: square !default;\n\n// Max screen media of the post toc.\n$toc-max-sreen-width: 2 * $post-toc-width + $post-toc-margin-left !default;\n\n// ========== Content ========== //\n// Headings anchor.\n$content-headings-anchor: \"\" !default;\n\n// Border bottom of the link when hover it.\n$content-link-border: 1px solid $theme-color !default;\n\n// Background color of the blockquote.\n$content-blockquote-backgroud: rgba($theme-color, 0.05) !default;\n\n// Border left of the blockquote.\n$content-blockquote-border-left: 3px solid rgba($theme-color, 0.3) !default;\n\n// Border color of the table.\n$content-table-border-color: darken($deputy-color, 3%) !default;\n\n// ========== Code ========== //\n// Color of the code.\n$code-color: #c7254e !default;\n\n// Font size of code.\n$code-font-size: 13px !default;\n\n// Font family of the code.\n$code-font-family: Consolas, Monaco, Menlo, Consolas, monospace !default;\n\n// Color of code highlight, solarized.\n$code-highlight-color: (\n comment: #93a1a1,\n keyword: #859900,\n number: #2aa198,\n title: #268bd2,\n attribute: #b58900,\n symbol: #cb4b16,\n built_in: #dc322f,\n formula: #eee8d5\n) !default;\n\n// Code type list.\n$code-type-list: (\n // Custom code type\n language-bash: \"Bash\",\n language-c: \"C\",\n language-cs: \"C#\",\n language-cpp: \"C++\",\n language-css: \"CSS\",\n language-coffeescript: \"CoffeeScript\",\n language-html: \"HTML\",\n language-xml: \"XML\",\n language-http: \"HTTP\",\n language-json: \"JSON\",\n language-java: \"Java\",\n language-js: \"JavaScript\",\n language-javascript: \"JavaScript\",\n language-makefile: \"Makefile\",\n language-markdown: \"Markdown\",\n language-objectivec: \"Objective-C\",\n language-php: \"PHP\",\n language-perl: \"Perl\",\n language-python: \"Python\",\n language-ruby: \"Ruby\",\n language-sql: \"SQL\",\n language-shell: \"Shell\",\n\n language-erlang: \"Erlang\",\n language-go: \"Go\",\n language-groovy: \"Groovy\",\n language-haskell: \"Haskell\",\n language-kotlin: \"Kotlin\",\n language-less: \"Less\",\n language-lisp: \"Lisp\",\n language-lua: \"Lua\",\n language-matlab: \"Matlab\",\n language-rust: \"Rust\",\n language-scss: \"Scss\",\n language-scala: \"Scala\",\n language-swift: \"Swift\",\n language-typescript: \"TypeScript\",\n language-yml: \"YAML\",\n language-yaml: \"YAML\",\n language-toml: \"TOML\"\n) !default;\n\n// Color of the code background.\n$code-background: $deputy-color !default;\n\n\n// ========== Pagination ========== //\n// Margin of the pagination.\n$pagination-margin: 2em 0 !default;\n\n// Font size of the pagination (Without post, post pagination see line 140).\n$pagination-font-size: 20px !default;\n\n\n// ========== Footer ========== //\n// Margin top of the footer.\n$footer-margin-top: 2em !default;\n\n// Margin left of the social link.\n$social-link-margin-left: 10px !default;\n\n// Font size of the social icon.\n$social-icon-font-size: 30px !default;\n\n// Margin of the copyright.\n$copyright-margin: 10px 0 !default;\n\n\n// ========== Archive ========== //\n// Margin of the archive.\n$archive-margin: 2em 0px !default;\n\n// Max width of the archive.\n$archive-max-width: 550px !default;\n\n// Font size of the archive name.\n$archive-name-font-size: 30px !default;\n\n// Font size of the collection title.\n$collection-title-font-size: 28px !default;\n\n// Padding of the archive post.\n$archive-post-padding: 3px 20px !default;\n\n// Padding of the archive post in mobile.\n$archive-post-mobile-padding: 5px 10px !default;\n\n// Font size of the archive post time in mobile.\n$archive-post-mobile-time-font-size: 13px !default;\n\n// Border left of the archive post, use $archive-post-hover-border-left when hover it.\n$archive-post-border-left: 1px solid $gray !default;\n$archive-post-hover-border-left: 3px solid $theme-color !default;\n\n// Transition of the archive post when hover it.\n$archive-post-hover-transition: 0.2s ease-out !default;\n\n// Transform of the archive post when hover it.\n$archive-post-hover-transform: translateX(4px) !default;\n\n\n// ========== Tags ========== //\n// Font soze of the tag cloud title.\n$tag-cloud-title-size: 18px !default;\n\n// Border bottom of the tag cloud title.\n$tag-cloud-title-border-bottom: 2px solid $theme-color !default;\n\n// Margin of the tag cloud tags link.\n$tag-cloud-tags-link-margin: 5px 10px !default;\n\n\n// ========== Categories ========== //\n// Font soze of the categories title.\n$categories-title-size: 18px !default;\n\n// Border bottom of the categories title.\n$categories-title-border-bottom: 2px solid $theme-color !default;\n\n// Margin of the categories tags link.\n$categories-tags-link-margin: 5px 10px !default;\n\n// Font size of the category count\n$category-count-font-size: 12px !default;\n\n\n\n// WEBPACK FOOTER //\n// ./css/_variables.scss","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_normalize.scss","@charset \"UTF-8\";\n@font-face {\n font-family: 'Chancery';\n src: url(\"../fonts/chancery/apple-chancery-webfont.eot\");\n src: local(\"Apple Chancery\"), url(\"../fonts/chancery/apple-chancery-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/chancery/apple-chancery-webfont.woff2\") format(\"woff2\"), url(\"../fonts/chancery/apple-chancery-webfont.woff\") format(\"woff\"), url(\"../fonts/chancery/apple-chancery-webfont.ttf\") format(\"truetype\"), url(\"../fonts/chancery/apple-chancery-webfont.svg#apple-chancery\") format(\"svg\");\n font-weight: lighter;\n font-style: normal; }\n\n/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */ }\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0; }\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */ }\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none; }\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent; }\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0; }\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted; }\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold; }\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic; }\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000; }\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%; }\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0; }\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden; }\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px; }\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0; }\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto; }\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */ }\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible; }\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none; }\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */ }\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal; }\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box;\n /* 2 */\n box-sizing: content-box; }\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto; }\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold; }\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\nhtml {\n font-size: 16px;\n box-sizing: border-box; }\n\nbody {\n padding: 0;\n margin: 0;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", Arial, sans-serif;\n font-weight: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n line-height: 1.5;\n color: #34495e;\n background: #fefefe;\n scroll-behavior: smooth;\n border-top: 3px solid #16982B; }\n\n@media screen and (max-width: 800px) {\n body {\n border-top: 0; } }\n\n::selection {\n background: #16982B;\n color: #fff; }\n\nimg {\n max-width: 100%;\n height: auto;\n display: inline-block;\n vertical-align: middle; }\n\na {\n color: #34495e;\n text-decoration: none; }\n\nh1 {\n font-size: 26px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh2 {\n font-size: 24px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh3 {\n font-size: 20px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh4 {\n font-size: 16px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh5 {\n font-size: 14px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh6 {\n font-size: 14px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\n.container {\n margin: 0 auto;\n width: 800px; }\n\n@media screen and (max-width: 800px) {\n .container {\n width: 100%;\n box-shadow: -1px -5px 5px #cacaca; } }\n\n.content-wrapper {\n padding: 0 20px; }\n\n.video-container {\n position: relative;\n padding-bottom: 56.25%;\n /* 16:9 */\n padding-top: 25px;\n height: 0; }\n\n.video-container iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.svg-icon {\n width: 40px;\n height: 40px;\n display: inline-block; }\n .svg-icon.email {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n .svg-icon.github {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); }\n .svg-icon.rss {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); }\n .svg-icon.twitter {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n .svg-icon.keybase {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=); }\n\n@font-face {\n font-family: 'iconfont';\n /* project id 96542 */\n src: url(\"../fonts/iconfont/iconfont.eot\");\n src: url(\"../fonts/iconfont/iconfont.eot#iefix\") format(\"embedded-opentype\"), url(\"../fonts/iconfont/iconfont.woff\") format(\"woff\"), url(\"../fonts/iconfont/iconfont.ttf\") format(\"truetype\"), url(\"../fonts/iconfont/iconfont.svg#iconfont\") format(\"svg\"); }\n\n.iconfont {\n font-family: \"iconfont\" !important;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -webkit-text-stroke-width: 0.2px;\n -moz-osx-font-smoothing: grayscale;\n cursor: pointer; }\n\n.icon-instagram:before {\n font-size: .95em;\n content: \"\\e611\";\n position: relative;\n top: -1px; }\n\n.icon-douban:before {\n content: \"\\e610\"; }\n\n.icon-tumblr:before {\n content: \"\\e69f\";\n font-size: .85em;\n position: relative;\n top: -4px; }\n\n.icon-linkedin:before {\n content: \"\\e60d\";\n position: relative;\n top: -4px; }\n\n.icon-twitter:before {\n content: \"\\e600\"; }\n\n.icon-weibo:before {\n content: \"\\e602\"; }\n\n.icon-stack-overflow:before {\n content: \"\\e603\";\n font-size: .85em;\n position: relative;\n top: -4px; }\n\n.icon-email:before {\n content: \"\\e605\";\n position: relative;\n top: -2px; }\n\n.icon-facebook:before {\n content: \"\\e601\";\n font-size: .95em;\n position: relative;\n top: -2px; }\n\n.icon-github:before {\n content: \"\\e606\";\n position: relative;\n top: -3px; }\n\n.icon-rss:before {\n content: \"\\e604\"; }\n\n.icon-google:before {\n content: \"\\e609\"; }\n\n.icon-zhihu:before {\n content: \"\\e607\";\n font-size: .9em;\n position: relative;\n top: -2px; }\n\n.icon-pocket:before {\n content: \"\\e856\"; }\n\n/* Generic Icon */\n.icon-heart:before {\n content: \"\\e608\"; }\n\n.icon-right:before {\n content: \"\\e60a\"; }\n\n.icon-left:before {\n content: \"\\e60b\"; }\n\n.icon-up:before {\n content: \"\\e60c\"; }\n\n.icon-close:before {\n content: \"\\e60f\"; }\n\n.header {\n padding: 20px 20px; }\n .header:before, .header:after {\n content: \" \";\n display: table; }\n .header:after {\n clear: both; }\n .header .logo-wrapper {\n float: left; }\n .header .logo-wrapper .logo {\n font-size: 48px;\n font-family: sans-serif; }\n @media screen and (max-width: 800px) {\n .header .logo-wrapper {\n display: none; } }\n .header .site-navbar {\n float: right; }\n .header .site-navbar .menu {\n display: inline-block;\n position: relative;\n padding-left: 0;\n padding-right: 25px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .header .site-navbar .menu .menu-item {\n display: inline-block;\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden; }\n .header .site-navbar .menu .menu-item + .menu-item {\n margin-left: 10px; }\n .header .site-navbar .menu .menu-item:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: #16982B;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out; }\n .header .site-navbar .menu .menu-item.active:before, .header .site-navbar .menu .menu-item:active:before, .header .site-navbar .menu .menu-item:focus:before, .header .site-navbar .menu .menu-item:hover:before {\n right: 0;\n left: 0; }\n .header .site-navbar .menu .menu-item-link {\n font-size: 18px; }\n @media screen and (max-width: 800px) {\n .header .site-navbar {\n display: none; } }\n\n@media screen and (max-width: 800px) {\n .header {\n padding: 50px 0 0;\n text-align: center; } }\n\n.posts {\n margin-bottom: 20px;\n border-bottom: 1px solid #e6e6e6; }\n\n.post {\n padding: 1.5em 0; }\n .post + .post {\n border-top: 1px solid #e6e6e6; }\n .post .post-header {\n margin-bottom: 20px; }\n .post .post-header .post-title {\n margin: 0;\n font-size: 27px;\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-header .post-link {\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden; }\n .post .post-header .post-link:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: #16982B;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out; }\n .post .post-header .post-link.active:before, .post .post-header .post-link:active:before, .post .post-header .post-link:focus:before, .post .post-header .post-link:hover:before {\n right: 0;\n left: 0; }\n .post .post-header .post-meta {\n font-size: 14px;\n color: #8a8a8a; }\n .post .post-header .post-meta .post-time {\n font-size: 15px; }\n .post .post-header .post-meta .post-category {\n display: inline; }\n .post .post-header .post-meta .post-category a {\n color: inherit; }\n .post .post-header .post-meta .post-category a::before {\n content: '·'; }\n .post .post-header .post-meta .post-category a:hover {\n color: #16982B; }\n .post .post-header .post-meta .more-meta::before {\n content: '·'; }\n .post .post-toc {\n position: absolute;\n width: 200px;\n margin-left: 785px;\n padding: 10px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n border-radius: 5px;\n background: rgba(245, 245, 245, 0.6);\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);\n word-wrap: break-word;\n box-sizing: border-box; }\n .post .post-toc .post-toc-title {\n margin: 0 10px;\n font-size: 20px;\n font-weight: 400;\n text-transform: uppercase; }\n .post .post-toc .post-toc-content {\n font-size: 15px; }\n .post .post-toc .post-toc-content.always-active ul {\n display: block; }\n .post .post-toc .post-toc-content > nav > ul {\n margin: 10px 0; }\n .post .post-toc .post-toc-content ul {\n padding-left: 20px;\n list-style: square; }\n .post .post-toc .post-toc-content ul ul {\n padding-left: 15px;\n display: none; }\n .post .post-toc .post-toc-content ul .has-active > ul {\n display: block; }\n .post .post-toc .post-toc-content .toc-link.active {\n color: #16982B; }\n @media screen and (max-width: 1185px) {\n .post .post-toc {\n display: none; } }\n .post .post-content {\n word-wrap: break-word; }\n .post .post-content h1 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h2 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h3 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h4 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h5 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h6 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content a {\n color: #16982B;\n word-break: break-all; }\n .post .post-content a:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-content a.fancybox {\n border: 0; }\n .post .post-content blockquote {\n margin: 2em 0;\n padding: 10px 20px;\n position: relative;\n color: rgba(52, 73, 94, 0.8);\n background-color: rgba(22, 152, 43, 0.05);\n border-left: 3px solid rgba(22, 152, 43, 0.3);\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125); }\n .post .post-content blockquote p {\n margin: 0; }\n .post .post-content img {\n display: inline-block;\n max-width: 100%; }\n .post .post-content > table {\n max-width: 100%;\n margin: 10px 0;\n border-spacing: 0;\n box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.125); }\n .post .post-content > table thead {\n background: #f5f5f5; }\n .post .post-content > table th, .post .post-content > table td {\n padding: 5px 15px;\n border: 1px double #ededed; }\n .post .post-content > table tr:hover {\n background-color: #f5f5f5; }\n .post .post-content code, .post .post-content pre {\n padding: 7px;\n font-size: 13px;\n font-family: Consolas, Monaco, Menlo, Consolas, monospace;\n background: #f5f5f5; }\n .post .post-content code {\n padding: 3px 5px;\n border-radius: 4px;\n color: #c7254e; }\n .post .post-content figure.highlight {\n margin: 1em 0;\n border-radius: 5px;\n overflow-x: auto;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);\n position: relative; }\n .post .post-content figure.highlight table {\n position: relative; }\n .post .post-content figure.highlight table::after {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 2px 7px;\n font-size: 13px;\n font-weight: bold;\n color: #b1b1b1;\n background: #ededed;\n content: 'Code'; }\n .post .post-content figure.highlight.language-bash > table::after {\n content: \"Bash\"; }\n .post .post-content figure.highlight.language-c > table::after {\n content: \"C\"; }\n .post .post-content figure.highlight.language-cs > table::after {\n content: \"C#\"; }\n .post .post-content figure.highlight.language-cpp > table::after {\n content: \"C++\"; }\n .post .post-content figure.highlight.language-css > table::after {\n content: \"CSS\"; }\n .post .post-content figure.highlight.language-coffeescript > table::after {\n content: \"CoffeeScript\"; }\n .post .post-content figure.highlight.language-html > table::after {\n content: \"HTML\"; }\n .post .post-content figure.highlight.language-xml > table::after {\n content: \"XML\"; }\n .post .post-content figure.highlight.language-http > table::after {\n content: \"HTTP\"; }\n .post .post-content figure.highlight.language-json > table::after {\n content: \"JSON\"; }\n .post .post-content figure.highlight.language-java > table::after {\n content: \"Java\"; }\n .post .post-content figure.highlight.language-js > table::after {\n content: \"JavaScript\"; }\n .post .post-content figure.highlight.language-javascript > table::after {\n content: \"JavaScript\"; }\n .post .post-content figure.highlight.language-makefile > table::after {\n content: \"Makefile\"; }\n .post .post-content figure.highlight.language-markdown > table::after {\n content: \"Markdown\"; }\n .post .post-content figure.highlight.language-objectivec > table::after {\n content: \"Objective-C\"; }\n .post .post-content figure.highlight.language-php > table::after {\n content: \"PHP\"; }\n .post .post-content figure.highlight.language-perl > table::after {\n content: \"Perl\"; }\n .post .post-content figure.highlight.language-python > table::after {\n content: \"Python\"; }\n .post .post-content figure.highlight.language-ruby > table::after {\n content: \"Ruby\"; }\n .post .post-content figure.highlight.language-sql > table::after {\n content: \"SQL\"; }\n .post .post-content figure.highlight.language-shell > table::after {\n content: \"Shell\"; }\n .post .post-content figure.highlight.language-erlang > table::after {\n content: \"Erlang\"; }\n .post .post-content figure.highlight.language-go > table::after {\n content: \"Go\"; }\n .post .post-content figure.highlight.language-groovy > table::after {\n content: \"Groovy\"; }\n .post .post-content figure.highlight.language-haskell > table::after {\n content: \"Haskell\"; }\n .post .post-content figure.highlight.language-kotlin > table::after {\n content: \"Kotlin\"; }\n .post .post-content figure.highlight.language-less > table::after {\n content: \"Less\"; }\n .post .post-content figure.highlight.language-lisp > table::after {\n content: \"Lisp\"; }\n .post .post-content figure.highlight.language-lua > table::after {\n content: \"Lua\"; }\n .post .post-content figure.highlight.language-matlab > table::after {\n content: \"Matlab\"; }\n .post .post-content figure.highlight.language-rust > table::after {\n content: \"Rust\"; }\n .post .post-content figure.highlight.language-scss > table::after {\n content: \"Scss\"; }\n .post .post-content figure.highlight.language-scala > table::after {\n content: \"Scala\"; }\n .post .post-content figure.highlight.language-swift > table::after {\n content: \"Swift\"; }\n .post .post-content figure.highlight.language-typescript > table::after {\n content: \"TypeScript\"; }\n .post .post-content figure.highlight.language-yml > table::after {\n content: \"YAML\"; }\n .post .post-content figure.highlight.language-yaml > table::after {\n content: \"YAML\"; }\n .post .post-content figure.highlight.language-toml > table::after {\n content: \"TOML\"; }\n .post .post-content figure.highlight .code pre {\n margin: 0;\n padding: 30px 10px 10px; }\n .post .post-content figure.highlight .gutter {\n width: 10px;\n color: #cacaca; }\n .post .post-content figure.highlight .gutter pre {\n margin: 0;\n padding: 30px 7px 10px; }\n .post .post-content figure.highlight .line {\n height: 20px; }\n .post .post-content figure.highlight table, .post .post-content figure.highlight tr, .post .post-content figure.highlight td {\n margin: 0;\n padding: 0;\n width: 100%;\n border-collapse: collapse; }\n .post .post-content figure.highlight .code .hljs-comment,\n .post .post-content figure.highlight .code .hljs-quote {\n color: #93a1a1; }\n .post .post-content figure.highlight .code .hljs-keyword,\n .post .post-content figure.highlight .code .hljs-selector-tag,\n .post .post-content figure.highlight .code .hljs-addition {\n color: #859900; }\n .post .post-content figure.highlight .code .hljs-number,\n .post .post-content figure.highlight .code .hljs-string,\n .post .post-content figure.highlight .code .hljs-meta .hljs-meta-string,\n .post .post-content figure.highlight .code .hljs-literal,\n .post .post-content figure.highlight .code .hljs-doctag,\n .post .post-content figure.highlight .code .hljs-regexp {\n color: #2aa198; }\n .post .post-content figure.highlight .code .hljs-title,\n .post .post-content figure.highlight .code .hljs-section,\n .post .post-content figure.highlight .code .hljs-name,\n .post .post-content figure.highlight .code .hljs-selector-id,\n .post .post-content figure.highlight .code .hljs-selector-class {\n color: #268bd2; }\n .post .post-content figure.highlight .code .hljs-attribute,\n .post .post-content figure.highlight .code .hljs-attr,\n .post .post-content figure.highlight .code .hljs-variable,\n .post .post-content figure.highlight .code .hljs-template-variable,\n .post .post-content figure.highlight .code .hljs-class .hljs-title,\n .post .post-content figure.highlight .code .hljs-type {\n color: #b58900; }\n .post .post-content figure.highlight .code .hljs-symbol,\n .post .post-content figure.highlight .code .hljs-bullet,\n .post .post-content figure.highlight .code .hljs-subst,\n .post .post-content figure.highlight .code .hljs-meta,\n .post .post-content figure.highlight .code .hljs-meta .hljs-keyword,\n .post .post-content figure.highlight .code .hljs-selector-attr,\n .post .post-content figure.highlight .code .hljs-selector-pseudo,\n .post .post-content figure.highlight .code .hljs-link {\n color: #cb4b16; }\n .post .post-content figure.highlight .code .hljs-built_in,\n .post .post-content figure.highlight .code .hljs-deletion {\n color: #dc322f; }\n .post .post-content figure.highlight .code .hljs-formula {\n background: #eee8d5; }\n .post .post-content figure.highlight .code .hljs-emphasis {\n font-style: italic; }\n .post .post-content figure.highlight .code .hljs-strong {\n font-weight: bold; }\n .post .post-content .post-summary {\n margin-bottom: 1em; }\n .post .post-content .read-more .read-more-link {\n color: #16982B;\n font-size: 1.1em;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content .read-more .read-more-link:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-content kbd {\n display: inline-block;\n padding: 0.25em;\n background-color: #fafafa;\n border: 1px solid #dbdbdb;\n border-bottom-color: #b5b5b5;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #b5b5b5;\n font-size: 0.8em;\n line-height: 1.25;\n font-family: \"SFMono-Regular\",\"Liberation Mono\",\"Roboto Mono\",Menlo,Monaco,Consolas,\"Courier New\",Courier,monospace;\n color: #4a4a4a; }\n .post .post-content dl dt::after {\n content: ':'; }\n .post .post-content figure.center {\n text-align: center; }\n .post .post-content figure.right {\n text-align: right; }\n .post .post-content figure.left {\n text-align: left; }\n .post .post-content figure figcaption h4 {\n color: #b5b5b5;\n font-size: 0.9rem; }\n .post .post-content .task-list {\n list-style: none;\n padding-left: 1.5rem; }\n .post .post-content .align-center {\n text-align: center; }\n .post .post-content .align-right {\n text-align: right; }\n .post .post-content .align-left {\n text-align: left; }\n .post .post-content .MJXc-display {\n overflow-x: auto;\n overflow-y: hidden; }\n .post .post-copyright {\n margin-top: 20px;\n padding-top: 10px;\n border-top: 1px dashed #e6e6e6; }\n .post .post-copyright .copyright-item {\n margin: 5px 0; }\n .post .post-copyright .copyright-item a {\n color: #16982B;\n word-wrap: break-word; }\n .post .post-copyright .copyright-item a:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-copyright .copyright-item .item-title {\n display: inline-block;\n min-width: 5rem;\n margin-right: .5rem;\n text-align: right; }\n .post .post-copyright .copyright-item .item-title:after {\n content: \" :\"; }\n .post .post-reward {\n margin-top: 20px;\n padding-top: 10px;\n text-align: center;\n border-top: 1px dashed #e6e6e6; }\n .post .post-reward .reward-button {\n margin: 15px 0;\n padding: 3px 7px;\n display: inline-block;\n color: #16982B;\n border: 1px solid #16982B;\n border-radius: 5px;\n cursor: pointer; }\n .post .post-reward .reward-button:hover {\n color: #fefefe;\n background-color: #16982B;\n transition: 0.5s; }\n .post .post-reward #reward:checked ~ .qr-code {\n display: block; }\n .post .post-reward #reward:checked ~ .reward-button {\n display: none; }\n .post .post-reward .qr-code {\n display: none; }\n .post .post-reward .qr-code .qr-code-image {\n display: inline-block;\n min-width: 200px;\n width: 40%;\n margin-top: 15px; }\n .post .post-reward .qr-code .qr-code-image span {\n display: inline-block;\n width: 100%;\n margin: 8px 0; }\n .post .post-reward .qr-code .image {\n width: 200px;\n height: 200px; }\n .post .post-tags {\n padding: 15px 0; }\n .post .post-tags a {\n margin-right: 5px;\n color: #16982B;\n word-break: break-all; }\n .post .post-tags a::before {\n content: '#'; }\n .post .post-footer {\n margin-top: 20px;\n border-top: 1px solid #e6e6e6;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-footer .post-tags {\n padding: 15px 0; }\n .post .post-footer .post-tags a {\n margin-right: 5px;\n color: #16982B;\n word-break: break-all; }\n .post .post-footer .post-tags a::before {\n content: '#'; }\n .post .post-footer .post-nav {\n margin: 1em 0; }\n .post .post-footer .post-nav:before, .post .post-footer .post-nav:after {\n content: \" \";\n display: table; }\n .post .post-footer .post-nav:after {\n clear: both; }\n .post .post-footer .post-nav .prev,\n .post .post-footer .post-nav .next {\n font-weight: 600;\n font-size: 18px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s; }\n .post .post-footer .post-nav .prev {\n float: left; }\n .post .post-footer .post-nav .prev:hover {\n color: #16982B;\n transform: translateX(-4px); }\n .post .post-footer .post-nav .next {\n float: right; }\n .post .post-footer .post-nav .next:hover {\n color: #16982B;\n transform: translateX(4px); }\n .post .post-footer .post-nav .nav-mobile {\n display: none; }\n @media screen and (max-width: 800px) {\n .post .post-footer .post-nav .nav-default {\n display: none; }\n .post .post-footer .post-nav .nav-mobile {\n display: inline; } }\n .post .post-outdated .hint {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #42acf3;\n background-color: #eff5ff;\n border-color: #42acf3; }\n .post .post-outdated .warn {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #f9cf63;\n background-color: #ffffc0;\n border-color: #f9cf63; }\n\n.pagination {\n margin: 2em 0; }\n .pagination:before, .pagination:after {\n content: \" \";\n display: table; }\n .pagination:after {\n clear: both; }\n .pagination .prev,\n .pagination .next {\n font-weight: 600;\n font-size: 20px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s; }\n .pagination .prev {\n float: left; }\n .pagination .prev:hover {\n color: #16982B;\n transform: translateX(-4px); }\n .pagination .next {\n float: right; }\n .pagination .next:hover {\n color: #16982B;\n transform: translateX(4px); }\n\n.footer {\n margin-top: 2em; }\n .footer .social-links {\n text-align: center; }\n .footer .social-links .iconfont {\n font-size: 30px; }\n .footer .social-links .iconfont + .iconfont {\n margin-left: 10px; }\n .footer .social-links .iconfont:hover {\n color: #16982B; }\n .footer .copyright {\n margin: 10px 0;\n color: #8a8a8a;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .footer .copyright .hexo-link,\n .footer .copyright .theme-link {\n color: #16982B; }\n .footer .copyright .copyright-year {\n display: block; }\n .footer .copyright .copyright-year .heart {\n font-size: 14px; }\n\n.archive {\n margin: 2em 0px;\n max-width: 550px; }\n .archive .archive-title {\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .archive .archive-title.tag, .archive .archive-title.category {\n margin: 15px 0; }\n .archive .archive-title .archive-name {\n margin: 0;\n display: inline-block;\n font-weight: 400;\n font-size: 30px;\n line-height: 32px; }\n .archive .archive-title .archive-post-counter {\n color: #8a8a8a; }\n .archive .collection-title {\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .archive .collection-title .archive-year {\n margin: 15px 0;\n font-weight: 400;\n font-size: 28px;\n line-height: 30px; }\n .archive .archive-post {\n padding: 3px 20px;\n border-left: 1px solid #cacaca; }\n .archive .archive-post .archive-post-time {\n margin-right: 10px;\n color: #8a8a8a; }\n .archive .archive-post .archive-post-title .archive-post-link {\n color: #16982B; }\n .archive .archive-post::first-child {\n margin-top: 10px; }\n .archive .archive-post:hover {\n border-left: 3px solid #16982B;\n transition: 0.2s ease-out;\n transform: translateX(4px); }\n .archive .archive-post:hover .archive-post-time {\n color: #717171; }\n .archive .archive-post:hover .archive-post-title .archive-post-link {\n color: #106b1e; }\n\n@media screen and (max-width: 800px) {\n .archive {\n margin-left: auto;\n margin-right: auto; }\n .archive .archive-title .archive-name {\n font-size: 26px; }\n .archive .collection-title .archive-year {\n margin: 10px 0;\n font-size: 24px; }\n .archive .archive-post {\n padding: 5px 10px; }\n .archive .archive-post .archive-post-time {\n font-size: 13px;\n display: block; } }\n\n.tag-cloud {\n margin: 2em 0 3em;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .tag-cloud .tag-cloud-title {\n display: inline-block;\n font-size: 18px;\n color: #16982B;\n border-bottom: 2px solid #16982B; }\n .tag-cloud .tag-cloud-tags {\n margin: 10px 0; }\n .tag-cloud .tag-cloud-tags a {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out; }\n .tag-cloud .tag-cloud-tags a .tag-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: #16982B;\n font-size: 12px; }\n .tag-cloud .tag-cloud-tags a:active, .tag-cloud .tag-cloud-tags a:focus, .tag-cloud .tag-cloud-tags a:hover {\n color: #16982B;\n transform: scale(1.1); }\n\n.categories {\n margin: 2em 0 3em;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .categories .categories-title {\n display: inline-block;\n font-size: 18px;\n color: #16982B;\n border-bottom: 2px solid #16982B; }\n .categories .categories-tags {\n margin: 10px 0; }\n .categories .categories-tags .category-link {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out; }\n .categories .categories-tags .category-link .category-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: #16982B;\n font-size: 12px; }\n .categories .categories-tags .category-link:active, .categories .categories-tags .category-link:focus, .categories .categories-tags .category-link:hover {\n color: #16982B;\n transform: scale(1.1); }\n\n.slideout-menu {\n position: fixed;\n top: 0;\n left: 0px;\n bottom: 0;\n width: 180px;\n min-height: 100vh;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n z-index: 0;\n display: none; }\n\n.slideout-panel {\n position: relative;\n z-index: 1;\n background-color: #fefefe;\n min-height: 100vh; }\n\n.slideout-open,\n.slideout-open body,\n.slideout-open .slideout-panel {\n overflow: hidden; }\n\n.slideout-open .slideout-menu {\n display: block; }\n\n.mobile-navbar {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 50px;\n background: #fefefe;\n box-shadow: 0px 2px 2px #cacaca;\n text-align: center;\n transition: transform 300ms ease;\n z-index: 99; }\n .mobile-navbar.fixed-open {\n transform: translate3d(180px, 0px, 0px); }\n .mobile-navbar .mobile-header-logo {\n display: inline-block;\n margin-right: 50px; }\n .mobile-navbar .mobile-header-logo .logo {\n font-size: 22px;\n line-height: 50px;\n font-family: sans-serif; }\n .mobile-navbar .mobile-navbar-icon {\n color: #16982B;\n height: 50px;\n width: 50px;\n font-size: 24px;\n text-align: center;\n float: left;\n position: relative;\n transition: background 0.5s; }\n\n@keyframes clickfirst {\n 0% {\n transform: translateY(6px) rotate(0deg); }\n 100% {\n transform: translateY(0) rotate(45deg); } }\n\n@keyframes clickmid {\n 0% {\n opacity: 1; }\n 100% {\n opacity: 0; } }\n\n@keyframes clicklast {\n 0% {\n transform: translateY(-6px) rotate(0deg); }\n 100% {\n transform: translateY(0) rotate(-45deg); } }\n\n@keyframes outfirst {\n 0% {\n transform: translateY(0) rotate(-45deg); }\n 100% {\n transform: translateY(-6px) rotate(0deg); } }\n\n@keyframes outmid {\n 0% {\n opacity: 0; }\n 100% {\n opacity: 1; } }\n\n@keyframes outlast {\n 0% {\n transform: translateY(0) rotate(45deg); }\n 100% {\n transform: translateY(6px) rotate(0deg); } }\n .mobile-navbar .mobile-navbar-icon span {\n position: absolute;\n /* fallback for browsers which still doesn't support for `calc()` */\n left: 15px;\n top: 25px;\n left: calc((100% - 20px) / 2);\n top: calc((100% - 1px) / 2);\n width: 20px;\n height: 1px;\n background-color: #16982B; }\n .mobile-navbar .mobile-navbar-icon span:nth-child(1) {\n transform: translateY(6px) rotate(0deg); }\n .mobile-navbar .mobile-navbar-icon span:nth-child(3) {\n transform: translateY(-6px) rotate(0deg); }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clickfirst; }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: clickmid; }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clicklast; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outfirst; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: outmid; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outlast; }\n\n.mobile-menu {\n background-color: rgba(245, 245, 245, 0.5); }\n .mobile-menu .mobile-menu-list {\n position: relative;\n list-style: none;\n margin-top: 50px;\n padding: 0;\n border-top: 1px solid #f5f5f5; }\n .mobile-menu .mobile-menu-list .mobile-menu-item {\n padding: 10px 30px;\n border-bottom: 1px solid #f5f5f5; }\n .mobile-menu .mobile-menu-list a {\n font-size: 18px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .mobile-menu .mobile-menu-list a:hover {\n color: #16982B; }\n\n@media screen and (max-width: 800px) {\n .mobile-navbar {\n display: block; } }\n\n.back-to-top {\n display: none;\n position: fixed;\n right: 20px;\n bottom: 20px;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n z-index: 10; }\n .back-to-top:hover {\n transform: translateY(-5px); }\n\n@media screen and (max-width: 800px) {\n .back-to-top {\n display: none !important; } }\n\n.not-found {\n text-align: center; }\n .not-found .error-emoji {\n color: #363636;\n font-size: 3rem; }\n .not-found .error-text {\n color: #797979;\n font-size: 1.25rem; }\n .not-found .error-link {\n margin-top: 2rem; }\n .not-found .error-link a {\n color: #16982B; }\n\n\n\n// WEBPACK FOOTER //\n// ./css/style.scss","@import '_common/normalize';\n\nhtml {\n font-size: $global-font-size;\n box-sizing: border-box;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: $global-font-family;\n font-weight: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n line-height: $global-lineheight;\n color: $global-font-color;\n background: $global-background;\n scroll-behavior: smooth;\n border-top: 3px solid $theme-color;\n}\n\n@include max-screen() {\n body {\n border-top: 0;\n }\n}\n\n::selection {\n background: $theme-color;\n color: #fff;\n}\n\n// ::-webkit-scrollbar {\n// width: 8px;\n// height: 6px;\n// }\n\n// ::-webkit-scrollbar-thumb {\n// background: lighten($theme-color, 10%);\n// border-radius: 5px;\n// }\n\n// ::-webkit-scrollbar-track {\n// background: rgba(211, 211, 211, 0.4);\n// border-radius: 5px;\n// }\n\nimg {\n max-width: 100%;\n height: auto;\n display: inline-block;\n vertical-align: middle;\n}\n\na {\n color: $global-font-color;\n text-decoration: none;\n}\n\n@each $header, $size in $global-headings {\n #{$header} {\n font-size: $size;\n font-family: $global-serif-font-family;\n }\n}\n\n.container {\n margin: 0 auto;\n width: $global-body-width;\n}\n\n@include max-screen() {\n .container {\n width: 100%;\n box-shadow: -1px -5px 5px $gray;\n }\n}\n\n.content-wrapper {\n padding: $global-container-padding;\n}\n\n// make video fluid:\n// https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php\n// class video-container is the wrapper used by hexo youtube tag plugin\n.video-container {\n\tposition: relative;\n\tpadding-bottom: 56.25%; /* 16:9 */\n\tpadding-top: 25px;\n\theight: 0;\n}\n.video-container iframe {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.svg-icon {\n width: 40px;\n height: 40px;\n display: inline-block;\n\n &.email { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n &.github { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); }\n &.rss { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); }\n &.twitter { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n &.keybase\t\t{ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=);}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_base.scss","@mixin clearfix() {\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n \n &:after {\n clear: both;\n }\n}\n\n@mixin min-screen($min-width: $global-body-width) {\n @media screen and (min-width: $min-width) {\n @content;\n }\n}\n\n@mixin max-screen($max-width: $global-body-width) {\n @media screen and (max-width: $max-width) {\n @content;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_utils.scss","// ==============================\n// Iconfont\n// ==============================\n\n@font-face {\n font-family: 'iconfont'; /* project id 96542 */\n\n src: url('../fonts/iconfont/iconfont.eot');\n src: url('../fonts/iconfont/iconfont.eot#iefix') format('embedded-opentype'), // not '?#iefix', because webpack will add '?hash=[hash]'\n url('../fonts/iconfont/iconfont.woff') format('woff'),\n url('../fonts/iconfont/iconfont.ttf') format('truetype'),\n url('../fonts/iconfont/iconfont.svg#iconfont') format('svg');\n\n // Uncomment these code and comment upper code if you want to use alicdn\n // src: url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.eot');\n // src: url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.eot?#iefix') format('embedded-opentype'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.woff') format('woff'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.ttf') format('truetype'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.svg#iconfont') format('svg');\n}\n\n.iconfont {\n font-family: \"iconfont\" !important;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -webkit-text-stroke-width: 0.2px;\n -moz-osx-font-smoothing: grayscale;\n cursor: pointer;\n}\n\n.icon-instagram:before {\n font-size: .95em;\n content: \"\\e611\";\n position: relative;\n top: -1px;\n}\n.icon-douban:before {\n content: \"\\e610\";\n}\n.icon-tumblr:before {\n content: \"\\e69f\";\n font-size: .85em;\n position: relative;\n top: -4px;\n}\n.icon-linkedin:before {\n content: \"\\e60d\";\n position: relative;\n top: -4px;\n}\n.icon-twitter:before {\n content: \"\\e600\";\n}\n.icon-weibo:before {\n content: \"\\e602\";\n}\n.icon-stack-overflow:before {\n content: \"\\e603\";\n font-size: .85em;\n position: relative;\n top: -4px;\n}\n.icon-email:before {\n content: \"\\e605\";\n position: relative;\n top: -2px;\n}\n.icon-facebook:before {\n content: \"\\e601\";\n font-size: .95em;\n position: relative;\n top: -2px;\n}\n.icon-github:before {\n content: \"\\e606\";\n position: relative;\n top: -3px;\n}\n.icon-rss:before {\n content: \"\\e604\";\n}\n.icon-google:before {\n content: \"\\e609\";\n}\n.icon-zhihu:before {\n content: \"\\e607\";\n font-size: .9em;\n position: relative;\n top: -2px;\n}\n.icon-pocket:before {\n content: \"\\e856\";\n}\n\n/* Generic Icon */\n.icon-heart:before {\n content: \"\\e608\";\n}\n.icon-right:before {\n content: \"\\e60a\";\n}\n.icon-left:before {\n content: \"\\e60b\";\n}\n.icon-up:before {\n content: \"\\e60c\";\n}\n.icon-close:before {\n content: \"\\e60f\";\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_iconfont.scss","// ==============================\n// Header\n// ==============================\n\n.header {\n @include clearfix; \n padding: $header-padding;\n\n @import '_header/logo';\n @import '_header/menu';\n}\n\n\n@include max-screen() {\n .header {\n padding: 50px 0 0;\n text-align: center;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header.scss","// ==============================\n// Logo\n// =============================\n\n.logo-wrapper {\n float: left;\n\n .logo {\n font-size: $logo-font-size;\n font-family: $logo-font-family;\n }\n}\n\n@include max-screen() {\n .logo-wrapper {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header/_logo.scss","// ==============================\n// Menu\n// =============================\n\n.site-navbar {\n float: right;\n\n .menu {\n display: inline-block;\n position: relative;\n padding-left: 0;\n padding-right: 25px;\n font-family: $global-serif-font-family;\n\n .menu-item {\n display: inline-block;\n\n & + .menu-item {\n margin-left: $menu-item-margin-left;;\n }\n\n @include underline-from-center;\n }\n\n .menu-item-link {\n font-size: $menu-link-font-size;\n }\n }\n}\n\n@include max-screen() {\n .site-navbar {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header/_menu.scss","@mixin underline-from-center() {\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: $theme-color;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out;\n }\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n &:before {\n right: 0;\n left: 0;\n }\n }\n}\n\n@mixin mobile-menu-icon() {\n @keyframes clickfirst {\n 0% {\n transform: translateY(6px) rotate(0deg);\n \n }\n\n 100% {\n transform: translateY(0) rotate(45deg);\n }\n }\t\n\n @keyframes clickmid {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes clicklast {\n 0% {\n transform: translateY(-6px) rotate(0deg);\n }\n\n 100% {\n transform: translateY(0) rotate(-45deg);\n }\n }\n \n @keyframes outfirst {\n 0% {\n transform: translateY(0) rotate(-45deg);\n }\n\n 100% {\n transform: translateY(-6px) rotate(0deg);\n }\n }\t\n\n @keyframes outmid {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n @keyframes outlast {\n 0% {\n transform: translateY(0) rotate(45deg);\n }\n\n 100% {\n transform: translateY(6px) rotate(0deg);\n }\n }\n\n span {\n position: absolute;\n /* fallback for browsers which still doesn't support for `calc()` */\n left: 15px;\n top: 25px;\n left: calc((100% - 20px) / 2);\n top: calc((100% - 1px) / 2);\n width: 20px;\n height: 1px;\n background-color: $theme-color;\n \n &:nth-child(1) {\n transform: translateY(6px) rotate(0deg);\n }\n\n &:nth-child(3) {\n transform: translateY(-6px) rotate(0deg);\n }\n }\n\n &.icon-click {\n span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clickfirst;\n }\n\n span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: clickmid;\n }\n\n span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clicklast;\n }\n }\n\n &.icon-out {\n span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outfirst;\n }\n\n span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: outmid;\n }\n\n span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outlast;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_animation.scss","// ==============================\n// Post\n// ==============================\n\n.posts {\n margin-bottom: $post-list-margin-bottom;\n border-bottom: $post-border;\n}\n\n.post {\n padding: $post-padding;\n\n & + .post {\n border-top: $post-border;\n }\n\n @import '_post/header';\n @import '_post/toc';\n @import '_post/content';\n @import '_post/copyright';\n @import '_post/reward';\n @import '_post/footer';\n @import '_post/outdated';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post.scss",".post-header {\n margin-bottom: 20px;\n\n .post-title {\n margin: 0;\n font-size: $post-title-font-size;\n font-weight: $post-title-font-weight;\n font-family: $global-serif-font-family;\n }\n\n .post-link {\n @include underline-from-center;\n }\n\n .post-meta {\n font-size: 14px;\n color: $post-meta-font-color;\n\n .post-time {\n font-size: 15px;\n }\n\n .post-category {\n display: inline;\n\n a {\n color: inherit;\n\n &::before {\n content: '·';\n }\n\n &:hover {\n color: $theme-color;\n }\n }\n }\n\n .more-meta {\n &::before {\n content: '·';\n }\n }\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_header.scss",".post-toc {\n position: absolute;\n width: $post-toc-width;\n margin-left: $post-toc-margin-left;\n padding: 10px;\n font-family: $global-serif-font-family;\n border-radius: 5px;\n background: $post-toc-backgroud;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n word-wrap: break-word;\n box-sizing: border-box;\n\n .post-toc-title {\n margin: 0 10px;\n font-size: $post-toc-title-size;\n font-weight: 400;\n text-transform: uppercase;\n }\n\n .post-toc-content {\n font-size: $post-toc-content;\n\n &.always-active ul {\n display: block;\n }\n\n >nav>ul {\n margin: 10px 0;\n }\n\n ul {\n padding-left: 20px;\n list-style: $post-toc-list-style;\n\n ul {\n padding-left: 15px;\n display: none;\n }\n\n .has-active > ul {\n display: block;\n }\n }\n\n .toc-link.active {\n color: $theme-color;\n }\n }\n}\n\n@include max-screen($toc-max-sreen-width) {\n .post-toc {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_toc.scss","// ==============================\n// Post content\n// ==============================\n\n.post-content {\n word-wrap: break-word;\n\n @for $i from 1 through 6 {\n h#{$i} {\n font-weight: 400;\n font-family: $global-serif-font-family;\n }\n }\n\n a {\n color: $theme-color;\n word-break: break-all;\n\n &:hover {\n border-bottom: $content-link-border;\n }\n\n &.fancybox {\n border: 0;\n }\n }\n\n blockquote {\n margin: 2em 0;\n padding: 10px 20px;\n position: relative;\n color: rgba(#34495e, 0.8);\n background-color: $content-blockquote-backgroud;\n border-left: $content-blockquote-border-left;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n\n p {\n margin: 0;\n }\n }\n\n img {\n display: inline-block;\n max-width: 100%;\n }\n\n > table {\n max-width: 100%;\n margin: 10px 0;\n border-spacing: 0;\n box-shadow: 2px 2px 3px rgba(0,0,0,.125);\n\n thead {\n background: $deputy-color;\n }\n\n th, td {\n padding: 5px 15px;\n border: 1px double $content-table-border-color;\n }\n\n tr:hover {\n background-color: $deputy-color;\n }\n }\n\n @import 'code';\n\n .post-summary {\n margin-bottom: 1em;\n }\n\n .read-more {\n .read-more-link {\n color: $theme-color;\n font-size: 1.1em;\n font-family: $global-serif-font-family;\n\n &:hover {\n border-bottom: $post-readMore-border-bottom;\n }\n }\n }\n\n kbd {\n display: inline-block;\n padding: 0.25em;\n background-color: #fafafa;\n border: 1px solid #dbdbdb;\n border-bottom-color: #b5b5b5;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #b5b5b5;\n font-size: 0.8em;\n line-height: 1.25;\n font-family: \"SFMono-Regular\",\"Liberation Mono\",\"Roboto Mono\",Menlo,Monaco,Consolas,\"Courier New\",Courier,monospace;\n color: #4a4a4a;\n }\n\n dl dt::after {\n content: ':';\n }\n\n figure {\n &.center {\n text-align: center;\n }\n\n &.right {\n text-align: right;\n }\n\n &.left {\n text-align: left;\n }\n\n figcaption h4 {\n color: #b5b5b5;\n font-size: 0.9rem;\n }\n }\n\n .task-list {\n list-style: none;\n padding-left: 1.5rem;\n }\n\n .align-center {\n text-align: center;\n }\n\n .align-right {\n text-align: right;\n }\n\n .align-left {\n text-align: left;\n }\n\n .MJXc-display {\n overflow-x: auto;\n overflow-y: hidden;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_content.scss","code, pre {\n padding: 7px;\n font-size: $code-font-size;\n font-family: $code-font-family;\n background: $code-background;\n}\n\ncode {\n padding: 3px 5px;\n border-radius: 4px;\n color: $code-color;\n}\n\nfigure.highlight {\n margin: 1em 0;\n border-radius: 5px;\n overflow-x: auto;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n position: relative;\n\n table {\n position: relative;\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 2px 7px;\n font-size: $code-font-size;\n font-weight: bold;\n color: darken($gray, 10%);\n background: darken($code-background, 3%);\n content: 'Code';\n }\n }\n\n @each $sign, $text in $code-type-list {\n &.#{$sign} > table::after {\n content: $text;\n }\n }\n\n .code {\n pre {\n margin: 0;\n padding: 30px 10px 10px;\n }\n }\n\n .gutter {\n width: 10px;\n color: $gray;\n\n pre {\n margin: 0;\n padding: 30px 7px 10px;\n }\n }\n\n .line {\n // Fix code block null line height and\n // Synchronous gutter and code line highly.\n height: round($code-font-size * 1.5);\n }\n\n table, tr, td {\n margin: 0;\n padding: 0;\n width: 100%;\n border-collapse: collapse;\n }\n\n .code {\n .hljs-comment,\n .hljs-quote {\n color: map-get($code-highlight-color, comment);\n }\n\n .hljs-keyword,\n .hljs-selector-tag,\n .hljs-addition {\n color: map-get($code-highlight-color, keyword);\n }\n\n .hljs-number,\n .hljs-string,\n .hljs-meta .hljs-meta-string,\n .hljs-literal,\n .hljs-doctag,\n .hljs-regexp {\n color: map-get($code-highlight-color, number);\n }\n\n .hljs-title,\n .hljs-section,\n .hljs-name,\n .hljs-selector-id,\n .hljs-selector-class {\n color: map-get($code-highlight-color, title);\n }\n\n .hljs-attribute,\n .hljs-attr,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-class .hljs-title,\n .hljs-type {\n color: map-get($code-highlight-color, attribute);\n }\n\n .hljs-symbol,\n .hljs-bullet,\n .hljs-subst,\n .hljs-meta,\n .hljs-meta .hljs-keyword,\n .hljs-selector-attr,\n .hljs-selector-pseudo,\n .hljs-link {\n color: map-get($code-highlight-color, symbol);\n }\n\n .hljs-built_in,\n .hljs-deletion {\n color: map-get($code-highlight-color, built_in);\n }\n\n .hljs-formula {\n background: map-get($code-highlight-color, formula);\n }\n \n .hljs-emphasis {\n font-style: italic;\n }\n \n .hljs-strong {\n font-weight: bold;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_code.scss",".post-copyright {\n margin-top: 20px;\n padding-top: 10px;\n border-top: 1px dashed $light-gray;\n\n .copyright-item {\n margin: 5px 0;\n\n a {\n color: $theme-color;\n word-wrap: break-word;\n\n &:hover {\n border-bottom: $content-link-border;\n }\n }\n\n .item-title {\n display: inline-block;\n min-width: 5rem;\n margin-right: .5rem;\n text-align: right;\n\n &:after {\n content: \" :\";\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_copyright.scss",".post-reward {\n margin-top: 20px;\n padding-top: 10px;\n text-align: center;\n border-top: 1px dashed $light-gray;\n\n .reward-button {\n margin: 15px 0;\n padding: 3px 7px;\n display: inline-block;\n color: $theme-color;\n border: 1px solid $theme-color;\n border-radius: 5px;\n cursor: pointer;\n\n &:hover {\n color: $white;\n background-color: $theme-color;\n transition: 0.5s;\n }\n }\n\n #reward:checked {\n & ~ .qr-code {\n display: block;\n }\n\n & ~ .reward-button {\n display: none;\n }\n }\n\n .qr-code {\n display: none;\n\n .qr-code-image {\n display: inline-block;\n min-width: 200px;\n width: 40%;\n margin-top: 15px;\n\n span {\n display: inline-block;\n width: 100%;\n margin: 8px 0;\n }\n }\n\n .image {\n width: 200px;\n height: 200px;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_reward.scss","// ==============================\n// Post footer\n// ==============================\n.post-tags {\n padding: $post-tags-padding;\n\n a {\n margin-right: 5px;\n color: $theme-color;\n word-break: break-all;\n\n &::before {\n content: '#';\n }\n }\n}\n\n.post-footer {\n margin-top: $post-footer-margin-top;\n border-top: $post-footer-border-top;\n font-family: $global-serif-font-family;\n\n .post-tags {\n padding: $post-tags-padding;\n\n a {\n margin-right: 5px;\n color: $theme-color;\n word-break: break-all;\n\n &::before {\n content: '#';\n }\n }\n }\n\n .post-nav {\n margin: 1em 0;\n @include clearfix;\n\n .prev,\n .next {\n font-weight: 600;\n font-size: $post-nav-font-size;\n font-family: $global-serif-font-family;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n }\n\n .prev {\n float: left;\n\n &:hover {\n color: $theme-color;\n transform: translateX(-4px);\n }\n }\n\n .next {\n float: right;\n\n &:hover {\n color: $theme-color;\n transform: translateX(4px);\n }\n }\n\n .nav-mobile {\n display: none;\n }\n }\n}\n\n@include max-screen() {\n .post-footer {\n .post-nav {\n .nav-default {\n display: none;\n }\n\n .nav-mobile {\n display: inline;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_footer.scss",".post-outdated {\n .hint {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid rgb(66, 172, 243);\n background-color: rgb(239, 245, 255);\n border-color: rgb(66, 172, 243);\n }\n\n .warn {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #f9cf63;\n background-color: #ffffc0;\n border-color: #f9cf63;\n }\n}\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_outdated.scss","// ==============================\n// Pagination\n// ==============================\n\n.pagination {\n margin: $pagination-margin;\n @include clearfix;\n\n .prev,\n .next {\n font-weight: 600;\n font-size: $pagination-font-size;\n font-family: $global-serif-font-family;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n }\n\n .prev {\n float: left;\n\n &:hover {\n color: $theme-color;\n transform: translateX(-4px); \n }\n }\n\n .next {\n float: right;\n\n &:hover {\n color: $theme-color;\n transform: translateX(4px); \n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_pagination.scss","// ==============================\n// Post footer\n// =============================\n\n.footer {\n margin-top: $footer-margin-top;\n\n @import \"_footer/social\";\n @import \"_footer/copyright\";\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer.scss","// ==============================\n// Social\n// =============================\n\n.social-links {\n text-align: center;\n\n .iconfont {\n font-size: $social-icon-font-size;\n\n & + .iconfont {\n margin-left: $social-link-margin-left;\n } \n\n &:hover {\n color: $theme-color;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer/_social.scss","// ==============================\n// Copyright\n// =============================\n\n.copyright {\n margin: $copyright-margin;\n color: $dark-gray;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .hexo-link,\n .theme-link {\n color: $theme-color;\n }\n\n .copyright-year {\n display: block;\n\n .heart {\n font-size: 14px;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer/_copyright.scss","// ==============================\n// Archive\n// =============================\n\n.archive {\n margin: $archive-margin;\n max-width: $archive-max-width;\n\n .archive-title {\n font-family: $global-serif-font-family;\n\n &.tag,\n &.category {\n margin: 15px 0;\n }\n\n .archive-name {\n margin: 0;\n display: inline-block;\n font-weight: 400;\n font-size: $archive-name-font-size;\n line-height: $archive-name-font-size + 2px;\n }\n\n .archive-post-counter {\n color: $dark-gray;\n }\n }\n\n .collection-title {\n font-family: $global-serif-font-family;\n \n .archive-year {\n margin: 15px 0;\n font-weight: 400;\n font-size: $collection-title-font-size;\n line-height: $collection-title-font-size + 2px;\n }\n }\n\n .archive-post {\n padding: $archive-post-padding;\n border-left: $archive-post-border-left;\n\n .archive-post-time {\n margin-right: 10px;\n color: $dark-gray;\n }\n\n .archive-post-title {\n \n .archive-post-link {\n color: $theme-color;\n }\n }\n\n &::first-child {\n margin-top: 10px;\n }\n\n &:hover {\n border-left: $archive-post-hover-border-left;\n transition: $archive-post-hover-transition;\n transform: $archive-post-hover-transform;\n\n .archive-post-time {\n color: darken($dark-gray, 10%);\n }\n\n .archive-post-title .archive-post-link {\n color: darken($theme-color, 10%);\n }\n }\n }\n}\n\n@include max-screen() {\n .archive {\n margin-left: auto;\n margin-right: auto;\n\n .archive-title .archive-name {\n font-size: $archive-name-font-size - 4px;\n }\n\n .collection-title .archive-year {\n margin: 10px 0;\n font-size: $collection-title-font-size - 4px;\n }\n\n .archive-post {\n padding: $archive-post-mobile-padding;\n\n .archive-post-time {\n font-size: $archive-post-mobile-time-font-size;\n display: block;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_archive.scss","// ==============================\n// Tags\n// =============================\n\n.tag-cloud {\n margin: 2em 0 3em;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .tag-cloud-title {\n display: inline-block;\n font-size: $tag-cloud-title-size;\n color: $theme-color;\n border-bottom: $tag-cloud-title-border-bottom;\n }\n\n .tag-cloud-tags {\n margin: 10px 0;\n\n a {\n display: inline-block;\n position: relative;\n margin: $tag-cloud-tags-link-margin;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out;\n\n .tag-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: $theme-color;\n font-size: $category-count-font-size;\n }\n\n &:active,\n &:focus,\n &:hover {\n color: $theme-color;\n transform: scale(1.1);\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_tags.scss","\n.categories {\n margin: 2em 0 3em;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .categories-title {\n display: inline-block;\n font-size: $categories-title-size;\n color: $theme-color;\n border-bottom: $categories-title-border-bottom;\n }\n\n .categories-tags {\n margin: 10px 0;\n\n .category-link {\n display: inline-block;\n position: relative;\n margin: $categories-tags-link-margin;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out;\n\n .category-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: $theme-color;\n font-size: $category-count-font-size;\n }\n\n &:active,\n &:focus,\n &:hover {\n color: $theme-color;\n transform: scale(1.1);\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_categories.scss","// ==============================\n// slideout (https://github.com/mango/slideout)\n// ==============================\n\n.slideout-menu {\n position: fixed;\n top: 0;\n left: 0px;\n bottom: 0;\n width: 180px;\n min-height: 100vh;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n z-index: 0;\n display: none;\n}\n\n.slideout-panel {\n position: relative;\n z-index: 1;\n background-color: $white;\n min-height: 100vh;\n}\n\n.slideout-open,\n.slideout-open body,\n.slideout-open .slideout-panel {\n overflow: hidden;\n}\n\n.slideout-open .slideout-menu {\n display: block;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_slideout.scss","// ==============================\n// Mobile Navbar\n// ==============================\n\n.mobile-navbar {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: $mobile-navbar-height;\n background: $white;\n box-shadow: 0px 2px 2px $gray;\n text-align: center;\n transition: transform 300ms ease;\n z-index: 99;\n\n &.fixed-open {\n transform: translate3d(180px, 0px, 0px);\n }\n\n .mobile-header-logo {\n display: inline-block;\n margin-right: 50px;\n\n .logo {\n font-size: 22px;\n line-height: $mobile-navbar-height;\n font-family: $logo-font-family;\n }\n }\n\n .mobile-navbar-icon {\n color: $theme-color;\n height: $mobile-navbar-height;\n width: $mobile-navbar-height;\n font-size: 24px;\n text-align: center;\n float: left;\n position: relative;\n transition: background 0.5s;\n\n @include mobile-menu-icon();\n }\n}\n\n.mobile-menu {\n background-color: rgba($deputy-color, 0.5);\n\n .mobile-menu-list {\n position: relative;\n list-style: none;\n margin-top: 50px;\n padding: 0;\n border-top: 1px solid $deputy-color;\n\n .mobile-menu-item {\n padding: 10px 30px;\n border-bottom: 1px solid $deputy-color;\n }\n\n a {\n font-size: 18px;\n font-family: $global-serif-font-family;\n\n &:hover {\n color: $theme-color;\n }\n }\n }\n}\n\n@include max-screen() {\n .mobile-navbar {\n display: block;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_mobile.scss","// ==============================\n// Back to top\n// =============================\n\n.back-to-top {\n display: none;\n position: fixed;\n right: 20px;\n bottom: 20px;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n z-index: 10;\n\n &:hover {\n transform: translateY(-5px); \n }\n}\n\n@include max-screen() {\n .back-to-top {\n display: none !important;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_back-to-top.scss","// ==============================\n// Archive\n// =============================\n\n.not-found {\n text-align: center;\n\n .error-emoji {\n color: #363636;\n font-size: 3rem;\n }\n\n .error-text {\n color: #797979;\n font-size: 1.25rem;\n }\n\n .error-link {\n margin-top: 2rem;\n\n a {\n color: $theme-color;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_404.scss"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///./css/_variables.scss","webpack:///./css/_common/_normalize.scss","webpack:///./css/style.scss","webpack:///./css/_base.scss","webpack:///./css/_common/_utils.scss","webpack:///./css/_iconfont.scss","webpack:///./css/_partial/_header.scss","webpack:///./css/_partial/_header/_logo.scss","webpack:///./css/_partial/_header/_menu.scss","webpack:///./css/_common/_animation.scss","webpack:///./css/_partial/_post.scss","webpack:///./css/_partial/_post/_header.scss","webpack:///./css/_partial/_post/_toc.scss","webpack:///./css/_partial/_post/_content.scss","webpack:///./css/_partial/_post/_code.scss","webpack:///./css/_partial/_post/_copyright.scss","webpack:///./css/_partial/_post/_reward.scss","webpack:///./css/_partial/_post/_footer.scss","webpack:///./css/_partial/_post/_outdated.scss","webpack:///./css/_partial/_pagination.scss","webpack:///./css/_partial/_footer.scss","webpack:///./css/_partial/_footer/_social.scss","webpack:///./css/_partial/_footer/_copyright.scss","webpack:///./css/_partial/_archive.scss","webpack:///./css/_partial/_tags.scss","webpack:///./css/_partial/_categories.scss","webpack:///./css/_partial/_slideout.scss","webpack:///./css/_partial/_mobile.scss","webpack:///./css/_partial/_back-to-top.scss","webpack:///./css/_partial/_404.scss"],"names":[],"mappings":"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A,gDAAyC,wCACzC,iBAAkB,CAyHnB,2CAtHG,iBAAkB,CAcnB,iDAXG,kBACA,MACA,QACA,OACA,gBACA,eACA,gBACA,cACA,mBACA,cAAe,CAChB,+DAKC,cd6KiB,Cc5KlB,4DADC,Wd8KW,Cc7KZ,6DADC,Yd+Ka,Cc9Kd,8DADC,adgLe,Cc/KhB,8DADC,adiLe,CchLhB,uEADC,sBdkLiC,CcjLlC,+DADC,cdmLiB,CclLlB,8DADC,adoLe,CcnLhB,+DADC,cdqLiB,CcpLlB,+DADC,cdsLiB,CcrLlB,+DADC,cduLiB,CctLlB,kIADC,oBdyL6B,CcxL9B,mEADC,kBd0LyB,CczL1B,mEADC,kBd2LyB,Cc1L1B,qEADC,qBd4L8B,Cc3L/B,8DADC,ad6Le,Cc5LhB,+DADC,cd8LiB,Cc7LlB,iEADC,gBd+LqB,Cc9LtB,+DADC,cdgMiB,Cc/LlB,8DADC,adiMe,CchMhB,gEADC,edkMmB,CcjMpB,iEADC,gBdoMqB,CcnMtB,6DADC,YdqMa,CcpMd,iEADC,gBdsMqB,CcrMtB,kEADC,iBduMuB,CctMxB,iEADC,gBdwMqB,CcvMtB,+DADC,cdyMiB,CcxMlB,+DADC,cd0MiB,CczMlB,8DADC,ad2Me,Cc1MhB,iEADC,gBd4MqB,Cc3MtB,+DADC,cd6MiB,Cc5MlB,+DADC,cd8MiB,Cc7MlB,gEADC,ed+MmB,Cc9MpB,gEADC,edgNmB,Cc/MpB,qEADC,oBdiN6B,CchN9B,6HADC,cdmNiB,CclNlB,+DADC,cdoNiB,CcnNlB,+CAKC,SACA,sBAAuB,CACxB,6CAID,WACA,adhBU,CcsBX,iDAHG,SACA,qBAAsB,CACvB,2CAMD,WAAoC,CACrC,2HAGC,SACA,UACA,WACA,wBAAyB,CAC1B,gHAKG,ad2HY,Cc1Hb,iLAKC,adsHY,CcrHb,iWAQC,ad8GW,Cc7GZ,mSAOC,aduGU,CctGX,uWAQC,ad+Fc,Cc9Ff,udAUC,adqFW,CcpFZ,oHAIC,adiFa,CchFd,yDAGC,kBd8EY,Cc7Eb,0DAGC,iBAAkB,CACnB,wDAGC,eAAiB,CAClB,kCDpED,iBAAkB,CACnB,+CAIG,cACA,gBACA,iD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","file":"even.min.css","sourcesContent":["// ==============================\n// Variables\n// ==============================\n\n// ========== Theme Color ========== //\n// Config here to change theme color\n// Default | Mint Green | Cobalt Blue | Hot Pink | Dark Violet\n$theme-color-config: 'Mint Green';\n\n// Default theme color map\n$theme-color-map: (\n 'Default': #c05b4d #f8f5ec,\n 'Mint Green': #16982B #f5f5f5,\n 'Cobalt Blue': #0047AB #f0f2f5,\n 'Hot Pink': #FF69B4 #f8f5f5,\n 'Dark Violet': #9932CC #f5f4fa\n);\n\n// Check theme color config.\n// if it does not exist, use default theme color.\n@if not(map-has-key($theme-color-map, $theme-color-config)) {\n $theme-color-config: 'Default';\n}\n$theme-color-list: map-get($theme-color-map, $theme-color-config);\n\n// Default theme color of the site.\n$theme-color: nth($theme-color-list, 1) !default;\n\n// Deputy theme color of the site.\n$deputy-color: nth($theme-color-list, 2) !default;\n\n\n// ========== Color ========== //\n$black: #0a0a0a !default;\n$white: #fefefe !default;\n$light-gray: #e6e6e6 !default;\n$gray: #cacaca !default;\n$dark-gray: #8a8a8a !default;\n\n\n// ========== Global ========== //\n// Text color of the body.\n$global-font-color: #34495e !default;\n\n// Font size attribute applied to '<html>' and '<body>'.\n$global-font-size: 16px !default;\n\n// Global width of '<body>'.\n$global-body-width: 800px !default;\n\n// Padding of container main\n$global-container-padding: 0 20px !default;\n\n// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px.\n$global-lineheight: 1.5 !default;\n\n// Font family of the site.\n$global-font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !default;\n\n// Serif font family of the site.\n$global-serif-font-family: Athelas, STHeiti, Microsoft Yahei, serif !default;\n\n// Background color of the site.\n$global-background: $white !default;\n\n// Headings font size of the site.\n$global-headings: (\n h1: 26px,\n h2: 24px,\n h3: 20px,\n h4: 16px,\n h5: 14px,\n h6: 14px\n) !default;\n\n\n// ========== Header ========== //\n// Padding of the site header.\n$header-padding: 20px 20px !default;\n\n// Font family: Chancery\n@font-face {\n font-family: 'Chancery';\n src: url('../fonts/chancery/apple-chancery-webfont.eot');\n src: local('Apple Chancery'), url('../fonts/chancery/apple-chancery-webfont.eot?#iefix') format('embedded-opentype'),\n url('../fonts/chancery/apple-chancery-webfont.woff2') format('woff2'),\n url('../fonts/chancery/apple-chancery-webfont.woff') format('woff'),\n url('../fonts/chancery/apple-chancery-webfont.ttf') format('truetype'),\n url('../fonts/chancery/apple-chancery-webfont.svg#apple-chancery') format('svg');\n font-weight: lighter;\n font-style: normal;\n}\n\n// Font size of the logo.\n$logo-font-size: 48px !default;\n\n// Font family of the logo.\n$logo-font-family: sans-serif !default;\n\n// Margin of menu item.\n$menu-item-margin-left: 10px !default;\n\n// Margin of menu item in mobile.\n$menu-item-mobile-margin: 5px !default;\n\n// Font size of menu item link.\n$menu-link-font-size: 18px !default;\n\n// Height of the mobile header.\n$mobile-navbar-height: 50px !default;\n\n// ========== Post ========== //\n// Margin bottom of post list.\n$post-list-margin-bottom: 20px !default;\n\n// Padding of the post.\n$post-padding: 1.5em 0 !default;\n\n// Border top of the post + post.\n$post-border: 1px solid $light-gray !default;\n\n// Font size of post title.\n$post-title-font-size: 27px !default;\n\n// Font weight of post title.\n$post-title-font-weight: 400 !default;\n\n// Margin top of the post meta (post time).\n$post-meta-margin-top: 5px !default;\n\n// Font color of the post meta.\n$post-meta-font-color: $dark-gray !default;\n\n// Border bottom of the read more link when hover it.\n$post-readMore-border-bottom: 1px solid $theme-color !default;\n\n// Margin top of the post footer.\n$post-footer-margin-top: 20px !default;\n\n// Border top of post footer.\n$post-footer-border-top: 1px solid $light-gray !default;\n\n// Padding of the post tags.\n$post-tags-padding: 15px 0 !default;\n\n// Font size of post pagination.\n$post-nav-font-size: 18px !default;\n\n\n// ========== TOC ========== //\n// Width of the post toc.\n$post-toc-width: 200px !default;\n\n// Backgroud color of the post toc.\n$post-toc-backgroud: rgba($deputy-color, 0.6) !default;\n\n// Margin left of the post toc.\n$post-toc-margin-left: $global-body-width - 15px !default;\n\n// Font size of the post toc title.\n$post-toc-title-size: 20px !default;\n\n// Font size of the post toc content.\n$post-toc-content: 15px !default;\n\n// List style of the post toc list.\n$post-toc-list-style: square !default;\n\n// Max screen media of the post toc.\n$toc-max-sreen-width: 2 * $post-toc-width + $post-toc-margin-left !default;\n\n// ========== Content ========== //\n// Headings anchor.\n$content-headings-anchor: \"\" !default;\n\n// Border bottom of the link when hover it.\n$content-link-border: 1px solid $theme-color !default;\n\n// Background color of the blockquote.\n$content-blockquote-backgroud: rgba($theme-color, 0.05) !default;\n\n// Border left of the blockquote.\n$content-blockquote-border-left: 3px solid rgba($theme-color, 0.3) !default;\n\n// Border color of the table.\n$content-table-border-color: darken($deputy-color, 3%) !default;\n\n// ========== Code ========== //\n// Color of the code.\n$code-color: #c7254e !default;\n\n// Font size of code.\n$code-font-size: 13px !default;\n\n// Font family of the code.\n$code-font-family: Consolas, Monaco, Menlo, Consolas, monospace !default;\n\n// Color of code highlight, solarized.\n$code-highlight-color: (\n comment: #93a1a1,\n keyword: #859900,\n number: #2aa198,\n title: #268bd2,\n attribute: #b58900,\n symbol: #cb4b16,\n built_in: #dc322f,\n formula: #eee8d5\n) !default;\n\n// Code type list.\n$code-type-list: (\n // Custom code type\n language-bash: \"Bash\",\n language-c: \"C\",\n language-cs: \"C#\",\n language-cpp: \"C++\",\n language-css: \"CSS\",\n language-coffeescript: \"CoffeeScript\",\n language-html: \"HTML\",\n language-xml: \"XML\",\n language-http: \"HTTP\",\n language-json: \"JSON\",\n language-java: \"Java\",\n language-js: \"JavaScript\",\n language-javascript: \"JavaScript\",\n language-makefile: \"Makefile\",\n language-markdown: \"Markdown\",\n language-objectivec: \"Objective-C\",\n language-php: \"PHP\",\n language-perl: \"Perl\",\n language-python: \"Python\",\n language-ruby: \"Ruby\",\n language-sql: \"SQL\",\n language-shell: \"Shell\",\n\n language-erlang: \"Erlang\",\n language-go: \"Go\",\n language-groovy: \"Groovy\",\n language-haskell: \"Haskell\",\n language-kotlin: \"Kotlin\",\n language-less: \"Less\",\n language-lisp: \"Lisp\",\n language-lua: \"Lua\",\n language-matlab: \"Matlab\",\n language-rust: \"Rust\",\n language-scss: \"Scss\",\n language-scala: \"Scala\",\n language-swift: \"Swift\",\n language-typescript: \"TypeScript\",\n language-yml: \"YAML\",\n language-yaml: \"YAML\",\n language-toml: \"TOML\"\n) !default;\n\n// Color of the code background.\n$code-background: $deputy-color !default;\n\n\n// ========== Pagination ========== //\n// Margin of the pagination.\n$pagination-margin: 2em 0 !default;\n\n// Font size of the pagination (Without post, post pagination see line 140).\n$pagination-font-size: 20px !default;\n\n\n// ========== Footer ========== //\n// Margin top of the footer.\n$footer-margin-top: 2em !default;\n\n// Margin left of the social link.\n$social-link-margin-left: 10px !default;\n\n// Font size of the social icon.\n$social-icon-font-size: 30px !default;\n\n// Margin of the copyright.\n$copyright-margin: 10px 0 !default;\n\n\n// ========== Archive ========== //\n// Margin of the archive.\n$archive-margin: 2em 0px !default;\n\n// Max width of the archive.\n$archive-max-width: 550px !default;\n\n// Font size of the archive name.\n$archive-name-font-size: 30px !default;\n\n// Font size of the collection title.\n$collection-title-font-size: 28px !default;\n\n// Padding of the archive post.\n$archive-post-padding: 3px 20px !default;\n\n// Padding of the archive post in mobile.\n$archive-post-mobile-padding: 5px 10px !default;\n\n// Font size of the archive post time in mobile.\n$archive-post-mobile-time-font-size: 13px !default;\n\n// Border left of the archive post, use $archive-post-hover-border-left when hover it.\n$archive-post-border-left: 1px solid $gray !default;\n$archive-post-hover-border-left: 3px solid $theme-color !default;\n\n// Transition of the archive post when hover it.\n$archive-post-hover-transition: 0.2s ease-out !default;\n\n// Transform of the archive post when hover it.\n$archive-post-hover-transform: translateX(4px) !default;\n\n\n// ========== Tags ========== //\n// Font soze of the tag cloud title.\n$tag-cloud-title-size: 18px !default;\n\n// Border bottom of the tag cloud title.\n$tag-cloud-title-border-bottom: 2px solid $theme-color !default;\n\n// Margin of the tag cloud tags link.\n$tag-cloud-tags-link-margin: 5px 10px !default;\n\n\n// ========== Categories ========== //\n// Font soze of the categories title.\n$categories-title-size: 18px !default;\n\n// Border bottom of the categories title.\n$categories-title-border-bottom: 2px solid $theme-color !default;\n\n// Margin of the categories tags link.\n$categories-tags-link-margin: 5px 10px !default;\n\n// Font size of the category count\n$category-count-font-size: 12px !default;\n\n\n\n// WEBPACK FOOTER //\n// ./css/_variables.scss","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_normalize.scss","@charset \"UTF-8\";\n@font-face {\n font-family: 'Chancery';\n src: url(\"../fonts/chancery/apple-chancery-webfont.eot\");\n src: local(\"Apple Chancery\"), url(\"../fonts/chancery/apple-chancery-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/chancery/apple-chancery-webfont.woff2\") format(\"woff2\"), url(\"../fonts/chancery/apple-chancery-webfont.woff\") format(\"woff\"), url(\"../fonts/chancery/apple-chancery-webfont.ttf\") format(\"truetype\"), url(\"../fonts/chancery/apple-chancery-webfont.svg#apple-chancery\") format(\"svg\");\n font-weight: lighter;\n font-style: normal; }\n\n/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */ }\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0; }\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */ }\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none; }\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent; }\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0; }\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted; }\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold; }\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic; }\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000; }\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%; }\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0; }\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden; }\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px; }\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0; }\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto; }\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */ }\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible; }\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none; }\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */ }\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal; }\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box;\n /* 2 */\n box-sizing: content-box; }\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto; }\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold; }\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\nhtml {\n font-size: 16px;\n box-sizing: border-box; }\n\nbody {\n padding: 0;\n margin: 0;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", Arial, sans-serif;\n font-weight: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n line-height: 1.5;\n color: #34495e;\n background: #fefefe;\n scroll-behavior: smooth;\n border-top: 3px solid #16982B; }\n\n@media screen and (max-width: 800px) {\n body {\n border-top: 0; } }\n\n::selection {\n background: #16982B;\n color: #fff; }\n\nimg {\n max-width: 100%;\n height: auto;\n display: inline-block;\n vertical-align: middle; }\n\na {\n color: #34495e;\n text-decoration: none; }\n\nh1 {\n font-size: 26px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh2 {\n font-size: 24px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh3 {\n font-size: 20px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh4 {\n font-size: 16px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh5 {\n font-size: 14px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\nh6 {\n font-size: 14px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n\n.container {\n margin: 0 auto;\n width: 800px; }\n\n@media screen and (max-width: 800px) {\n .container {\n width: 100%;\n box-shadow: -1px -5px 5px #cacaca; } }\n\n.content-wrapper {\n padding: 0 20px; }\n\n.video-container {\n position: relative;\n padding-bottom: 56.25%;\n /* 16:9 */\n padding-top: 25px;\n height: 0; }\n\n.video-container iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n\n.svg-icon {\n width: 40px;\n height: 40px;\n display: inline-block; }\n .svg-icon.email {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n .svg-icon.github {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); }\n .svg-icon.rss {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); }\n .svg-icon.twitter {\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n .svg-icon.keybase {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=); }\n\n@font-face {\n font-family: 'iconfont';\n /* project id 96542 */\n src: url(\"../fonts/iconfont/iconfont.eot\");\n src: url(\"../fonts/iconfont/iconfont.eot#iefix\") format(\"embedded-opentype\"), url(\"../fonts/iconfont/iconfont.woff\") format(\"woff\"), url(\"../fonts/iconfont/iconfont.ttf\") format(\"truetype\"), url(\"../fonts/iconfont/iconfont.svg#iconfont\") format(\"svg\"); }\n\n.iconfont {\n font-family: \"iconfont\" !important;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -webkit-text-stroke-width: 0.2px;\n -moz-osx-font-smoothing: grayscale;\n cursor: pointer; }\n\n.icon-instagram:before {\n font-size: .95em;\n content: \"\\e611\";\n position: relative;\n top: -1px; }\n\n.icon-douban:before {\n content: \"\\e610\"; }\n\n.icon-tumblr:before {\n content: \"\\e69f\";\n font-size: .85em;\n position: relative;\n top: -4px; }\n\n.icon-linkedin:before {\n content: \"\\e60d\";\n position: relative;\n top: -4px; }\n\n.icon-twitter:before {\n content: \"\\e600\"; }\n\n.icon-weibo:before {\n content: \"\\e602\"; }\n\n.icon-stack-overflow:before {\n content: \"\\e603\";\n font-size: .85em;\n position: relative;\n top: -4px; }\n\n.icon-email:before {\n content: \"\\e605\";\n position: relative;\n top: -2px; }\n\n.icon-facebook:before {\n content: \"\\e601\";\n font-size: .95em;\n position: relative;\n top: -2px; }\n\n.icon-github:before {\n content: \"\\e606\";\n position: relative;\n top: -3px; }\n\n.icon-rss:before {\n content: \"\\e604\"; }\n\n.icon-google:before {\n content: \"\\e609\"; }\n\n.icon-zhihu:before {\n content: \"\\e607\";\n font-size: .9em;\n position: relative;\n top: -2px; }\n\n.icon-pocket:before {\n content: \"\\e856\"; }\n\n/* Generic Icon */\n.icon-heart:before {\n content: \"\\e608\"; }\n\n.icon-right:before {\n content: \"\\e60a\"; }\n\n.icon-left:before {\n content: \"\\e60b\"; }\n\n.icon-up:before {\n content: \"\\e60c\"; }\n\n.icon-close:before {\n content: \"\\e60f\"; }\n\n.header {\n padding: 20px 20px; }\n .header:before, .header:after {\n content: \" \";\n display: table; }\n .header:after {\n clear: both; }\n .header .logo-wrapper {\n float: left; }\n .header .logo-wrapper .logo {\n font-size: 48px;\n font-family: sans-serif; }\n @media screen and (max-width: 800px) {\n .header .logo-wrapper {\n display: none; } }\n .header .site-navbar {\n float: right; }\n .header .site-navbar .menu {\n display: inline-block;\n position: relative;\n padding-left: 0;\n padding-right: 25px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .header .site-navbar .menu .menu-item {\n display: inline-block;\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden; }\n .header .site-navbar .menu .menu-item + .menu-item {\n margin-left: 10px; }\n .header .site-navbar .menu .menu-item:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: #16982B;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out; }\n .header .site-navbar .menu .menu-item.active:before, .header .site-navbar .menu .menu-item:active:before, .header .site-navbar .menu .menu-item:focus:before, .header .site-navbar .menu .menu-item:hover:before {\n right: 0;\n left: 0; }\n .header .site-navbar .menu .menu-item-link {\n font-size: 18px; }\n @media screen and (max-width: 800px) {\n .header .site-navbar {\n display: none; } }\n\n@media screen and (max-width: 800px) {\n .header {\n padding: 50px 0 0;\n text-align: center; } }\n\n.posts {\n margin-bottom: 20px;\n border-bottom: 1px solid #e6e6e6; }\n\n.post {\n padding: 1.5em 0; }\n .post + .post {\n border-top: 1px solid #e6e6e6; }\n .post .post-header {\n margin-bottom: 20px; }\n .post .post-header .post-title {\n margin: 0;\n font-size: 27px;\n font-weight: 400;\n font-family: \"Source Sans Pro\", \"Helvetica Neue\", Arial, sans-serif; }\n .post .post-header .post-link {\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden; }\n .post .post-header .post-link:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: #16982B;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out; }\n .post .post-header .post-link.active:before, .post .post-header .post-link:active:before, .post .post-header .post-link:focus:before, .post .post-header .post-link:hover:before {\n right: 0;\n left: 0; }\n .post .post-header .post-meta {\n font-size: 14px;\n color: #8a8a8a; }\n .post .post-header .post-meta .post-time {\n font-size: 15px; }\n .post .post-header .post-meta .post-category {\n display: inline; }\n .post .post-header .post-meta .post-category a {\n color: inherit; }\n .post .post-header .post-meta .post-category a::before {\n content: '·'; }\n .post .post-header .post-meta .post-category a:hover {\n color: #16982B; }\n .post .post-header .post-meta .more-meta::before {\n content: '·'; }\n .post .post-toc {\n position: absolute;\n width: 200px;\n margin-left: 785px;\n padding: 10px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n border-radius: 5px;\n background: rgba(245, 245, 245, 0.6);\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);\n word-wrap: break-word;\n box-sizing: border-box; }\n .post .post-toc .post-toc-title {\n margin: 0 10px;\n font-size: 20px;\n font-weight: 400;\n text-transform: uppercase; }\n .post .post-toc .post-toc-content {\n font-size: 15px; }\n .post .post-toc .post-toc-content.always-active ul {\n display: block; }\n .post .post-toc .post-toc-content > nav > ul {\n margin: 10px 0; }\n .post .post-toc .post-toc-content ul {\n padding-left: 20px;\n list-style: square; }\n .post .post-toc .post-toc-content ul ul {\n padding-left: 15px;\n display: none; }\n .post .post-toc .post-toc-content ul .has-active > ul {\n display: block; }\n .post .post-toc .post-toc-content .toc-link.active {\n color: #16982B; }\n @media screen and (max-width: 1185px) {\n .post .post-toc {\n display: none; } }\n .post .post-content {\n word-wrap: break-word; }\n .post .post-content h1 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h2 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h3 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h4 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h5 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content h6 {\n font-weight: 400;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content a {\n color: #16982B;\n word-break: break-all; }\n .post .post-content a:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-content a.fancybox {\n border: 0; }\n .post .post-content blockquote {\n margin: 2em 0;\n padding: 10px 20px;\n position: relative;\n color: rgba(52, 73, 94, 0.8);\n background-color: rgba(22, 152, 43, 0.05);\n border-left: 3px solid rgba(22, 152, 43, 0.3);\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125); }\n .post .post-content blockquote p {\n margin: 0; }\n .post .post-content img {\n display: inline-block;\n max-width: 100%; }\n .post .post-content > table {\n max-width: 100%;\n margin: 10px 0;\n border-spacing: 0;\n box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.125); }\n .post .post-content > table thead {\n background: #f5f5f5; }\n .post .post-content > table th, .post .post-content > table td {\n padding: 5px 15px;\n border: 1px double #ededed; }\n .post .post-content > table tr:hover {\n background-color: #f5f5f5; }\n .post .post-content code, .post .post-content pre {\n padding: 7px;\n font-size: 13px;\n font-family: Consolas, Monaco, Menlo, Consolas, monospace;\n background: #f5f5f5; }\n .post .post-content code {\n padding: 3px 5px;\n border-radius: 4px;\n color: #c7254e; }\n .post .post-content figure.highlight {\n margin: 1em 0;\n border-radius: 5px;\n overflow-x: auto;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);\n position: relative; }\n .post .post-content figure.highlight table {\n position: relative; }\n .post .post-content figure.highlight table::after {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 2px 7px;\n font-size: 13px;\n font-weight: bold;\n color: #b1b1b1;\n background: #ededed;\n content: 'Code'; }\n .post .post-content figure.highlight.language-bash > table::after {\n content: \"Bash\"; }\n .post .post-content figure.highlight.language-c > table::after {\n content: \"C\"; }\n .post .post-content figure.highlight.language-cs > table::after {\n content: \"C#\"; }\n .post .post-content figure.highlight.language-cpp > table::after {\n content: \"C++\"; }\n .post .post-content figure.highlight.language-css > table::after {\n content: \"CSS\"; }\n .post .post-content figure.highlight.language-coffeescript > table::after {\n content: \"CoffeeScript\"; }\n .post .post-content figure.highlight.language-html > table::after {\n content: \"HTML\"; }\n .post .post-content figure.highlight.language-xml > table::after {\n content: \"XML\"; }\n .post .post-content figure.highlight.language-http > table::after {\n content: \"HTTP\"; }\n .post .post-content figure.highlight.language-json > table::after {\n content: \"JSON\"; }\n .post .post-content figure.highlight.language-java > table::after {\n content: \"Java\"; }\n .post .post-content figure.highlight.language-js > table::after {\n content: \"JavaScript\"; }\n .post .post-content figure.highlight.language-javascript > table::after {\n content: \"JavaScript\"; }\n .post .post-content figure.highlight.language-makefile > table::after {\n content: \"Makefile\"; }\n .post .post-content figure.highlight.language-markdown > table::after {\n content: \"Markdown\"; }\n .post .post-content figure.highlight.language-objectivec > table::after {\n content: \"Objective-C\"; }\n .post .post-content figure.highlight.language-php > table::after {\n content: \"PHP\"; }\n .post .post-content figure.highlight.language-perl > table::after {\n content: \"Perl\"; }\n .post .post-content figure.highlight.language-python > table::after {\n content: \"Python\"; }\n .post .post-content figure.highlight.language-ruby > table::after {\n content: \"Ruby\"; }\n .post .post-content figure.highlight.language-sql > table::after {\n content: \"SQL\"; }\n .post .post-content figure.highlight.language-shell > table::after {\n content: \"Shell\"; }\n .post .post-content figure.highlight.language-erlang > table::after {\n content: \"Erlang\"; }\n .post .post-content figure.highlight.language-go > table::after {\n content: \"Go\"; }\n .post .post-content figure.highlight.language-groovy > table::after {\n content: \"Groovy\"; }\n .post .post-content figure.highlight.language-haskell > table::after {\n content: \"Haskell\"; }\n .post .post-content figure.highlight.language-kotlin > table::after {\n content: \"Kotlin\"; }\n .post .post-content figure.highlight.language-less > table::after {\n content: \"Less\"; }\n .post .post-content figure.highlight.language-lisp > table::after {\n content: \"Lisp\"; }\n .post .post-content figure.highlight.language-lua > table::after {\n content: \"Lua\"; }\n .post .post-content figure.highlight.language-matlab > table::after {\n content: \"Matlab\"; }\n .post .post-content figure.highlight.language-rust > table::after {\n content: \"Rust\"; }\n .post .post-content figure.highlight.language-scss > table::after {\n content: \"Scss\"; }\n .post .post-content figure.highlight.language-scala > table::after {\n content: \"Scala\"; }\n .post .post-content figure.highlight.language-swift > table::after {\n content: \"Swift\"; }\n .post .post-content figure.highlight.language-typescript > table::after {\n content: \"TypeScript\"; }\n .post .post-content figure.highlight.language-yml > table::after {\n content: \"YAML\"; }\n .post .post-content figure.highlight.language-yaml > table::after {\n content: \"YAML\"; }\n .post .post-content figure.highlight.language-toml > table::after {\n content: \"TOML\"; }\n .post .post-content figure.highlight .code pre {\n margin: 0;\n padding: 30px 10px 10px; }\n .post .post-content figure.highlight .gutter {\n width: 10px;\n color: #cacaca; }\n .post .post-content figure.highlight .gutter pre {\n margin: 0;\n padding: 30px 7px 10px; }\n .post .post-content figure.highlight .line {\n height: 20px; }\n .post .post-content figure.highlight table, .post .post-content figure.highlight tr, .post .post-content figure.highlight td {\n margin: 0;\n padding: 0;\n width: 100%;\n border-collapse: collapse; }\n .post .post-content figure.highlight .code .hljs-comment,\n .post .post-content figure.highlight .code .hljs-quote {\n color: #93a1a1; }\n .post .post-content figure.highlight .code .hljs-keyword,\n .post .post-content figure.highlight .code .hljs-selector-tag,\n .post .post-content figure.highlight .code .hljs-addition {\n color: #859900; }\n .post .post-content figure.highlight .code .hljs-number,\n .post .post-content figure.highlight .code .hljs-string,\n .post .post-content figure.highlight .code .hljs-meta .hljs-meta-string,\n .post .post-content figure.highlight .code .hljs-literal,\n .post .post-content figure.highlight .code .hljs-doctag,\n .post .post-content figure.highlight .code .hljs-regexp {\n color: #2aa198; }\n .post .post-content figure.highlight .code .hljs-title,\n .post .post-content figure.highlight .code .hljs-section,\n .post .post-content figure.highlight .code .hljs-name,\n .post .post-content figure.highlight .code .hljs-selector-id,\n .post .post-content figure.highlight .code .hljs-selector-class {\n color: #268bd2; }\n .post .post-content figure.highlight .code .hljs-attribute,\n .post .post-content figure.highlight .code .hljs-attr,\n .post .post-content figure.highlight .code .hljs-variable,\n .post .post-content figure.highlight .code .hljs-template-variable,\n .post .post-content figure.highlight .code .hljs-class .hljs-title,\n .post .post-content figure.highlight .code .hljs-type {\n color: #b58900; }\n .post .post-content figure.highlight .code .hljs-symbol,\n .post .post-content figure.highlight .code .hljs-bullet,\n .post .post-content figure.highlight .code .hljs-subst,\n .post .post-content figure.highlight .code .hljs-meta,\n .post .post-content figure.highlight .code .hljs-meta .hljs-keyword,\n .post .post-content figure.highlight .code .hljs-selector-attr,\n .post .post-content figure.highlight .code .hljs-selector-pseudo,\n .post .post-content figure.highlight .code .hljs-link {\n color: #cb4b16; }\n .post .post-content figure.highlight .code .hljs-built_in,\n .post .post-content figure.highlight .code .hljs-deletion {\n color: #dc322f; }\n .post .post-content figure.highlight .code .hljs-formula {\n background: #eee8d5; }\n .post .post-content figure.highlight .code .hljs-emphasis {\n font-style: italic; }\n .post .post-content figure.highlight .code .hljs-strong {\n font-weight: bold; }\n .post .post-content .post-summary {\n margin-bottom: 1em; }\n .post .post-content .read-more .read-more-link {\n color: #16982B;\n font-size: 1.1em;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-content .read-more .read-more-link:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-content kbd {\n display: inline-block;\n padding: 0.25em;\n background-color: #fafafa;\n border: 1px solid #dbdbdb;\n border-bottom-color: #b5b5b5;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #b5b5b5;\n font-size: 0.8em;\n line-height: 1.25;\n font-family: \"SFMono-Regular\",\"Liberation Mono\",\"Roboto Mono\",Menlo,Monaco,Consolas,\"Courier New\",Courier,monospace;\n color: #4a4a4a; }\n .post .post-content dl dt::after {\n content: ':'; }\n .post .post-content figure.center {\n text-align: center; }\n .post .post-content figure.right {\n text-align: right; }\n .post .post-content figure.left {\n text-align: left; }\n .post .post-content figure figcaption h4 {\n color: #b5b5b5;\n font-size: 0.9rem; }\n .post .post-content .task-list {\n list-style: none;\n padding-left: 1.5rem; }\n .post .post-content .align-center {\n text-align: center; }\n .post .post-content .align-right {\n text-align: right; }\n .post .post-content .align-left {\n text-align: left; }\n .post .post-content .MJXc-display {\n overflow-x: auto;\n overflow-y: hidden; }\n .post .post-copyright {\n margin-top: 20px;\n padding-top: 10px;\n border-top: 1px dashed #e6e6e6; }\n .post .post-copyright .copyright-item {\n margin: 5px 0; }\n .post .post-copyright .copyright-item a {\n color: #16982B;\n word-wrap: break-word; }\n .post .post-copyright .copyright-item a:hover {\n border-bottom: 1px solid #16982B; }\n .post .post-copyright .copyright-item .item-title {\n display: inline-block;\n min-width: 5rem;\n margin-right: .5rem;\n text-align: right; }\n .post .post-copyright .copyright-item .item-title:after {\n content: \" :\"; }\n .post .post-reward {\n margin-top: 20px;\n padding-top: 10px;\n text-align: center;\n border-top: 1px dashed #e6e6e6; }\n .post .post-reward .reward-button {\n margin: 15px 0;\n padding: 3px 7px;\n display: inline-block;\n color: #16982B;\n border: 1px solid #16982B;\n border-radius: 5px;\n cursor: pointer; }\n .post .post-reward .reward-button:hover {\n color: #fefefe;\n background-color: #16982B;\n transition: 0.5s; }\n .post .post-reward #reward:checked ~ .qr-code {\n display: block; }\n .post .post-reward #reward:checked ~ .reward-button {\n display: none; }\n .post .post-reward .qr-code {\n display: none; }\n .post .post-reward .qr-code .qr-code-image {\n display: inline-block;\n min-width: 200px;\n width: 40%;\n margin-top: 15px; }\n .post .post-reward .qr-code .qr-code-image span {\n display: inline-block;\n width: 100%;\n margin: 8px 0; }\n .post .post-reward .qr-code .image {\n width: 200px;\n height: 200px; }\n .post .post-tags {\n padding: 15px 0; }\n .post .post-tags a {\n margin-right: 5px;\n color: #16982B;\n word-break: break-all; }\n .post .post-tags a::before {\n content: '#'; }\n .post .post-footer {\n margin-top: 20px;\n border-top: 1px solid #e6e6e6;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .post .post-footer .post-tags {\n padding: 15px 0; }\n .post .post-footer .post-tags a {\n margin-right: 5px;\n color: #16982B;\n word-break: break-all; }\n .post .post-footer .post-tags a::before {\n content: '#'; }\n .post .post-footer .post-nav {\n margin: 1em 0; }\n .post .post-footer .post-nav:before, .post .post-footer .post-nav:after {\n content: \" \";\n display: table; }\n .post .post-footer .post-nav:after {\n clear: both; }\n .post .post-footer .post-nav .prev,\n .post .post-footer .post-nav .next {\n font-weight: 600;\n font-size: 18px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s; }\n .post .post-footer .post-nav .prev {\n float: left; }\n .post .post-footer .post-nav .prev:hover {\n color: #16982B;\n transform: translateX(-4px); }\n .post .post-footer .post-nav .next {\n float: right; }\n .post .post-footer .post-nav .next:hover {\n color: #16982B;\n transform: translateX(4px); }\n .post .post-footer .post-nav .nav-mobile {\n display: none; }\n @media screen and (max-width: 800px) {\n .post .post-footer .post-nav .nav-default {\n display: none; }\n .post .post-footer .post-nav .nav-mobile {\n display: inline; } }\n .post .post-outdated .hint {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #42acf3;\n background-color: #eff5ff;\n border-color: #42acf3; }\n .post .post-outdated .warn {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #f9cf63;\n background-color: #ffffc0;\n border-color: #f9cf63; }\n\n.pagination {\n margin: 2em 0; }\n .pagination:before, .pagination:after {\n content: \" \";\n display: table; }\n .pagination:after {\n clear: both; }\n .pagination .prev,\n .pagination .next {\n font-weight: 600;\n font-size: 20px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s; }\n .pagination .prev {\n float: left; }\n .pagination .prev:hover {\n color: #16982B;\n transform: translateX(-4px); }\n .pagination .next {\n float: right; }\n .pagination .next:hover {\n color: #16982B;\n transform: translateX(4px); }\n\n.footer {\n margin-top: 2em; }\n .footer .social-links {\n text-align: center; }\n .footer .social-links .iconfont {\n font-size: 30px; }\n .footer .social-links .iconfont + .iconfont {\n margin-left: 10px; }\n .footer .social-links .iconfont:hover {\n color: #16982B; }\n .footer .copyright {\n margin: 10px 0;\n color: #8a8a8a;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .footer .copyright .hexo-link,\n .footer .copyright .theme-link {\n color: #16982B; }\n .footer .copyright .copyright-year {\n display: block; }\n .footer .copyright .copyright-year .heart {\n font-size: 14px; }\n\n.archive {\n margin: 2em 0px;\n max-width: 550px; }\n .archive .archive-title {\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .archive .archive-title.tag, .archive .archive-title.category {\n margin: 15px 0; }\n .archive .archive-title .archive-name {\n margin: 0;\n display: inline-block;\n font-weight: 400;\n font-size: 30px;\n line-height: 32px; }\n .archive .archive-title .archive-post-counter {\n color: #8a8a8a; }\n .archive .collection-title {\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .archive .collection-title .archive-year {\n margin: 15px 0;\n font-weight: 400;\n font-size: 28px;\n line-height: 30px; }\n .archive .archive-post {\n padding: 3px 20px;\n border-left: 1px solid #cacaca; }\n .archive .archive-post .archive-post-time {\n margin-right: 10px;\n color: #8a8a8a; }\n .archive .archive-post .archive-post-title .archive-post-link {\n color: #16982B; }\n .archive .archive-post::first-child {\n margin-top: 10px; }\n .archive .archive-post:hover {\n border-left: 3px solid #16982B;\n transition: 0.2s ease-out;\n transform: translateX(4px); }\n .archive .archive-post:hover .archive-post-time {\n color: #717171; }\n .archive .archive-post:hover .archive-post-title .archive-post-link {\n color: #106b1e; }\n\n@media screen and (max-width: 800px) {\n .archive {\n margin-left: auto;\n margin-right: auto; }\n .archive .archive-title .archive-name {\n font-size: 26px; }\n .archive .collection-title .archive-year {\n margin: 10px 0;\n font-size: 24px; }\n .archive .archive-post {\n padding: 5px 10px; }\n .archive .archive-post .archive-post-time {\n font-size: 13px;\n display: block; } }\n\n.tag-cloud {\n margin: 2em 0 3em;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .tag-cloud .tag-cloud-title {\n display: inline-block;\n font-size: 18px;\n color: #16982B;\n border-bottom: 2px solid #16982B; }\n .tag-cloud .tag-cloud-tags {\n margin: 10px 0; }\n .tag-cloud .tag-cloud-tags a {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out; }\n .tag-cloud .tag-cloud-tags a .tag-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: #16982B;\n font-size: 12px; }\n .tag-cloud .tag-cloud-tags a:active, .tag-cloud .tag-cloud-tags a:focus, .tag-cloud .tag-cloud-tags a:hover {\n color: #16982B;\n transform: scale(1.1); }\n\n.categories {\n margin: 2em 0 3em;\n text-align: center;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .categories .categories-title {\n display: inline-block;\n font-size: 18px;\n color: #16982B;\n border-bottom: 2px solid #16982B; }\n .categories .categories-tags {\n margin: 10px 0; }\n .categories .categories-tags .category-link {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out; }\n .categories .categories-tags .category-link .category-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: #16982B;\n font-size: 12px; }\n .categories .categories-tags .category-link:active, .categories .categories-tags .category-link:focus, .categories .categories-tags .category-link:hover {\n color: #16982B;\n transform: scale(1.1); }\n\n.slideout-menu {\n position: fixed;\n top: 0;\n left: 0px;\n bottom: 0;\n width: 180px;\n min-height: 100vh;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n z-index: 0;\n display: none; }\n\n.slideout-panel {\n position: relative;\n z-index: 1;\n background-color: #fefefe;\n min-height: 100vh; }\n\n.slideout-open,\n.slideout-open body,\n.slideout-open .slideout-panel {\n overflow: hidden; }\n\n.slideout-open .slideout-menu {\n display: block; }\n\n.mobile-navbar {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 50px;\n background: #fefefe;\n box-shadow: 0px 2px 2px #cacaca;\n text-align: center;\n transition: transform 300ms ease;\n z-index: 99; }\n .mobile-navbar.fixed-open {\n transform: translate3d(180px, 0px, 0px); }\n .mobile-navbar .mobile-header-logo {\n display: inline-block;\n margin-right: 50px; }\n .mobile-navbar .mobile-header-logo .logo {\n font-size: 22px;\n line-height: 50px;\n font-family: sans-serif; }\n .mobile-navbar .mobile-navbar-icon {\n color: #16982B;\n height: 50px;\n width: 50px;\n font-size: 24px;\n text-align: center;\n float: left;\n position: relative;\n transition: background 0.5s; }\n\n@keyframes clickfirst {\n 0% {\n transform: translateY(6px) rotate(0deg); }\n 100% {\n transform: translateY(0) rotate(45deg); } }\n\n@keyframes clickmid {\n 0% {\n opacity: 1; }\n 100% {\n opacity: 0; } }\n\n@keyframes clicklast {\n 0% {\n transform: translateY(-6px) rotate(0deg); }\n 100% {\n transform: translateY(0) rotate(-45deg); } }\n\n@keyframes outfirst {\n 0% {\n transform: translateY(0) rotate(-45deg); }\n 100% {\n transform: translateY(-6px) rotate(0deg); } }\n\n@keyframes outmid {\n 0% {\n opacity: 0; }\n 100% {\n opacity: 1; } }\n\n@keyframes outlast {\n 0% {\n transform: translateY(0) rotate(45deg); }\n 100% {\n transform: translateY(6px) rotate(0deg); } }\n .mobile-navbar .mobile-navbar-icon span {\n position: absolute;\n /* fallback for browsers which still doesn't support for `calc()` */\n left: 15px;\n top: 25px;\n left: calc((100% - 20px) / 2);\n top: calc((100% - 1px) / 2);\n width: 20px;\n height: 1px;\n background-color: #16982B; }\n .mobile-navbar .mobile-navbar-icon span:nth-child(1) {\n transform: translateY(6px) rotate(0deg); }\n .mobile-navbar .mobile-navbar-icon span:nth-child(3) {\n transform: translateY(-6px) rotate(0deg); }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clickfirst; }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: clickmid; }\n .mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clicklast; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outfirst; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: outmid; }\n .mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outlast; }\n\n.mobile-menu {\n background-color: rgba(245, 245, 245, 0.5); }\n .mobile-menu .mobile-menu-list {\n position: relative;\n list-style: none;\n margin-top: 50px;\n padding: 0;\n border-top: 1px solid #f5f5f5; }\n .mobile-menu .mobile-menu-list .mobile-menu-item {\n padding: 10px 30px;\n border-bottom: 1px solid #f5f5f5; }\n .mobile-menu .mobile-menu-list a {\n font-size: 18px;\n font-family: Athelas, STHeiti, Microsoft Yahei, serif; }\n .mobile-menu .mobile-menu-list a:hover {\n color: #16982B; }\n\n@media screen and (max-width: 800px) {\n .mobile-navbar {\n display: block; } }\n\n.back-to-top {\n display: none;\n position: fixed;\n right: 20px;\n bottom: 20px;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n z-index: 10; }\n .back-to-top:hover {\n transform: translateY(-5px); }\n\n@media screen and (max-width: 800px) {\n .back-to-top {\n display: none !important; } }\n\n.not-found {\n text-align: center; }\n .not-found .error-emoji {\n color: #363636;\n font-size: 3rem; }\n .not-found .error-text {\n color: #797979;\n font-size: 1.25rem; }\n .not-found .error-link {\n margin-top: 2rem; }\n .not-found .error-link a {\n color: #16982B; }\n\n\n\n// WEBPACK FOOTER //\n// ./css/style.scss","@import '_common/normalize';\n\nhtml {\n font-size: $global-font-size;\n box-sizing: border-box;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: $global-font-family;\n font-weight: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n line-height: $global-lineheight;\n color: $global-font-color;\n background: $global-background;\n scroll-behavior: smooth;\n border-top: 3px solid $theme-color;\n}\n\n@include max-screen() {\n body {\n border-top: 0;\n }\n}\n\n::selection {\n background: $theme-color;\n color: #fff;\n}\n\n// ::-webkit-scrollbar {\n// width: 8px;\n// height: 6px;\n// }\n\n// ::-webkit-scrollbar-thumb {\n// background: lighten($theme-color, 10%);\n// border-radius: 5px;\n// }\n\n// ::-webkit-scrollbar-track {\n// background: rgba(211, 211, 211, 0.4);\n// border-radius: 5px;\n// }\n\nimg {\n max-width: 100%;\n height: auto;\n display: inline-block;\n vertical-align: middle;\n}\n\na {\n color: $global-font-color;\n text-decoration: none;\n}\n\n@each $header, $size in $global-headings {\n #{$header} {\n font-size: $size;\n font-family: $global-serif-font-family;\n }\n}\n\n.container {\n margin: 0 auto;\n width: $global-body-width;\n}\n\n@include max-screen() {\n .container {\n width: 100%;\n box-shadow: -1px -5px 5px $gray;\n }\n}\n\n.content-wrapper {\n padding: $global-container-padding;\n}\n\n// make video fluid:\n// https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php\n// class video-container is the wrapper used by hexo youtube tag plugin\n.video-container {\n\tposition: relative;\n\tpadding-bottom: 56.25%; /* 16:9 */\n\tpadding-top: 25px;\n\theight: 0;\n}\n.video-container iframe {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.svg-icon {\n width: 40px;\n height: 40px;\n display: inline-block;\n\n &.email { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjIyNDU4MDY4OCwzMCBDMC4yMjQ1ODA2ODgsMTMuNDMxNDU2NyAxMy40NTQ5NDEsMCAyOS43NzU0MTkzLDAgQzQ2LjA5NTg5NzYsMCA1OS4zMjYyNTc5LDEzLjQzMTQ1NjcgNTkuMzI2MjU3OSwzMCBDNTkuMzI2MjU3OSw0Ni41Njg1NDMzIDQ2LjA5NTg5NzYsNjAgMjkuNzc1NDE5Myw2MCBDMTMuNDU0OTQxLDYwIDAuMjI0NTgwNjg4LDQ2LjU2ODU0MzMgMC4yMjQ1ODA2ODgsMzAgWiBNMC4yMjQ1ODA2ODgsMzAiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMzUuMDM4NDMyNCwzMS42Mzg0MDA2IEw0Ny4yMTMxMTQ4LDQwLjU3NjQyNjQgTDQ3LjIxMzExNDgsMjAgTDM1LjAzODQzMjQsMzEuNjM4NDAwNiBaIE0xMy43NzA0OTE4LDIwIEwxMy43NzA0OTE4LDQwLjU3NjQyNjQgTDI1Ljk0NDkxMjksMzEuNjM3MTQ5MSBMMTMuNzcwNDkxOCwyMCBaIE0zMC40OTE4MDMzLDM1Ljk4NDQ4OTEgTDI3LjU4NTEwMzcsMzMuMjA2NTIxNyBMMTMuNzcwNDkxOCw0MiBMNDcuMjEzMTE0OCw0MiBMMzMuMzk4MTc2MiwzMy4yMDY1MjE3IEwzMC40OTE4MDMzLDM1Ljk4NDQ4OTEgWiBNNDYuMjA5ODM2MSwyMCBMMTQuNzczNzcwNSwyMCBMMzAuNDkxODAzMywzMi40NTQ5MzA0IEw0Ni4yMDk4MzYxLDIwIFogTTQ2LjIwOTgzNjEsMjAiIGlkPSJTaGFwZSIgZmlsbD0iIzMzMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4zMjYyNTc5LDMwIEM1OS4zMjYyNTc5LDQ2LjU2ODU0MzMgNDYuMDk1ODk3Niw2MCAyOS43NzU0MTkzLDYwIEMyMy43MjI1NDA1LDYwIDE4LjA5NDcwNTEsNTguMTUyNTEzNCAxMy40MDkzMjQ0LDU0Ljk4Mjc3NTQgTDQ3LjI2OTU0NTgsNS44MTk0MTEwMyBDNTQuNTgxNDQzOCwxMS4yODA2NTAzIDU5LjMyNjI1NzksMjAuMDc3Nzk3MyA1OS4zMjYyNTc5LDMwIFogTTU5LjMyNjI1NzksMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n &.github { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==); }\n &.rss { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjExMjI5MDM0NCwzMCBDMC4xMTIyOTAzNDQsMTMuNDMxNDU2NyAxMy4zNDI2NTA2LDAgMjkuNjYzMTI5LDAgQzQ1Ljk4MzYwNzMsMCA1OS4yMTM5Njc2LDEzLjQzMTQ1NjcgNTkuMjEzOTY3NiwzMCBDNTkuMjEzOTY3Niw0Ni41Njg1NDMzIDQ1Ljk4MzYwNzMsNjAgMjkuNjYzMTI5LDYwIEMxMy4zNDI2NTA2LDYwIDAuMTEyMjkwMzQ0LDQ2LjU2ODU0MzMgMC4xMTIyOTAzNDQsMzAgWiBNMC4xMTIyOTAzNDQsMzAiIGZpbGw9IiNFMThGMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjYuNTE0Nzc1NSwzOC43NTcxMjk2IEMyNi41MTQ3NzU1LDM2LjgxOTI5MzQgMjQuOTU3NTAyMSwzNS4yMjkxNjU2IDIzLjAyOTcwNDcsMzUuMjI5MTY1NiBDMjEuMTA5NDMzMSwzNS4yMjkxNjU2IDE5LjU0OTI3NzUsMzYuODE5MjkzNCAxOS41NDkyNzc1LDM4Ljc1NzEyOTYgQzE5LjU0OTI3NzUsNDAuNzA1MjA2OCAyMS4xMDk0MzMxLDQyLjI3NzYxNiAyMy4wMjk3MDQ3LDQyLjI3NzYxNiBDMjQuOTU3NDIyLDQyLjI3NzYxNiAyNi41MTQ2OTU0LDQwLjcwNTI4ODEgMjYuNTE0Nzc1NSwzOC43NTcxMjk2IFogTTM2LjgwNzU0MzMsNDIuMjcwMDU3MSBDMzYuODA3NTQzMywzMi42MDU1ODQ3IDI5LjA2MjY0OCwyNC43NDQyNzA1IDE5LjU0OTI3NzUsMjQuNzQ0MjcwNSBMMTkuNTQ5Mjc3NSwyOS44MzE4MDE3IEMyMi44MTI4OTg2LDI5LjgzMTgwMTcgMjUuODgxNzMwMywzMS4xMjcyMTQ1IDI4LjE5MjA2MDksMzMuNDc0MDQyOSBDMzAuNDk5OTg5NSwzNS44MTU5MTMzIDMxLjc3MzI4NTMsMzguOTQ1NDUxMyAzMS43NzMyODUzLDQyLjI3MDEzODQgTDM2LjgwNzU0MzMsNDIuMjcwMDU3MSBaIE00NS42ODcxNDgyLDQyLjI2NzUzNzUgQzQ1LjY4NzE0ODIsMjcuNjM0Njg3OCAzMy45NjA0MDE0LDE1LjcyMjM4NCAxOS41NDkyNzc1LDE1LjcyMjM4NCBMMTkuNTQ5Mjc3NSwyMC44MTIzNTM1IEMzMS4xODY5MTYsMjAuODEyMzUzNSA0MC42NjA0OTYsMzAuNDM4ODY5IDQwLjY2MDQ5Niw0Mi4yNjczNzQ5IEw0NS42ODcxNDgyLDQyLjI2NzUzNzUgWiBNNDUuNjg3MTQ4Miw0Mi4yNjc1Mzc1IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik01OS4yMTM5Njc2LDMwIEM1OS4yMTM5Njc2LDQ2LjU2ODU0MzMgNDUuOTgzNjA3Myw2MCAyOS42NjMxMjksNjAgQzIzLjYxMDI1MDIsNjAgMTcuOTgyNDE0Nyw1OC4xNTI1MTM0IDEzLjI5NzAzNDEsNTQuOTgyNzc1NCBMNDcuMTU3MjU1NCw1LjgxOTQxMTAzIEM1NC40NjkxNTM0LDExLjI4MDY1MDMgNTkuMjEzOTY3NiwyMC4wNzc3OTczIDU5LjIxMzk2NzYsMzAgWiBNNTkuMjEzOTY3NiwzMCIgaWQ9InJlZmxlYyIgZmlsbC1vcGFjaXR5PSIwLjA4IiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQo8L3N2Zz4=); }\n &.twitter { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLDMwIEMwLDEzLjQzMTQ1NjcgMTMuNDUwODY2MywwIDMwLjA0MzM1MjYsMCBDNDYuNjM1ODM4OSwwIDYwLjA4NjcwNTIsMTMuNDMxNDU2NyA2MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMxMy40NTA4NjYzLDYwIDAsNDYuNTY4NTQzMyAwLDMwIFogTTAsMzAiIGZpbGw9IiM0MDk5RkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IEwyOS4zNjI3MjA2LDI0LjkyNjA0NTMgTDI4LjMxMzUwMTYsMjQuNzk4OTM1IEMyNC40OTQzNDQ1LDI0LjMxMTY3ODcgMjEuMTU3ODI4MSwyMi42NTkyNDQ0IDE4LjMyNDkzNjgsMTkuODg0MDAyMyBMMTYuOTM5OTY3NywxOC41MDY5NzM3IEwxNi41ODMyMzMzLDE5LjUyMzg1NjMgQzE1LjgyNzc5NTYsMjEuNzkwNjU3MiAxNi4zMTA0MzYzLDI0LjE4NDU2ODQgMTcuODg0MjY0OCwyNS43OTQ2MzI1IEMxOC43MjM2NCwyNi42ODQ0MDQ4IDE4LjUzNDc4MDYsMjYuODExNTE1MiAxNy4wODY4NTg0LDI2LjI4MTg4ODggQzE2LjU4MzIzMzMsMjYuMTEyNDA4MyAxNi4xNDI1NjEzLDI1Ljk4NTI5OCAxNi4xMDA1OTI1LDI2LjA0ODg1MzIgQzE1Ljk1MzcwMTksMjYuMTk3MTQ4NiAxNi40NTczMjcsMjguMTI0OTg4NSAxNi44NTYwMzAyLDI4Ljg4NzY1MDUgQzE3LjQwMTYyNDEsMjkuOTQ2OTAzMyAxOC41MTM3OTYyLDMwLjk4NDk3MDkgMTkuNzMwODkwMiwzMS41OTkzMzc1IEwyMC43NTkxMjQ4LDMyLjA4NjU5MzggTDE5LjU0MjAzMDgsMzIuMTA3Nzc4OCBDMTguMzY2OTA1NSwzMi4xMDc3Nzg4IDE4LjMyNDkzNjgsMzIuMTI4OTYzOSAxOC40NTA4NDMxLDMyLjU3Mzg1IEMxOC44NzA1MzA3LDMzLjk1MDg3ODYgMjAuNTI4Mjk2NywzNS40MTI2NDc0IDIyLjM3NDkyMjEsMzYuMDQ4MTk5IEwyMy42NzU5NTM2LDM2LjQ5MzA4NTIgTDIyLjU0Mjc5NzEsMzcuMTcxMDA2OSBDMjAuODY0MDQ2NywzOC4xNDU1MTk0IDE4Ljg5MTUxNSwzOC42OTYzMzA5IDE2LjkxODk4MzMsMzguNzM4NzAxIEMxNS45NzQ2ODYyLDM4Ljc1OTg4NiAxNS4xOTgyNjQyLDM4Ljg0NDYyNjIgMTUuMTk4MjY0MiwzOC45MDgxODE0IEMxNS4xOTgyNjQyLDM5LjEyMDAzMTkgMTcuNzU4MzU4NSw0MC4zMDYzOTUgMTkuMjQ4MjQ5NSw0MC43NzI0NjYyIEMyMy43MTc5MjI0LDQyLjE0OTQ5NDggMjkuMDI2OTcwNSw0MS41NTYzMTMyIDMzLjAxNDAwMjcsMzkuMjA0NzcyMiBDMzUuODQ2ODk0LDM3LjUzMTE1MjggMzguNjc5Nzg1MywzNC4yMDUwOTkzIDQwLjAwMTgwMTIsMzAuOTg0OTcwOSBDNDAuNzE1MjcwMSwyOS4yNjg5ODE1IDQxLjQyODczOSwyNi4xMzM1OTM0IDQxLjQyODczOSwyNC42Mjk0NTQ1IEM0MS40Mjg3MzksMjMuNjU0OTQyIDQxLjQ5MTY5MjIsMjMuNTI3ODMxNyA0Mi42NjY4MTc0LDIyLjM2MjY1MzcgQzQzLjM1OTMwMiwyMS42ODQ3MzE5IDQ0LjAwOTgxNzgsMjAuOTQzMjU1IDQ0LjEzNTcyNCwyMC43MzE0MDQ0IEM0NC4zNDU1Njc4LDIwLjMyODg4ODQgNDQuMzI0NTgzNSwyMC4zMjg4ODg0IDQzLjI1NDM4MDEsMjAuNjg5MDM0MyBDNDEuNDcwNzA3OCwyMS4zMjQ1ODYgNDEuMjE4ODk1MiwyMS4yMzk4NDU4IDQyLjEwMDIzOTIsMjAuMjg2NTE4MyBDNDIuNzUwNzU1LDE5LjYwODU5NjUgNDMuNTI3MTc3LDE4LjM3OTg2MzQgNDMuNTI3MTc3LDE4LjAxOTcxNzQgQzQzLjUyNzE3NywxNy45NTYxNjIzIDQzLjIxMjQxMTMsMTguMDYyMDg3NiA0Mi44NTU2NzY5LDE4LjI1Mjc1MyBDNDIuNDc3OTU4LDE4LjQ2NDYwMzYgNDEuNjM4NTgyOCwxOC43ODIzNzk0IDQxLjAwOTA1MTQsMTguOTczMDQ0OSBMMzkuODc1ODk0OSwxOS4zMzMxOTA4IEwzOC44NDc2NjAzLDE4LjYzNDA4NCBDMzguMjgxMDgyLDE4LjI1Mjc1MyAzNy40ODM2NzU2LDE3LjgyOTA1MiAzNy4wNjM5ODgsMTcuNzAxOTQxNiBDMzUuOTkzNzg0NiwxNy40MDUzNTA5IDM0LjM1NzAwMywxNy40NDc3MjEgMzMuMzkxNzIxNSwxNy43ODY2ODE4IEMzMC43Njg2NzQsMTguNzQwMDA5MyAyOS4xMTA5MDgsMjEuMTk3NDc1NyAyOS4yOTk3Njc1LDIzLjg4Nzk3NzYgWiBNMjkuMjk5NzY3NSwyMy44ODc5Nzc2IiBpZD0iUGF0aCIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KICAgIDxwYXRoIGQ9Ik02MC4wODY3MDUyLDMwIEM2MC4wODY3MDUyLDQ2LjU2ODU0MzMgNDYuNjM1ODM4OSw2MCAzMC4wNDMzNTI2LDYwIEMyMy44ODk1OTI1LDYwIDE4LjE2Nzk1OTgsNTguMTUyNTEzNCAxMy40MDQ0ODk1LDU0Ljk4Mjc3NTQgTDQ3LjgyOTA0NzgsNS44MTk0MTEwMyBDNTUuMjYyODEwOCwxMS4yODA2NTAzIDYwLjA4NjcwNTIsMjAuMDc3Nzk3MyA2MC4wODY3MDUyLDMwIFogTTYwLjA4NjcwNTIsMzAiIGlkPSJyZWZsZWMiIGZpbGwtb3BhY2l0eT0iMC4wOCIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPg0KPC9zdmc+); }\n &.keybase\t\t{ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjQwIiAgIGhlaWdodD0iNDAiICAgdmlld0JveD0iMCAwIDEwLjU4MzMzMyAxMC41ODMzMzMiICAgdmVyc2lvbj0iMS4xIiAgIGlkPSJzdmczODUwIiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuMiAoNWMzZTgwZCwgMjAxNy0wOC0wNikiICAgc29kaXBvZGk6ZG9jbmFtZT0ia2V5YmFzZS5zdmciPiAgPGRlZnMgICAgIGlkPSJkZWZzMzg0NCI+ICAgIDxjbGlwUGF0aCAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgaWQ9ImNsaXBQYXRoMzc1MiI+ICAgICAgPHBhdGggICAgICAgICBkPSJNIDAsNjAwIEggNjAwIFYgMCBIIDAgWiIgICAgICAgICBpZD0icGF0aDM3NTAiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgPC9jbGlwUGF0aD4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjUuNiIgICAgIGlua3NjYXBlOmN4PSI0Mi40NzI0MDIiICAgICBpbmtzY2FwZTpjeT0iNi4wMjAxNTQ3IiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIiAgICAgc2hvd2dyaWQ9ImZhbHNlIiAgICAgZml0LW1hcmdpbi10b3A9IjAiICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiICAgICB1bml0cz0icHgiICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE4IiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMzg0NyI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPiAgICAgIDwvY2M6V29yaz4gICAgPC9yZGY6UkRGPiAgPC9tZXRhZGF0YT4gIDxnICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIgICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiICAgICBpZD0ibGF5ZXIxIiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4LjA5MjQ2NCwtMTI2LjczNzI0KSI+ICAgIDxnICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDI5MzQ4LDAsMCwtMC4wMjkzNDgsMTQuNDE3ODQzLDE0MC44MTMxOSkiICAgICAgIGlkPSJnMzc0NiI+ICAgICAgPGcgICAgICAgICBpZD0iZzM3NDgiICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzc1MikiPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc1NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOS42NDgxLDQ0My4wNjkxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTk4LjMwNywwIC0xNzgsLTc5LjY5MyAtMTc4LC0xNzggMCwtMzMuOTQgOS41MDIsLTY1LjY1OCAyNS45ODYsLTkyLjY0NyBsIDE5LjQ0LDIwLjY0MSBjIC0xLjMwNyw3LjUyOSAtMS45OTQsMTUuMjcxIC0xLjk5NCwyMy4xNzUgMCw3NC4zMiA2MC4yNDgsMTM0LjU2OCAxMzQuNTY4LDEzNC41NjggNzQuMzIsMCAxMzQuNTY4LC02NS43ODQgMTM0LjU2OCwtMTM0LjU2OCAwLC0yNi41NDkgLTUuMTQ5LC01Mi42NDcgLTE3LjIxNywtNzQuNjkyIGggMTAuODAxIEMgMTU5LjAxMywtMjY5LjUxMyAxNzgsLTIyNS45NzYgMTc4LC0xNzggMTc4LC03OS42OTMgOTguMzA3LDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMzNhMGZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NTYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzU4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0ODEsMzUwLjgwNjIpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtNzQuMzIsMCAtMTM0LjU2OCwtNjAuMjQ4IC0xMzQuNTY4LC0xMzQuNTY4IDAsLTI3LjYzNiA4LjMzNSwtNTMuMzIyIDIyLjYyMiwtNzQuNjkyIGggMjI5LjI5NyBjIDEyLjA2OCwyMi4wNDUgMTcuMjE3LDQ4LjE0MyAxNy4yMTcsNzQuNjkyIEMgMTM0LjU2OCwtNjUuNzg1IDc0LjMyLDAgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NjAiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzYyIiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzA5LjY0OCwzNTkuNDg4OCkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC03OC45ODksMCAtMTQzLjI1MSwtNjQuMjYyIC0xNDMuMjUxLC0xNDMuMjUxIDAsLTI3LjM0OSA3LjcwOCwtNTIuOTMgMjEuMDYsLTc0LjY5MiBoIDIwLjkyNCBjIC0xNS40NjIsMjAuOTA5IC0yNC42MTgsNDYuNzUgLTI0LjYxOCw3NC42OTIgMCw2OS40MTMgNTYuNDcyLDEyNS44ODUgMTI1Ljg4NSwxMjUuODg1IDMyLjk4LDAgNjQuNTYyLC0xMy44MDEgODguOTI5LC0zOC44NiAyMy40ODYsLTI0LjE1NCAzNi45NTYsLTU1Ljg3NCAzNi45NTYsLTg3LjAyNSAwLC0yMS4xNjUgLTMuNDc0LC00OS44ODcgLTE4LjU0NywtNzQuNjkyIGggMTkuODExIGMgMTAuNTksMjEuMTM5IDE2LjEwMiw0Ni40NjggMTYuMTAyLDc0LjY5MiAwLDM1LjYzMyAtMTUuMjYxLDcxLjc2NCAtNDEuODcxLDk5LjEzMSBDIDczLjcxNCwtMTUuNjY5IDM3LjcxMSwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyODtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzY0IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc2NiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Mi40Nzg4LDE3Ny4xNzQxKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgMCwtNy4xMzUgLTUuNzg0LC0xMi45MTggLTEyLjkxOCwtMTIuOTE4IC03LjEzNSwwIC0xMi45MTksNS43ODMgLTEyLjkxOSwxMi45MTggMCw3LjEzNSA1Ljc4NCwxMi45MTggMTIuOTE5LDEyLjkxOCBDIC01Ljc4NCwxMi45MTggMCw3LjEzNSAwLDAiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc2OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3NzAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuNjUzOSwxNzcuMTc0MSkiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIDAsLTcuMTM1IC01Ljc4NCwtMTIuOTE4IC0xMi45MTgsLTEyLjkxOCAtNy4xMzUsMCAtMTIuOTE5LDUuNzgzIC0xMi45MTksMTIuOTE4IDAsNy4xMzUgNS43ODQsMTIuOTE4IDEyLjkxOSwxMi45MTggQyAtNS43ODQsMTIuOTE4IDAsNy4xMzUgMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojMjgyODI3O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzIiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc0IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYyLjgyNDEsMTgyLjI5ODgpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0iTSAwLDAgNzEuNzA4LDc2LjA1MSA1NC40NDcsMjEuOTQgYyA1NS45ODQsNDAuNzQxIDExNC43NTUsMzQuMjk4IDE1Ni4xMzgsMjIuMTQ3IDQzLjkyNCwtMTIuODk4IDc0LjY3NSwyNS44OTUgNDQuNTcyLDY3LjI3OSAtMTQuMzA1LDE5LjY2NyAtMzMuOTI3LDM1Ljk5NiAtNTYuMjE2LDQ1Ljg5OCBDIDE0MC40ODQsMTgzLjIzNCA4MS43MTEsMTY4LjA5MyA0Mi4wNjQsMTI4LjA0MiAwLjA2NSw4NS42MTcgMCwzOC41NTggMCwwIiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmY2ZjIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAgICAgICAgICAgICBpZD0icGF0aDM3NzYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+ICAgICAgICA8L2c+ICAgICAgICA8ZyAgICAgICAgICAgaWQ9ImczNzc4IiAgICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAyLjkxMDYsMzQzLjcyMzEpIj4gICAgICAgICAgPHBhdGggICAgICAgICAgICAgZD0ibSAwLDAgYyAtOC4zODMsMCAtMTYuNzA3LC0wLjgzNSAtMjQuODg4LC0yLjUxOCAtMjQuOTQ0LC01LjEzMSAtNDguMSwtMTcuOTE3IC02Ni45NjQsLTM2Ljk3MiAtMzIuMTIxLC0zMi40NDkgLTM4LjE1NSwtNjcuMjY4IC0zOS4yODksLTk5Ljc5IGwgODIuNjM3LDg3LjY0MyAtMjEuNjM3LC02Ny44MyBjIDQxLjg3LDIyLjU0OSA4OS44ODgsMjYuMDgyIDE0My4wODYsMTAuNDYxIDE3LjExNywtNS4wMjUgMzIuNjY0LC0xLjE3MSA0MC41NzYsMTAuMDU5IDguMTI1LDExLjUzMyA2LjA4LDI3LjkgLTUuNDcyLDQzLjc4MSAtMTMuNjE3LDE4LjcyMSAtMzIuMzQsMzQuMDE3IC01Mi43Miw0My4wNzEgQyAzNy4yNjcsLTQuMDcxIDE4LjQ5NiwwIDAsMCBtIC0xNDguNzY5LC0xODMuMjkgdiAyMS44NjYgYyAwLDM5LjcwNiAwLDg5LjEyMiA0NC41NzUsMTM0LjE1MSAyMS4yODMsMjEuNDk4IDQ3LjQ5NiwzNS45NDEgNzUuODA3LDQxLjc2NCAyOS44MDEsNi4xMyA2MS4xODgsMi40MjUgOTAuNzY3LC0xMC43MTYgMjMuMTI0LC0xMC4yNzMgNDQuMzMsLTI3LjU3OCA1OS43MTIsLTQ4LjcyNiAxNS44OTEsLTIxLjg0NSAxOC4wNDYsLTQ2LjM2OCA1LjYyNSwtNjMuOTk4IC0xMi4xNDEsLTE3LjIzNCAtMzUuNTYsLTIzLjc5NSAtNTkuNjY1LC0xNi43MTkgLTU2LjcwOSwxNi42NTEgLTEwNi43LDkuNjQyIC0xNDguNTgyLC0yMC44MzggbCAtMjEuNDQsLTE1LjYwMSAxMy43MTYsNDIuOTk3IHoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4MCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODIiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjkuMjM3NiwzOTMuMjAzKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguMTk5LDAuNTAzIC0xNC40ODQsNy41ODggLTE0LjAwNSwxNS43OTQgbCAxLjE3NywxOS4wMTMgYyAwLjQ4OCw3Ljg2NSA3LjA0MywxNC4wMjQgMTQuOTI0LDE0LjAyNCAwLjI5NCwwIDAuNTksLTAuMDA4IDAuODg4LC0wLjAyNiBsIDE5LjAwMSwtMS4xNzcgYyAzLjk3OCwtMC4yNDEgNy42MywtMi4wMjQgMTAuMjc1LC01LjAxOCAyLjY0OCwtMi45OTIgMy45NywtNi44NDYgMy43MTQsLTEwLjg0MiBMIDM0LjgwOCwxMi44MjMgQyAzNC43NDQsMTEuNzk0IDM0LjUzMSwxMC45NzUgMzQuNDA2LDEwLjUzOCBMIDMzLjc4OCw3LjUyNCAyMS44MDUsLTEuMzQ5IFoiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMzZGNjOGU7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4NCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3ODYiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzEuMzMzNiw0NTAuNzE3NikiPiAgICAgICAgICA8cGF0aCAgICAgICAgICAgICBkPSJtIDAsMCBjIC0xMi40NTcsMCAtMjIuODE5LC05LjczOCAtMjMuNTksLTIyLjE3IGwgLTEuMTc2LC0xOC45ODIgLTAuMDAyLC0wLjAzMiAtMC4wMDIsLTAuMDMzIGMgLTAuNzU1LC0xMi45NzEgOS4xODEsLTI0LjE3MSAyMi4xNDgsLTI0Ljk2NSBsIDE4LjYzNSwtMS4xNTMgNi4zMTgsLTAuMzkgNS4wODcsMy43NjYgNi43NjgsNS4wMSA1LjM0NSwzLjk1NyAxLjIyOSw1Ljk5OSBjIDAuMjUsMC45MzcgMC41MjEsMi4yMDUgMC42MTgsMy43NTQgbCAxLjE2OCwxOC45OCBjIDAuNDAyLDYuMjc4IC0xLjY4OCwxMi4zNzIgLTUuODg3LDE3LjExNiAtNC4xNzEsNC43MjMgLTkuOTQ4LDcuNTQyIC0xNi4yNTUsNy45MjUgTCAxLjQ1MSwtMC4wNDQgMS40MjQsLTAuMDQzIDEuMzk2LC0wLjA0MSBDIDAuOTMzLC0wLjAxNCAwLjQ2MywwIDAsMCBtIDE0LjE5MSwtMzkuNjk1IDAuNjk5LDExLjI5MSAtMTEuMjk0LDAuNyAtMC43MDEsLTExLjI5NSAxMS4yOTYsLTAuNjk2IE0gMCwtMTcuMzY2IGMgMC4xMjUsMCAwLjI1MSwtMC4wMDQgMC4zNzcsLTAuMDExIGwgMTguOTc2LC0xLjE3NSBjIDEuNjYyLC0wLjEwMSAzLjE5NSwtMC44NDcgNC4zMDIsLTIuMSAxLjExMSwtMS4yNTYgMS42NjUsLTIuODY5IDEuNTU4LC00LjU0MSBsIC0xLjE2NywtMTguOTY1IGMgLTAuMDE5LC0wLjI5NCAtMC4xMzUsLTAuNTUyIC0wLjE5MywtMC44MzQgbCAtNi43NjcsLTUuMDEgLTE4LjY0NiwxLjE1MyBjIC0zLjQ0MSwwLjIxMSAtNi4wNzMsMy4xODMgLTUuODczLDYuNjIzIGwgMS4xNzYsMTguOTgyIGMgMC4yMDUsMy4zMTMgMi45NTQsNS44NzggNi4yNTcsNS44NzgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzc4OCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICAgIDxnICAgICAgICAgICBpZD0iZzM3OTAiICAgICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDQuMDAxLDM1Ny45NzM0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTguNTAxLC0yMi4xNTMgLTMzLjE1NiwtMzQuNTIxIC01NS45OTYsLTI4LjA5IC0yNS43MzQsNy4yNDYgLTM5LjMyNCwyNy45MjcgLTM2LjA2MSw1NC4xNjEgMy4yNDUsMjYuMDg4IDIwLjg3NSw0OC45NiA0MS4xOTYsNzcuMTU1IC0xNi42OTIsLTM1LjUzIC0yLjUxMiwtMzguODU5IDEuOTc0LC0zOC42ODEgNC40MzIsMC4xNzUgMTAuOTAyLC0wLjU4IDIwLjExMSwtMy42MzYgQyAtMy42ODYsNTIuNTgyIDkuNTc4LDI0Ljk2IDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmNmYyMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzkyIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5NCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OC4yNDUzLDQyNC45Mjk2KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTkuMzM0LC0xNC40MjggLTE1LjkxOSwtMjcuNzY1IC0xNy42ODUsLTQxLjk1OCAtMi43MzQsLTIxLjk4NSA4LjQwNiwtMzguNzA4IDI5Ljc5OCwtNDQuNzMxIDE4LjYwOSwtNS4yMzkgMzguNjEsNC43OTUgNDUuNTM2LDIyLjg0NCAzLjc1NSw5Ljc4NSAzLjM2NCwyMC4zNzIgLTEuMTAyLDI5LjgwOSAtNC40NjksOS40NDUgLTEyLjM5LDE2LjQ1OCAtMjIuMzAyLDE5Ljc0NyAtOC42MjIsMi44NjIgLTE0LjAyMywzLjMyMiAtMTcuMDMyLDMuMjAxIEMgMTAuOTI2LC0xMS4zNDcgNS4xNDIsLTguNDEzIDEuNzI5LC0zLjI2NiAxLjA1MiwtMi4yNDYgMC40NzYsLTEuMTU4IDAsMCBtIDIyLjA3NywtMTA1LjQyOSBjIC00Ljg3NiwwIC05LjgwMywwLjY1NCAtMTQuNjcsMi4wMjQgLTE0LjYyOSw0LjExOSAtMjYuMzEzLDEyLjI1MSAtMzMuNzg3LDIzLjUxOCAtNy40NDksMTEuMjI5IC0xMC40MDIsMjUuMDg2IC04LjUzNyw0MC4wNzMgMy4zMDksMjYuNjA3IDE5Ljc4Myw0OS4zOCAzOC44NTcsNzUuNzQ5IDEuMjkxLDEuNzgzIDIuNTk1LDMuNTg2IDMuOTEsNS40MTIgTCAyMi43NTMsMzIuNTc4IEMgMTIuODk0LDExLjU5MSAxNi4xODQsNi4zNDYgMTYuMjIyLDYuMzAzIDE2LjI0MSw2LjMwNCAxNi40MzIsNi4yNjUgMTYuNTQyLDYuMjY1IDIzLDYuNTI5IDMwLjgwNCw1LjE1MSAzOS43MTUsMi4xOTQgYyAxNC40NTksLTQuNzk5IDI2LjAxMSwtMTUuMDI4IDMyLjUyOSwtMjguODAyIDYuNTE1LC0xMy43NjcgNy4wODksLTI5LjIwMSAxLjYxOSwtNDMuNDU5IC04LjI5NywtMjEuNjIgLTI5LjQ1NSwtMzUuMzYyIC01MS43ODYsLTM1LjM2MiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzI4MjgyNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzNzk2IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzc5OCIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxOS44NjQ0LDI3Mi41MDUyKSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTMuNjA4LDAgLTYuOTg1LDEuNjAzIC05LjI2NSw0LjM5NyBsIC02LjQyNCw3Ljg2OSBjIC0yLjAxNCwyLjQ2NSAtMi45NDcsNS41NjkgLTIuNjI2LDguNzM3IDAuMjU4LDIuNTUgMS4zMDMsNC44OTcgMi45ODgsNi43NjUgLTEuMDgyLDAuNjc2IC0yLjA1OSwxLjUzMyAtMi44OSwyLjU0OSBsIC0xLjQ2OCwxLjc5OCBjIC00LjE2LDUuMDkyIC0zLjQwMSwxMi42MTggMS42OSwxNi43NzggbCAwLjI1NCwwLjIwOCAtOC44NjUsMTAuODgxIGMgLTQuNDg2LDUuNDk2IC0zLjY2NSwxMy42MjkgMS44MzUsMTguMTIzIDIuMzA5LDEuODggNS4yLDIuOTA5IDguMTU1LDIuOTA5IDMuODc5LDAgNy41MTUsLTEuNzIzIDkuOTc3LC00LjcyOCBMIDMzLjUwOCwyNi44NzEgQyAzNy45ODcsMjEuMzg0IDM3LjE2NSwxMy4yNTEgMzEuNjY1LDguNzU3IDMwLjE0Myw3LjUxNCAyOC4zMjksNi42MjQgMjYuNDE5LDYuMTgyIDI1LjQ2Myw1Ljk2MiAyNC40ODgsNS44NTEgMjMuNTEzLDUuODUxIGMgLTMuMDkzLDAgLTYuMDMxLDEuMDk0IC04LjM0MiwzLjA1OCBMIDcuNTU5LDIuNjk1IEMgNS40MywwLjk1NyAyLjc0NiwwIDAsMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzNkY2M4ZTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgICAgICAgICAgICAgaWQ9InBhdGgzODAwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPiAgICAgICAgPC9nPiAgICAgICAgPGcgICAgICAgICAgIGlkPSJnMzgwMiIgICAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMy4yNDc4LDM2Mi4yMDI0KSI+ICAgICAgICAgIDxwYXRoICAgICAgICAgICAgIGQ9Im0gMCwwIGMgLTQuOTQ2LDAgLTkuNzg1LC0xLjcyMiAtMTMuNjI1LC00Ljg1IC05LjIyOSwtNy41MzkgLTEwLjYwNCwtMjEuMTUyIC0zLjA4NiwtMzAuMzYyIGwgNC40OTQsLTUuNTE2IGMgLTMuNTU4LC03LjA1IC0yLjg4NiwtMTUuODQ0IDIuNDIyLC0yMi4zNDQgbCAwLjM2OSwtMC40NTMgYyAtMi4wODMsLTYuNDQgLTAuOTYyLC0xMy43NzcgMy42MjcsLTE5LjM5OCBsIDYuNDI2LC03Ljg3IGMgMy45MzQsLTQuODIgOS43NjIsLTcuNTg3IDE1Ljk4OSwtNy41ODcgNC43NDEsMCA5LjM3NSwxLjY1MiAxMy4wNDksNC42NTEgbCAzLjA2NCwyLjUgYyAyLjMzOSwtMC44NTIgNC44MzcsLTEuMyA3LjQsLTEuMyAxLjYzMSwwIDMuMjY0LDAuMTg2IDQuODUzLDAuNTUzIDMuMjA1LDAuNzM5IDYuMjQ2LDIuMjMxIDguNzk0LDQuMzEyIDkuMjA2LDcuNTIxIDEwLjU4MSwyMS4xMzQgMy4wNjMsMzAuMzQ0IEwgMTYuNzM3LC03Ljk2MiAxNi43MTYsLTcuOTM2IDE2LjY5NSwtNy45MSBDIDEyLjU3OCwtMi44ODMgNi40OTMsMCAwLDAgbSAwLC0xNy4zNjYgYyAxLjIxOSwwIDIuNDI2LC0wLjUyOSAzLjI1OSwtMS41NDcgbCA0MC4xMjcsLTQ5LjM4OCBjIDEuNDY5LC0xLjc5OSAxLjE5OSwtNC40NDcgLTAuNTk4LC01LjkxNSAtMC41MTgsLTAuNDIzIC0xLjEwMywtMC42OTkgLTEuNzExLC0wLjgzOSAtMC4zMTIsLTAuMDczIC0wLjYzMSwtMC4xMDggLTAuOTQ4LC0wLjEwOCAtMS4yMTksMCAtMi40MjcsMC41MjYgLTMuMjYsMS41NDQgbCAtMy45OTYsNC45MjYgLTE0LjE4OSwtMTEuNTgzIGMgLTAuNjA4LC0wLjQ5NiAtMS4zNCwtMC43MzggLTIuMDY4LC0wLjczOCAtMC45NDksMCAtMS44OSwwLjQxMSAtMi41MzcsMS4yMDQgbCAtNi40MjYsNy44NyBjIC0xLjEzLDEuMzg0IC0wLjkyNCwzLjQyMiAwLjQ2LDQuNTUyIGwgMTQuMjU5LDExLjY0IC01LjgyNiw3LjE4MiAtNy4wNTQsLTUuNzYyIGMgLTAuNTc3LC0wLjQ3MSAtMS4yNzEsLTAuNyAtMS45NjIsLTAuNyAtMC44OTksMCAtMS43OTIsMC4zODkgLTIuNDA1LDEuMTQgbCAtMS40NjksMS43OTkgYyAtMS4xMzIsMS4zODcgLTAuOTI3LDMuNDI5IDAuNDYsNC41NjEgbCA2Ljk2OSw1LjY5MyAtMTQuMzQzLDE3LjYwNCBjIC0xLjQ2OCwxLjggLTEuMTk5LDQuNDQ3IDAuNTk4LDUuOTE1IDAuNzg1LDAuNjQgMS43MjYsMC45NSAyLjY2LDAuOTUiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiMyODI4Mjg7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiICAgICAgICAgICAgIGlkPSJwYXRoMzgwNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4gICAgICAgIDwvZz4gICAgICA8L2c+ICAgIDwvZz4gIDwvZz48L3N2Zz4=);}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_base.scss","@mixin clearfix() {\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n \n &:after {\n clear: both;\n }\n}\n\n@mixin min-screen($min-width: $global-body-width) {\n @media screen and (min-width: $min-width) {\n @content;\n }\n}\n\n@mixin max-screen($max-width: $global-body-width) {\n @media screen and (max-width: $max-width) {\n @content;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_utils.scss","// ==============================\n// Iconfont\n// ==============================\n\n@font-face {\n font-family: 'iconfont'; /* project id 96542 */\n\n src: url('../fonts/iconfont/iconfont.eot');\n src: url('../fonts/iconfont/iconfont.eot#iefix') format('embedded-opentype'), // not '?#iefix', because webpack will add '?hash=[hash]'\n url('../fonts/iconfont/iconfont.woff') format('woff'),\n url('../fonts/iconfont/iconfont.ttf') format('truetype'),\n url('../fonts/iconfont/iconfont.svg#iconfont') format('svg');\n\n // Uncomment these code and comment upper code if you want to use alicdn\n // src: url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.eot');\n // src: url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.eot?#iefix') format('embedded-opentype'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.woff') format('woff'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.ttf') format('truetype'),\n // url('//at.alicdn.com/t/font_96542_ixz9jngnf1sb57b9.svg#iconfont') format('svg');\n}\n\n.iconfont {\n font-family: \"iconfont\" !important;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -webkit-text-stroke-width: 0.2px;\n -moz-osx-font-smoothing: grayscale;\n cursor: pointer;\n}\n\n.icon-instagram:before {\n font-size: .95em;\n content: \"\\e611\";\n position: relative;\n top: -1px;\n}\n.icon-douban:before {\n content: \"\\e610\";\n}\n.icon-tumblr:before {\n content: \"\\e69f\";\n font-size: .85em;\n position: relative;\n top: -4px;\n}\n.icon-linkedin:before {\n content: \"\\e60d\";\n position: relative;\n top: -4px;\n}\n.icon-twitter:before {\n content: \"\\e600\";\n}\n.icon-weibo:before {\n content: \"\\e602\";\n}\n.icon-stack-overflow:before {\n content: \"\\e603\";\n font-size: .85em;\n position: relative;\n top: -4px;\n}\n.icon-email:before {\n content: \"\\e605\";\n position: relative;\n top: -2px;\n}\n.icon-facebook:before {\n content: \"\\e601\";\n font-size: .95em;\n position: relative;\n top: -2px;\n}\n.icon-github:before {\n content: \"\\e606\";\n position: relative;\n top: -3px;\n}\n.icon-rss:before {\n content: \"\\e604\";\n}\n.icon-google:before {\n content: \"\\e609\";\n}\n.icon-zhihu:before {\n content: \"\\e607\";\n font-size: .9em;\n position: relative;\n top: -2px;\n}\n.icon-pocket:before {\n content: \"\\e856\";\n}\n\n/* Generic Icon */\n.icon-heart:before {\n content: \"\\e608\";\n}\n.icon-right:before {\n content: \"\\e60a\";\n}\n.icon-left:before {\n content: \"\\e60b\";\n}\n.icon-up:before {\n content: \"\\e60c\";\n}\n.icon-close:before {\n content: \"\\e60f\";\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_iconfont.scss","// ==============================\n// Header\n// ==============================\n\n.header {\n @include clearfix; \n padding: $header-padding;\n\n @import '_header/logo';\n @import '_header/menu';\n}\n\n\n@include max-screen() {\n .header {\n padding: 50px 0 0;\n text-align: center;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header.scss","// ==============================\n// Logo\n// =============================\n\n.logo-wrapper {\n float: left;\n\n .logo {\n font-size: $logo-font-size;\n font-family: $logo-font-family;\n }\n}\n\n@include max-screen() {\n .logo-wrapper {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header/_logo.scss","// ==============================\n// Menu\n// =============================\n\n.site-navbar {\n float: right;\n\n .menu {\n display: inline-block;\n position: relative;\n padding-left: 0;\n padding-right: 25px;\n font-family: $global-serif-font-family;\n\n .menu-item {\n display: inline-block;\n\n & + .menu-item {\n margin-left: $menu-item-margin-left;;\n }\n\n @include underline-from-center;\n }\n\n .menu-item-link {\n font-size: $menu-link-font-size;\n }\n }\n}\n\n@include max-screen() {\n .site-navbar {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_header/_menu.scss","@mixin underline-from-center() {\n display: inline-block;\n vertical-align: middle;\n transform: translateZ(0);\n backface-visibility: hidden;\n box-shadow: 0 0 1px transparent;\n position: relative;\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n z-index: -1;\n height: 2px;\n bottom: 0;\n left: 51%;\n right: 51%;\n background: $theme-color;\n transition-duration: 0.2s;\n transition-property: right, left;\n transition-timing-function: ease-out;\n }\n\n &.active,\n &:active,\n &:focus,\n &:hover {\n &:before {\n right: 0;\n left: 0;\n }\n }\n}\n\n@mixin mobile-menu-icon() {\n @keyframes clickfirst {\n 0% {\n transform: translateY(6px) rotate(0deg);\n \n }\n\n 100% {\n transform: translateY(0) rotate(45deg);\n }\n }\t\n\n @keyframes clickmid {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes clicklast {\n 0% {\n transform: translateY(-6px) rotate(0deg);\n }\n\n 100% {\n transform: translateY(0) rotate(-45deg);\n }\n }\n \n @keyframes outfirst {\n 0% {\n transform: translateY(0) rotate(-45deg);\n }\n\n 100% {\n transform: translateY(-6px) rotate(0deg);\n }\n }\t\n\n @keyframes outmid {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n @keyframes outlast {\n 0% {\n transform: translateY(0) rotate(45deg);\n }\n\n 100% {\n transform: translateY(6px) rotate(0deg);\n }\n }\n\n span {\n position: absolute;\n /* fallback for browsers which still doesn't support for `calc()` */\n left: 15px;\n top: 25px;\n left: calc((100% - 20px) / 2);\n top: calc((100% - 1px) / 2);\n width: 20px;\n height: 1px;\n background-color: $theme-color;\n \n &:nth-child(1) {\n transform: translateY(6px) rotate(0deg);\n }\n\n &:nth-child(3) {\n transform: translateY(-6px) rotate(0deg);\n }\n }\n\n &.icon-click {\n span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clickfirst;\n }\n\n span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: clickmid;\n }\n\n span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: clicklast;\n }\n }\n\n &.icon-out {\n span:nth-child(1) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outfirst;\n }\n\n span:nth-child(2) {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-name: outmid;\n }\n\n span:nth-child(3) {\n animation-duration: 0.5s;\n animation-fill-mode: both;\n animation-name: outlast;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_common/_animation.scss","// ==============================\n// Post\n// ==============================\n\n.posts {\n margin-bottom: $post-list-margin-bottom;\n border-bottom: $post-border;\n}\n\n.post {\n padding: $post-padding;\n\n & + .post {\n border-top: $post-border;\n }\n\n @import '_post/header';\n @import '_post/toc';\n @import '_post/content';\n @import '_post/copyright';\n @import '_post/reward';\n @import '_post/footer';\n @import '_post/outdated';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post.scss",".post-header {\n margin-bottom: 20px;\n\n .post-title {\n margin: 0;\n font-size: $post-title-font-size;\n font-weight: $post-title-font-weight;\n font-family: $global-font-family;\n }\n\n .post-link {\n @include underline-from-center;\n }\n\n .post-meta {\n font-size: 14px;\n color: $post-meta-font-color;\n\n .post-time {\n font-size: 15px;\n }\n\n .post-category {\n display: inline;\n\n a {\n color: inherit;\n\n &::before {\n content: '·';\n }\n\n &:hover {\n color: $theme-color;\n }\n }\n }\n\n .more-meta {\n &::before {\n content: '·';\n }\n }\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_header.scss",".post-toc {\n position: absolute;\n width: $post-toc-width;\n margin-left: $post-toc-margin-left;\n padding: 10px;\n font-family: $global-serif-font-family;\n border-radius: 5px;\n background: $post-toc-backgroud;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n word-wrap: break-word;\n box-sizing: border-box;\n\n .post-toc-title {\n margin: 0 10px;\n font-size: $post-toc-title-size;\n font-weight: 400;\n text-transform: uppercase;\n }\n\n .post-toc-content {\n font-size: $post-toc-content;\n\n &.always-active ul {\n display: block;\n }\n\n >nav>ul {\n margin: 10px 0;\n }\n\n ul {\n padding-left: 20px;\n list-style: $post-toc-list-style;\n\n ul {\n padding-left: 15px;\n display: none;\n }\n\n .has-active > ul {\n display: block;\n }\n }\n\n .toc-link.active {\n color: $theme-color;\n }\n }\n}\n\n@include max-screen($toc-max-sreen-width) {\n .post-toc {\n display: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_toc.scss","// ==============================\n// Post content\n// ==============================\n\n.post-content {\n word-wrap: break-word;\n\n @for $i from 1 through 6 {\n h#{$i} {\n font-weight: 400;\n font-family: $global-serif-font-family;\n }\n }\n\n a {\n color: $theme-color;\n word-break: break-all;\n\n &:hover {\n border-bottom: $content-link-border;\n }\n\n &.fancybox {\n border: 0;\n }\n }\n\n blockquote {\n margin: 2em 0;\n padding: 10px 20px;\n position: relative;\n color: rgba(#34495e, 0.8);\n background-color: $content-blockquote-backgroud;\n border-left: $content-blockquote-border-left;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n\n p {\n margin: 0;\n }\n }\n\n img {\n display: inline-block;\n max-width: 100%;\n }\n\n > table {\n max-width: 100%;\n margin: 10px 0;\n border-spacing: 0;\n box-shadow: 2px 2px 3px rgba(0,0,0,.125);\n\n thead {\n background: $deputy-color;\n }\n\n th, td {\n padding: 5px 15px;\n border: 1px double $content-table-border-color;\n }\n\n tr:hover {\n background-color: $deputy-color;\n }\n }\n\n @import 'code';\n\n .post-summary {\n margin-bottom: 1em;\n }\n\n .read-more {\n .read-more-link {\n color: $theme-color;\n font-size: 1.1em;\n font-family: $global-serif-font-family;\n\n &:hover {\n border-bottom: $post-readMore-border-bottom;\n }\n }\n }\n\n kbd {\n display: inline-block;\n padding: 0.25em;\n background-color: #fafafa;\n border: 1px solid #dbdbdb;\n border-bottom-color: #b5b5b5;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #b5b5b5;\n font-size: 0.8em;\n line-height: 1.25;\n font-family: \"SFMono-Regular\",\"Liberation Mono\",\"Roboto Mono\",Menlo,Monaco,Consolas,\"Courier New\",Courier,monospace;\n color: #4a4a4a;\n }\n\n dl dt::after {\n content: ':';\n }\n\n figure {\n &.center {\n text-align: center;\n }\n\n &.right {\n text-align: right;\n }\n\n &.left {\n text-align: left;\n }\n\n figcaption h4 {\n color: #b5b5b5;\n font-size: 0.9rem;\n }\n }\n\n .task-list {\n list-style: none;\n padding-left: 1.5rem;\n }\n\n .align-center {\n text-align: center;\n }\n\n .align-right {\n text-align: right;\n }\n\n .align-left {\n text-align: left;\n }\n\n .MJXc-display {\n overflow-x: auto;\n overflow-y: hidden;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_content.scss","code, pre {\n padding: 7px;\n font-size: $code-font-size;\n font-family: $code-font-family;\n background: $code-background;\n}\n\ncode {\n padding: 3px 5px;\n border-radius: 4px;\n color: $code-color;\n}\n\nfigure.highlight {\n margin: 1em 0;\n border-radius: 5px;\n overflow-x: auto;\n box-shadow: 1px 1px 2px rgba(0,0,0,0.125);\n position: relative;\n\n table {\n position: relative;\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 2px 7px;\n font-size: $code-font-size;\n font-weight: bold;\n color: darken($gray, 10%);\n background: darken($code-background, 3%);\n content: 'Code';\n }\n }\n\n @each $sign, $text in $code-type-list {\n &.#{$sign} > table::after {\n content: $text;\n }\n }\n\n .code {\n pre {\n margin: 0;\n padding: 30px 10px 10px;\n }\n }\n\n .gutter {\n width: 10px;\n color: $gray;\n\n pre {\n margin: 0;\n padding: 30px 7px 10px;\n }\n }\n\n .line {\n // Fix code block null line height and\n // Synchronous gutter and code line highly.\n height: round($code-font-size * 1.5);\n }\n\n table, tr, td {\n margin: 0;\n padding: 0;\n width: 100%;\n border-collapse: collapse;\n }\n\n .code {\n .hljs-comment,\n .hljs-quote {\n color: map-get($code-highlight-color, comment);\n }\n\n .hljs-keyword,\n .hljs-selector-tag,\n .hljs-addition {\n color: map-get($code-highlight-color, keyword);\n }\n\n .hljs-number,\n .hljs-string,\n .hljs-meta .hljs-meta-string,\n .hljs-literal,\n .hljs-doctag,\n .hljs-regexp {\n color: map-get($code-highlight-color, number);\n }\n\n .hljs-title,\n .hljs-section,\n .hljs-name,\n .hljs-selector-id,\n .hljs-selector-class {\n color: map-get($code-highlight-color, title);\n }\n\n .hljs-attribute,\n .hljs-attr,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-class .hljs-title,\n .hljs-type {\n color: map-get($code-highlight-color, attribute);\n }\n\n .hljs-symbol,\n .hljs-bullet,\n .hljs-subst,\n .hljs-meta,\n .hljs-meta .hljs-keyword,\n .hljs-selector-attr,\n .hljs-selector-pseudo,\n .hljs-link {\n color: map-get($code-highlight-color, symbol);\n }\n\n .hljs-built_in,\n .hljs-deletion {\n color: map-get($code-highlight-color, built_in);\n }\n\n .hljs-formula {\n background: map-get($code-highlight-color, formula);\n }\n \n .hljs-emphasis {\n font-style: italic;\n }\n \n .hljs-strong {\n font-weight: bold;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_code.scss",".post-copyright {\n margin-top: 20px;\n padding-top: 10px;\n border-top: 1px dashed $light-gray;\n\n .copyright-item {\n margin: 5px 0;\n\n a {\n color: $theme-color;\n word-wrap: break-word;\n\n &:hover {\n border-bottom: $content-link-border;\n }\n }\n\n .item-title {\n display: inline-block;\n min-width: 5rem;\n margin-right: .5rem;\n text-align: right;\n\n &:after {\n content: \" :\";\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_copyright.scss",".post-reward {\n margin-top: 20px;\n padding-top: 10px;\n text-align: center;\n border-top: 1px dashed $light-gray;\n\n .reward-button {\n margin: 15px 0;\n padding: 3px 7px;\n display: inline-block;\n color: $theme-color;\n border: 1px solid $theme-color;\n border-radius: 5px;\n cursor: pointer;\n\n &:hover {\n color: $white;\n background-color: $theme-color;\n transition: 0.5s;\n }\n }\n\n #reward:checked {\n & ~ .qr-code {\n display: block;\n }\n\n & ~ .reward-button {\n display: none;\n }\n }\n\n .qr-code {\n display: none;\n\n .qr-code-image {\n display: inline-block;\n min-width: 200px;\n width: 40%;\n margin-top: 15px;\n\n span {\n display: inline-block;\n width: 100%;\n margin: 8px 0;\n }\n }\n\n .image {\n width: 200px;\n height: 200px;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_reward.scss","// ==============================\n// Post footer\n// ==============================\n.post-tags {\n padding: $post-tags-padding;\n\n a {\n margin-right: 5px;\n color: $theme-color;\n word-break: break-all;\n\n &::before {\n content: '#';\n }\n }\n}\n\n.post-footer {\n margin-top: $post-footer-margin-top;\n border-top: $post-footer-border-top;\n font-family: $global-serif-font-family;\n\n .post-tags {\n padding: $post-tags-padding;\n\n a {\n margin-right: 5px;\n color: $theme-color;\n word-break: break-all;\n\n &::before {\n content: '#';\n }\n }\n }\n\n .post-nav {\n margin: 1em 0;\n @include clearfix;\n\n .prev,\n .next {\n font-weight: 600;\n font-size: $post-nav-font-size;\n font-family: $global-serif-font-family;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n }\n\n .prev {\n float: left;\n\n &:hover {\n color: $theme-color;\n transform: translateX(-4px);\n }\n }\n\n .next {\n float: right;\n\n &:hover {\n color: $theme-color;\n transform: translateX(4px);\n }\n }\n\n .nav-mobile {\n display: none;\n }\n }\n}\n\n@include max-screen() {\n .post-footer {\n .post-nav {\n .nav-default {\n display: none;\n }\n\n .nav-mobile {\n display: inline;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_footer.scss",".post-outdated {\n .hint {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid rgb(66, 172, 243);\n background-color: rgb(239, 245, 255);\n border-color: rgb(66, 172, 243);\n }\n\n .warn {\n position: relative;\n margin-top: 20px;\n margin-bottom: 20px;\n padding: 5px 10px;\n border-left: 4px solid #f9cf63;\n background-color: #ffffc0;\n border-color: #f9cf63;\n }\n}\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_post/_outdated.scss","// ==============================\n// Pagination\n// ==============================\n\n.pagination {\n margin: $pagination-margin;\n @include clearfix;\n\n .prev,\n .next {\n font-weight: 600;\n font-size: $pagination-font-size;\n font-family: $global-serif-font-family;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n }\n\n .prev {\n float: left;\n\n &:hover {\n color: $theme-color;\n transform: translateX(-4px); \n }\n }\n\n .next {\n float: right;\n\n &:hover {\n color: $theme-color;\n transform: translateX(4px); \n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_pagination.scss","// ==============================\n// Post footer\n// =============================\n\n.footer {\n margin-top: $footer-margin-top;\n\n @import \"_footer/social\";\n @import \"_footer/copyright\";\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer.scss","// ==============================\n// Social\n// =============================\n\n.social-links {\n text-align: center;\n\n .iconfont {\n font-size: $social-icon-font-size;\n\n & + .iconfont {\n margin-left: $social-link-margin-left;\n } \n\n &:hover {\n color: $theme-color;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer/_social.scss","// ==============================\n// Copyright\n// =============================\n\n.copyright {\n margin: $copyright-margin;\n color: $dark-gray;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .hexo-link,\n .theme-link {\n color: $theme-color;\n }\n\n .copyright-year {\n display: block;\n\n .heart {\n font-size: 14px;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_footer/_copyright.scss","// ==============================\n// Archive\n// =============================\n\n.archive {\n margin: $archive-margin;\n max-width: $archive-max-width;\n\n .archive-title {\n font-family: $global-serif-font-family;\n\n &.tag,\n &.category {\n margin: 15px 0;\n }\n\n .archive-name {\n margin: 0;\n display: inline-block;\n font-weight: 400;\n font-size: $archive-name-font-size;\n line-height: $archive-name-font-size + 2px;\n }\n\n .archive-post-counter {\n color: $dark-gray;\n }\n }\n\n .collection-title {\n font-family: $global-serif-font-family;\n \n .archive-year {\n margin: 15px 0;\n font-weight: 400;\n font-size: $collection-title-font-size;\n line-height: $collection-title-font-size + 2px;\n }\n }\n\n .archive-post {\n padding: $archive-post-padding;\n border-left: $archive-post-border-left;\n\n .archive-post-time {\n margin-right: 10px;\n color: $dark-gray;\n }\n\n .archive-post-title {\n \n .archive-post-link {\n color: $theme-color;\n }\n }\n\n &::first-child {\n margin-top: 10px;\n }\n\n &:hover {\n border-left: $archive-post-hover-border-left;\n transition: $archive-post-hover-transition;\n transform: $archive-post-hover-transform;\n\n .archive-post-time {\n color: darken($dark-gray, 10%);\n }\n\n .archive-post-title .archive-post-link {\n color: darken($theme-color, 10%);\n }\n }\n }\n}\n\n@include max-screen() {\n .archive {\n margin-left: auto;\n margin-right: auto;\n\n .archive-title .archive-name {\n font-size: $archive-name-font-size - 4px;\n }\n\n .collection-title .archive-year {\n margin: 10px 0;\n font-size: $collection-title-font-size - 4px;\n }\n\n .archive-post {\n padding: $archive-post-mobile-padding;\n\n .archive-post-time {\n font-size: $archive-post-mobile-time-font-size;\n display: block;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_archive.scss","// ==============================\n// Tags\n// =============================\n\n.tag-cloud {\n margin: 2em 0 3em;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .tag-cloud-title {\n display: inline-block;\n font-size: $tag-cloud-title-size;\n color: $theme-color;\n border-bottom: $tag-cloud-title-border-bottom;\n }\n\n .tag-cloud-tags {\n margin: 10px 0;\n\n a {\n display: inline-block;\n position: relative;\n margin: $tag-cloud-tags-link-margin;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out;\n\n .tag-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: $theme-color;\n font-size: $category-count-font-size;\n }\n\n &:active,\n &:focus,\n &:hover {\n color: $theme-color;\n transform: scale(1.1);\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_tags.scss","\n.categories {\n margin: 2em 0 3em;\n text-align: center;\n font-family: $global-serif-font-family;\n\n .categories-title {\n display: inline-block;\n font-size: $categories-title-size;\n color: $theme-color;\n border-bottom: $categories-title-border-bottom;\n }\n\n .categories-tags {\n margin: 10px 0;\n\n .category-link {\n display: inline-block;\n position: relative;\n margin: $categories-tags-link-margin;\n word-wrap: break-word;\n transition-duration: 0.2s;\n transition-property: transform;\n transition-timing-function: ease-out;\n\n .category-count {\n display: inline-block;\n position: relative;\n top: -8px;\n right: -2px;\n color: $theme-color;\n font-size: $category-count-font-size;\n }\n\n &:active,\n &:focus,\n &:hover {\n color: $theme-color;\n transform: scale(1.1);\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_categories.scss","// ==============================\n// slideout (https://github.com/mango/slideout)\n// ==============================\n\n.slideout-menu {\n position: fixed;\n top: 0;\n left: 0px;\n bottom: 0;\n width: 180px;\n min-height: 100vh;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n z-index: 0;\n display: none;\n}\n\n.slideout-panel {\n position: relative;\n z-index: 1;\n background-color: $white;\n min-height: 100vh;\n}\n\n.slideout-open,\n.slideout-open body,\n.slideout-open .slideout-panel {\n overflow: hidden;\n}\n\n.slideout-open .slideout-menu {\n display: block;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_slideout.scss","// ==============================\n// Mobile Navbar\n// ==============================\n\n.mobile-navbar {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: $mobile-navbar-height;\n background: $white;\n box-shadow: 0px 2px 2px $gray;\n text-align: center;\n transition: transform 300ms ease;\n z-index: 99;\n\n &.fixed-open {\n transform: translate3d(180px, 0px, 0px);\n }\n\n .mobile-header-logo {\n display: inline-block;\n margin-right: 50px;\n\n .logo {\n font-size: 22px;\n line-height: $mobile-navbar-height;\n font-family: $logo-font-family;\n }\n }\n\n .mobile-navbar-icon {\n color: $theme-color;\n height: $mobile-navbar-height;\n width: $mobile-navbar-height;\n font-size: 24px;\n text-align: center;\n float: left;\n position: relative;\n transition: background 0.5s;\n\n @include mobile-menu-icon();\n }\n}\n\n.mobile-menu {\n background-color: rgba($deputy-color, 0.5);\n\n .mobile-menu-list {\n position: relative;\n list-style: none;\n margin-top: 50px;\n padding: 0;\n border-top: 1px solid $deputy-color;\n\n .mobile-menu-item {\n padding: 10px 30px;\n border-bottom: 1px solid $deputy-color;\n }\n\n a {\n font-size: 18px;\n font-family: $global-serif-font-family;\n\n &:hover {\n color: $theme-color;\n }\n }\n }\n}\n\n@include max-screen() {\n .mobile-navbar {\n display: block;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_mobile.scss","// ==============================\n// Back to top\n// =============================\n\n.back-to-top {\n display: none;\n position: fixed;\n right: 20px;\n bottom: 20px;\n transition-property: transform;\n transition-timing-function: ease-out;\n transition-duration: 0.3s;\n z-index: 10;\n\n &:hover {\n transform: translateY(-5px); \n }\n}\n\n@include max-screen() {\n .back-to-top {\n display: none !important;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_back-to-top.scss","// ==============================\n// Archive\n// =============================\n\n.not-found {\n text-align: center;\n\n .error-emoji {\n color: #363636;\n font-size: 3rem;\n }\n\n .error-text {\n color: #797979;\n font-size: 1.25rem;\n }\n\n .error-link {\n margin-top: 2rem;\n\n a {\n color: $theme-color;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./css/_partial/_404.scss"],"sourceRoot":""}
\ No newline at end of file diff --git a/themes/even/static/dist/even.min.js.map b/themes/even/static/dist/even.min.js.map index 99c8597..aa8fb3c 100644 --- a/themes/even/static/dist/even.min.js.map +++ b/themes/even/static/dist/even.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 4032fb2d67a8dc827789","webpack:///./js/main.js","webpack:///./js/even.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_even","$","document","ready","Even","backToTop","mobileNavbar","toc","fancybox","flowchart","sequence","hljs","initHighlighting","highlight","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","css","$toclink","$headerlink","$tocLinkLis","headerlinkTop","map","link","headerLinksOffsetForSearch","activeTocIndex","array","target","searchActiveTocIndex","ancestor","parentNode","tagName","each","this","find","wrap","src","title","selector","protect","blocks","querySelectorAll","block","rootElement","parentElement","lineCodes","innerHTML","split","pop","lineLength","codeLineHtml","codeHtml","className","figure","createElement","replaceChild","tocContainer","removeChild","_refactorToc","_linkToc","_initToc","oldTocList","children","newTocList","temp","links","num","headers","header","id","container","parse","childNodes","nodeValue","drawSVG","flowchartDiagramsOptions","Diagram","sequenceDiagramsOptions","theme"],"mappings":"aACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,GAAA,EACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,GAAA,EAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAZ,EAAAmB,EAAA,SAAAhB,GACA,IAAAS,EAAAT,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAQ,EAAAC,GAAsD,OAAAR,OAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDtB,EAAAyB,EAAA,GAGAzB,IAAA0B,EAAA,kCC7DA,IAAAC,EAAA3B,EAAA,GAEAA,EAAA,GAEA4B,EAAEC,UAAUC,MAAM,WAChBC,OAAKC,YACLD,OAAKE,eACLF,OAAKG,MACLH,OAAKI,aAGPJ,OAAKK,YACLL,OAAKM,WAELC,KAAKC,mBACLR,OAAKS,2FCbL,IAAMT,GAENA,UAAiB,WACf,IAAMU,EAAab,EAAE,gBAErBA,EAAEc,QAAQC,OAAO,WACXf,EAAEc,QAAQE,YAAc,IAC1BH,EAAWI,OAAO,KAElBJ,EAAWK,QAAQ,OAIvBL,EAAWM,MAAM,WACfnB,EAAE,aAAaoB,SAAUJ,UAAW,OAIxCb,aAAoB,WAClB,IAAMkB,EAAarB,EAAE,kBACfsB,EAAiBtB,EAAE,uBACnBuB,EAAW,IAAIC,UACnBC,MAASxB,SAASyB,eAAe,gBACjCC,KAAQ1B,SAASyB,eAAe,eAChCE,QAAW,IACXC,UAAa,KAEfN,EAASO,eAETR,EAAeH,MAAM,WACnBI,EAASQ,WAGXR,EAASS,GAAG,aAAc,WACxBX,EAAWY,SAAS,cACpBX,EAAeW,SAAS,cAAcC,YAAY,cAGpDX,EAASS,GAAG,cAAe,WACzBX,EAAWa,YAAY,cACvBZ,EAAeW,SAAS,YAAYC,YAAY,gBAGlDlC,EAAE,iBAAiBgC,GAAG,WAAY,WAChCT,EAASY,UAAYb,EAAeH,WAIxChB,SAAgB,WACd,IACMiC,EAAOpC,EAAE,aACTqC,EAAUrC,EAAE,gBAElB,GAAIoC,EAAKE,OAAQ,CACf,IAAMC,EAAeH,EAAKI,SAASC,IALrB,GAMRC,EAAeL,EAAQG,SAASC,IAAML,EAAKO,SANnC,GAQRC,GACJC,OACEC,SAAY,WACZL,IAAOF,GAETQ,SACED,SAAY,QACZL,IAfU,IAiBZO,KACEF,SAAY,WACZL,IAAOC,IAIX1C,EAAEc,QAAQC,OAAO,WACf,IAAMC,EAAYhB,EAAEc,QAAQE,YAExBA,EAAYuB,EACdH,EAAKa,IAAIL,EAASC,OACT7B,EAAY0B,EACrBN,EAAKa,IAAIL,EAASI,KAElBZ,EAAKa,IAAIL,EAASG,WAKxB,IACMG,EAAWlD,EAAE,aACbmD,EAAcnD,EAAE,eAChBoD,EAAcpD,EAAE,wBAEhBqD,EAAgBrD,EAAEsD,IAAIH,EAAa,SAAUI,GACjD,OAAOvD,EAAEuD,GAAMf,SAASC,MAGpBe,EAA6BxD,EAAEsD,IAAID,EAAe,SAAUb,GAChE,OAAOA,EAVS,KAqBlBxC,EAAEc,QAAQC,OAAO,WACf,IAAMC,EAAYhB,EAAEc,QAAQE,YACtByC,EAVqB,SAAUC,EAAOC,GAC5C,IAAK,IAAInF,EAAI,EAAGA,EAAIkF,EAAMpB,OAAS,EAAG9D,IACpC,GAAImF,EAASD,EAAMlF,IAAMmF,GAAUD,EAAMlF,EAAI,GAAI,OAAOA,EAE1D,OAAImF,EAASD,EAAMA,EAAMpB,OAAS,GAAWoB,EAAMpB,OAAS,GACpD,EAKesB,CAAqBJ,EAA4BxC,GAKxE,GAHAhB,EAAEkD,GAAUhB,YAAY,UACxBlC,EAAEoD,GAAalB,YAAY,eAEH,IAApBuB,EAAuB,CACzBzD,EAAEkD,EAASO,IAAiBxB,SAAS,UAErC,IADA,IAAI4B,EAAWX,EAASO,GAAgBK,WACZ,QAArBD,EAASE,SACd/D,EAAE6D,GAAU5B,SAAS,cACrB4B,EAAWA,EAASC,WAAWA,eAMvC3D,SAAgB,WACVH,EAAEO,WACJP,EAAE,iBAAiBgE,KAAK,WACtBhE,EAAEiE,MAAMC,KAAK,OAAOF,KAAK,WACvBhE,EAAEiE,MAAME,KAAR,6BAA0CF,KAAKG,IAA/C,2CAA6FH,KAAKI,MAAlG,cAIJrE,EAAE,aAAaO,UACb+D,SAAU,YACVC,SAAS,MAKfpE,UAAiB,WAEf,IADA,IAAMqE,EAASvE,SAASwE,iBAAiB,YAChCjG,EAAI,EAAGA,EAAIgG,EAAOlC,OAAQ9D,IAAK,CACtC,IAAMkG,EAAQF,EAAOhG,GACfmG,EAAcD,EAAME,cACpBC,EAAYH,EAAMI,UAAUC,MAAM,MACA,KAApCF,EAAUA,EAAUvC,OAAS,IAAWuC,EAAUG,MAItD,IAHA,IAAMC,EAAaJ,EAAUvC,OAEzB4C,EAAe,GACV1G,EAAI,EAAGA,EAAIyG,EAAYzG,IAC9B0G,yBAAqC1G,EAAI,GAAzC,SAIF,IADA,IAAI2G,EAAW,GACN3G,EAAI,EAAGA,EAAIyG,EAAYzG,IAC9B2G,wBAAiCN,EAAUrG,GAA3C,SAGFkG,EAAMU,WAAa,aACnB,IAAMC,EAASpF,SAASqF,cAAc,UACtCD,EAAOD,UAAYV,EAAMU,UACzBC,EAAOP,UAAP,6CAAgEI,EAAhE,oCAAgHC,EAAhH,mCAEAR,EAAYC,cAAcW,aAAaF,EAAQV,KAInDxE,IAAW,WACT,IAAMqF,EAAevF,SAASyB,eAAe,YAC7C,GAAqB,OAAjB8D,EAAuB,CACzB,IAAMlF,EAAML,SAASyB,eAAe,mBACxB,OAARpB,EAEFkF,EAAa1B,WAAW2B,YAAYD,IAEpCvB,KAAKyB,aAAapF,GAClB2D,KAAK0B,WACL1B,KAAK2B,cAKXzF,aAAoB,SAAUG,GAK5B,IAHA,IAAMuF,EAAavF,EAAIwF,SAAS,GAC5BC,EAAaF,EACbG,SACkC,IAA/BD,EAAWD,SAASxD,QAAwE,QAAvD0D,EAAOD,EAAWD,SAAS,GAAGA,SAAS,IAAI/B,SAAkBgC,EAAaC,EAElHD,IAAeF,GAAYvF,EAAIiF,aAAaQ,EAAYF,IAG9D1F,SAAgB,WAEd,IADA,IAAM8F,EAAQhG,SAASwE,iBAAiB,kCAC/BjG,EAAI,EAAGA,EAAIyH,EAAM3D,OAAQ9D,IAAKyH,EAAMzH,GAAG4G,WAAa,YAE7D,IAAK,IAAIc,EAAM,EAAGA,GAAO,EAAGA,IAE1B,IADA,IAAMC,EAAUlG,SAASwE,iBAAiB,kBAAoByB,GACrD1H,EAAI,EAAGA,EAAI2H,EAAQ7D,OAAQ9D,IAAK,CACvC,IAAM4H,EAASD,EAAQ3H,GACvB4H,EAAOtB,UAAP,aAAgCsB,EAAOC,GAAvC,4BAAqED,EAAOtB,YAKlF3E,UAAiB,WACf,GAAKW,OAAON,UAGZ,IADA,IAAMgE,EAASvE,SAASwE,iBAAiB,+BAChCjG,EAAI,EAAGA,EAAIgG,EAAOlC,OAAQ9D,IAAK,CACtC,IAAMkG,EAAQF,EAAOhG,GACfmG,EAAcD,EAAME,cAEpB0B,EAAYrG,SAASqF,cAAc,OACnCe,2BAA8B7H,EACpC8H,EAAUD,GAAKA,EACfC,EAAUlB,UAAY,eACtBT,EAAYC,cAAcW,aAAae,EAAW3B,GAElCnE,UAAU+F,MAAM7B,EAAM8B,WAAW,GAAGC,WAC5CC,QAAQL,EAAIvF,OAAO6F,yBAA2B7F,OAAO6F,+BAIjExG,SAAgB,WACd,GAAKW,OAAO8F,QAGZ,IADA,IAAMpC,EAASvE,SAASwE,iBAAiB,8BAChCjG,EAAI,EAAGA,EAAIgG,EAAOlC,OAAQ9D,IAAK,CACtC,IAAMkG,EAAQF,EAAOhG,GACfmG,EAAcD,EAAME,cAEpB0B,EAAYrG,SAASqF,cAAc,OACnCe,0BAA6B7H,EACnC8H,EAAUD,GAAKA,EACfC,EAAUlB,UAAY,eACtBT,EAAYC,cAAcW,aAAae,EAAW3B,GAElCiC,QAAQL,MAAM7B,EAAM8B,WAAW,GAAGC,WAC1CC,QAAQL,EAAIvF,OAAO+F,wBAA0B/F,OAAO+F,yBAA2BC,MAAO,gBAI1F3G","file":"even.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4032fb2d67a8dc827789","import {Even} from './even.js'\n\nimport '../css/style.scss'\n\n$(document).ready(function () {\n Even.backToTop()\n Even.mobileNavbar()\n Even.toc()\n Even.fancybox()\n})\n\nEven.flowchart()\nEven.sequence()\n\nhljs.initHighlighting()\nEven.highlight()\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\n\nconst Even = {}\n\nEven.backToTop = function () {\n const $backToTop = $('#back-to-top')\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000)\n } else {\n $backToTop.fadeOut(1000)\n }\n })\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 })\n })\n}\n\nEven.mobileNavbar = function () {\n const $mobileNav = $('#mobile-navbar')\n const $mobileNavIcon = $('.mobile-navbar-icon')\n const slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n })\n slideout.disableTouch()\n\n $mobileNavIcon.click(function () {\n slideout.toggle()\n })\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open')\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\n })\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open')\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\n })\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click()\n })\n}\n\nEven._initToc = function () {\n const SPACING = 20\n const $toc = $('.post-toc')\n const $footer = $('.post-footer')\n\n if ($toc.length) {\n const minScrollTop = $toc.offset().top - SPACING\n const maxScrollTop = $footer.offset().top - $toc.height() - SPACING\n\n const tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start)\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end)\n } else {\n $toc.css(tocState.process)\n }\n })\n }\n\n const HEADERFIX = 30\n const $toclink = $('.toc-link')\n const $headerlink = $('.headerlink')\n const $tocLinkLis = $('.post-toc-content li')\n\n const headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top\n })\n\n const headerLinksOffsetForSearch = $.map(headerlinkTop, function (offset) {\n return offset - HEADERFIX\n })\n\n const searchActiveTocIndex = function (array, target) {\n for (let i = 0; i < array.length - 1; i++) {\n if (target > array[i] && target <= array[i + 1]) return i\n }\n if (target > array[array.length - 1]) return array.length - 1\n return -1\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop)\n\n $($toclink).removeClass('active')\n $($tocLinkLis).removeClass('has-active')\n\n if (activeTocIndex !== -1) {\n $($toclink[activeTocIndex]).addClass('active')\n let ancestor = $toclink[activeTocIndex].parentNode\n while (ancestor.tagName !== 'NAV') {\n $(ancestor).addClass('has-active')\n ancestor = ancestor.parentNode.parentNode\n }\n }\n })\n}\n\nEven.fancybox = function () {\n if ($.fancybox) {\n $('.post-content').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap(`<a class=\"fancybox\" href=\"${this.src}\" data-fancybox=\"gallery\" data-caption=\"${this.title}\"></a>`)\n })\n })\n\n $('.fancybox').fancybox({\n selector: '.fancybox',\n protect: true\n })\n }\n}\n\nEven.highlight = function () {\n const blocks = document.querySelectorAll('pre code')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n const lineCodes = block.innerHTML.split(/\\n/)\n if (lineCodes[lineCodes.length - 1] === '') lineCodes.pop()\n const lineLength = lineCodes.length\n\n let codeLineHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeLineHtml += `<div class=\"line\">${i + 1}</div>`\n }\n\n let codeHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeHtml += `<div class=\"line\">${lineCodes[i]}</div>`\n }\n\n block.className += ' highlight'\n const figure = document.createElement('figure')\n figure.className = block.className\n figure.innerHTML = `<table><tbody><tr><td class=\"gutter\"><pre>${codeLineHtml}</pre></td><td class=\"code\"><pre>${codeHtml}</pre></td></tr></tbody></table>`\n\n rootElement.parentElement.replaceChild(figure, rootElement)\n }\n}\n\nEven.toc = function () {\n const tocContainer = document.getElementById('post-toc')\n if (tocContainer !== null) {\n const toc = document.getElementById('TableOfContents')\n if (toc === null) {\n // toc = true, but there are no headings\n tocContainer.parentNode.removeChild(tocContainer)\n } else {\n this._refactorToc(toc)\n this._linkToc()\n this._initToc()\n }\n }\n}\n\nEven._refactorToc = function (toc) {\n // when headings do not start with `h1`\n const oldTocList = toc.children[0]\n let newTocList = oldTocList\n let temp\n while (newTocList.children.length === 1 && (temp = newTocList.children[0].children[0]).tagName === 'UL') newTocList = temp\n\n if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList)\n}\n\nEven._linkToc = function () {\n const links = document.querySelectorAll('#TableOfContents a:first-child')\n for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'\n\n for (let num = 1; num <= 6; num++) {\n const headers = document.querySelectorAll('.post-content>h' + num)\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]\n header.innerHTML = `<a href=\"#${header.id}\" class=\"headerlink\"></a>${header.innerHTML}`\n }\n }\n}\n\nEven.flowchart = function () {\n if (!window.flowchart) return\n\n const blocks = document.querySelectorAll('pre code.language-flowchart')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n\n const container = document.createElement('div')\n const id = `js-flowchart-diagrams-${i}`\n container.id = id\n container.className = 'align-center'\n rootElement.parentElement.replaceChild(container, rootElement)\n\n const diagram = flowchart.parse(block.childNodes[0].nodeValue)\n diagram.drawSVG(id, window.flowchartDiagramsOptions ? window.flowchartDiagramsOptions : {})\n }\n}\n\nEven.sequence = function () {\n if (!window.Diagram) return\n\n const blocks = document.querySelectorAll('pre code.language-sequence')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n\n const container = document.createElement('div')\n const id = `js-sequence-diagrams-${i}`\n container.id = id\n container.className = 'align-center'\n rootElement.parentElement.replaceChild(container, rootElement)\n\n const diagram = Diagram.parse(block.childNodes[0].nodeValue)\n diagram.drawSVG(id, window.sequenceDiagramsOptions ? window.sequenceDiagramsOptions : {theme: 'simple'})\n }\n}\n\nexport {Even}\n\n\n\n// WEBPACK FOOTER //\n// ./js/even.js"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 8b0ec24c4a64f48ac61d","webpack:///./js/main.js","webpack:///./js/even.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_even","$","document","ready","Even","backToTop","mobileNavbar","toc","fancybox","flowchart","sequence","hljs","initHighlighting","highlight","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","css","$toclink","$headerlink","$tocLinkLis","headerlinkTop","map","link","headerLinksOffsetForSearch","activeTocIndex","array","target","searchActiveTocIndex","ancestor","parentNode","tagName","each","this","find","wrap","src","title","selector","protect","blocks","querySelectorAll","block","rootElement","parentElement","lineCodes","innerHTML","split","pop","lineLength","codeLineHtml","codeHtml","className","figure","createElement","replaceChild","tocContainer","removeChild","_refactorToc","_linkToc","_initToc","oldTocList","children","newTocList","temp","links","num","headers","header","id","container","parse","childNodes","nodeValue","drawSVG","flowchartDiagramsOptions","Diagram","sequenceDiagramsOptions","theme"],"mappings":"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","file":"even.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8b0ec24c4a64f48ac61d","import {Even} from './even.js'\n\nimport '../css/style.scss'\n\n$(document).ready(function () {\n Even.backToTop()\n Even.mobileNavbar()\n Even.toc()\n Even.fancybox()\n})\n\nEven.flowchart()\nEven.sequence()\n\nhljs.initHighlighting()\nEven.highlight()\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\n\nconst Even = {}\n\nEven.backToTop = function () {\n const $backToTop = $('#back-to-top')\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000)\n } else {\n $backToTop.fadeOut(1000)\n }\n })\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 })\n })\n}\n\nEven.mobileNavbar = function () {\n const $mobileNav = $('#mobile-navbar')\n const $mobileNavIcon = $('.mobile-navbar-icon')\n const slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n })\n slideout.disableTouch()\n\n $mobileNavIcon.click(function () {\n slideout.toggle()\n })\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open')\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\n })\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open')\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\n })\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click()\n })\n}\n\nEven._initToc = function () {\n const SPACING = 20\n const $toc = $('.post-toc')\n const $footer = $('.post-footer')\n\n if ($toc.length) {\n const minScrollTop = $toc.offset().top - SPACING\n const maxScrollTop = $footer.offset().top - $toc.height() - SPACING\n\n const tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start)\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end)\n } else {\n $toc.css(tocState.process)\n }\n })\n }\n\n const HEADERFIX = 30\n const $toclink = $('.toc-link')\n const $headerlink = $('.headerlink')\n const $tocLinkLis = $('.post-toc-content li')\n\n const headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top\n })\n\n const headerLinksOffsetForSearch = $.map(headerlinkTop, function (offset) {\n return offset - HEADERFIX\n })\n\n const searchActiveTocIndex = function (array, target) {\n for (let i = 0; i < array.length - 1; i++) {\n if (target > array[i] && target <= array[i + 1]) return i\n }\n if (target > array[array.length - 1]) return array.length - 1\n return -1\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop)\n\n $($toclink).removeClass('active')\n $($tocLinkLis).removeClass('has-active')\n\n if (activeTocIndex !== -1) {\n $($toclink[activeTocIndex]).addClass('active')\n let ancestor = $toclink[activeTocIndex].parentNode\n while (ancestor.tagName !== 'NAV') {\n $(ancestor).addClass('has-active')\n ancestor = ancestor.parentNode.parentNode\n }\n }\n })\n}\n\nEven.fancybox = function () {\n if ($.fancybox) {\n $('.post-content').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap(`<a class=\"fancybox\" href=\"${this.src}\" data-fancybox=\"gallery\" data-caption=\"${this.title}\"></a>`)\n })\n })\n\n $('.fancybox').fancybox({\n selector: '.fancybox',\n protect: true\n })\n }\n}\n\nEven.highlight = function () {\n const blocks = document.querySelectorAll('pre code')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n const lineCodes = block.innerHTML.split(/\\n/)\n if (lineCodes[lineCodes.length - 1] === '') lineCodes.pop()\n const lineLength = lineCodes.length\n\n let codeLineHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeLineHtml += `<div class=\"line\">${i + 1}</div>`\n }\n\n let codeHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeHtml += `<div class=\"line\">${lineCodes[i]}</div>`\n }\n\n block.className += ' highlight'\n const figure = document.createElement('figure')\n figure.className = block.className\n figure.innerHTML = `<table><tbody><tr><td class=\"gutter\"><pre>${codeLineHtml}</pre></td><td class=\"code\"><pre>${codeHtml}</pre></td></tr></tbody></table>`\n\n rootElement.parentElement.replaceChild(figure, rootElement)\n }\n}\n\nEven.toc = function () {\n const tocContainer = document.getElementById('post-toc')\n if (tocContainer !== null) {\n const toc = document.getElementById('TableOfContents')\n if (toc === null) {\n // toc = true, but there are no headings\n tocContainer.parentNode.removeChild(tocContainer)\n } else {\n this._refactorToc(toc)\n this._linkToc()\n this._initToc()\n }\n }\n}\n\nEven._refactorToc = function (toc) {\n // when headings do not start with `h1`\n const oldTocList = toc.children[0]\n let newTocList = oldTocList\n let temp\n while (newTocList.children.length === 1 && (temp = newTocList.children[0].children[0]).tagName === 'UL') newTocList = temp\n\n if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList)\n}\n\nEven._linkToc = function () {\n const links = document.querySelectorAll('#TableOfContents a:first-child')\n for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'\n\n for (let num = 1; num <= 6; num++) {\n const headers = document.querySelectorAll('.post-content>h' + num)\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]\n header.innerHTML = `<a href=\"#${header.id}\" class=\"headerlink\"></a>${header.innerHTML}`\n }\n }\n}\n\nEven.flowchart = function () {\n if (!window.flowchart) return\n\n const blocks = document.querySelectorAll('pre code.language-flowchart')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n\n const container = document.createElement('div')\n const id = `js-flowchart-diagrams-${i}`\n container.id = id\n container.className = 'align-center'\n rootElement.parentElement.replaceChild(container, rootElement)\n\n const diagram = flowchart.parse(block.childNodes[0].nodeValue)\n diagram.drawSVG(id, window.flowchartDiagramsOptions ? window.flowchartDiagramsOptions : {})\n }\n}\n\nEven.sequence = function () {\n if (!window.Diagram) return\n\n const blocks = document.querySelectorAll('pre code.language-sequence')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n\n const container = document.createElement('div')\n const id = `js-sequence-diagrams-${i}`\n container.id = id\n container.className = 'align-center'\n rootElement.parentElement.replaceChild(container, rootElement)\n\n const diagram = Diagram.parse(block.childNodes[0].nodeValue)\n diagram.drawSVG(id, window.sequenceDiagramsOptions ? window.sequenceDiagramsOptions : {theme: 'simple'})\n }\n}\n\nexport {Even}\n\n\n\n// WEBPACK FOOTER //\n// ./js/even.js"],"sourceRoot":""}
\ No newline at end of file |