diff --git a/css/navy.css b/css/navy.css
index 0005d0c76..a8ccaa3a2 100644
--- a/css/navy.css
+++ b/css/navy.css
@@ -1 +1 @@
-:root{--color-default:#444;--color-default-invert:#d1d2d4;--color-gray:#999;--color-border:#e3e3e3;--color-navy:#171f26;--color-content-bg:#fff;--color-news-bg:#161d24;--color-navy-lighter:#283542;--color-link:#0e83cd;--color-link-hover:#1094e8}@media (prefers-color-scheme:dark){:root{--color-default:#d1d2d4;--color-default-invert:#444;--color-gray:#666;--color-border:#6a6a6a;--color-backgrond:#fff;--color-navy:#171f26;--color-news-bg:#161d24;--color-navy-lighter:#232e3a;--color-content-bg:#1c1c1c;--color-link:#0e83cd;--color-link-hover:#1094e8}}a,abbr,acronym,address,applet,big,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,form,h1,h2,h3,h4,h5,h6,html,iframe,img,ins,kbd,label,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,ul,var{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-family:inherit;font-size:100%;vertical-align:baseline}body{line-height:1;color:#000;background:#fff}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,td,th{text-align:left;font-weight:400;vertical-align:middle}a img{border:none}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{padding:0;margin:0;border:0}button,input,select{margin:0;padding:0;border:0}body{background:var(--color-navy);font-size:15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--color-default);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}@media print{a{color:var(--color-default);text-decoration:underline}a:after{content:" (" attr(href) ")";font-size:80%}}@media screen and (max-device-width:480px){body{-webkit-text-size-adjust:none}}@media screen{.wrapper{max-width:1800px;margin:0 auto}}@media screen{#article-toc-inner,.inner{padding:0 20px}}#content-wrap{background:var(--color-content-bg);overflow:hidden}.video-container{text-align:center}#header{position:relative;padding:10px 0}@media print{#header{display:none}}#header-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}@media screen and (max-width:768px){#header-inner{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}}#logo-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 36px;-ms-flex:0 36px;flex:0 36px}#logo{text-indent:101%;white-space:nowrap;overflow:hidden;background:url(../icon/logo.png);width:36px;height:36px;-webkit-background-size:36px 36px;-moz-background-size:36px 36px;background-size:36px 36px;display:block}#main-nav{display:none;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto}@media screen and (min-width:769px){#main-nav{display:block}}#search-input-wrap{display:none;padding-left:6px;border-bottom:1px solid var(--color-gray)}#search-input-wrap.on{display:inline-block}#search-input-wrap #search-input,#search-input-wrap>i,#search-input-wrap>span{vertical-align:middle;color:#fff;line-height:36px}#search-input-icon{padding-right:.5em;opacity:.7}#search-input{background:0 0;font-size:inherit;outline:0;-webkit-appearance:none}.main-nav-link{color:#fff;text-decoration:none;line-height:36px;white-space:nowrap;opacity:.7;-webkit-transition:opacity .2s,color .2s;-moz-transition:opacity .2s,color .2s;-ms-transition:opacity .2s,color .2s;transition:opacity .2s,color .2s;display:inline-block;padding:0 12px}.main-nav-link.active{opacity:1}.main-nav-link:hover{opacity:1;color:var(--color-link-hover);text-decoration:none}.icon-nav-link{display:none;position:relative;padding:0 8px}.icon-nav-link .icon-nav-title{display:none}@media screen and (min-width:992px){.icon-nav-link .icon-nav-title{display:inline}}@media screen and (min-width:769px){.icon-nav-link{display:block}}#lang-select{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:menulist-button;font-size:inherit}#banner{color:rgba(255,255,255,.8);text-align:center}#banner-title,.theme-intro-title{line-height:1.15;font-weight:300;font-size:40px}@media screen and (min-width:769px){#banner-title,.theme-intro-title{font-size:50px}}#banner-title{padding-top:20px}@media screen and (min-width:769px){#banner-title{padding-top:100px}}.theme-intro-title{margin-bottom:24px;padding-top:24px}@media screen and (min-width:769px){.theme-intro-title{padding-top:0}}#banner-start{text-align:center;padding:40px 0;line-height:47px}@media screen and (min-width:769px){#banner-start{padding:60px 0;font-size:18px}}#banner-start-command{background:var(--color-navy-lighter);padding:0 15px;color:#fff;display:inline-block}#banner-start-command:before{content:"$";opacity:.5;padding-right:10px}#banner-start-link{color:#fff;background:var(--color-link);display:inline-block;padding:0 15px;text-decoration:none;-webkit-transition:background .2s;-moz-transition:background .2s;-ms-transition:background .2s;transition:background .2s}#banner-start-link:hover{background:var(--color-link-hover)}#banner-share{display:block;padding-bottom:60px}#intro-news-list{background-color:var(--color-news-bg);margin:-1px 0}#intro-news-flex{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column}@media screen and (min-width:769px){#intro-news-flex{-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.intro-news-wrap{padding:24px 30px;text-decoration:none}.intro-news-wrap:hover{background-color:var(--color-link-hover)}@media screen and (min-width:769px){.intro-news-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;padding:36px 30px}}@media screen and (min-width:960px){.intro-news-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}}.intro-news-time{font-size:14px;color:rgba(255,255,255,.6)}.intro-news-wrap:hover .intro-news-time{color:rgba(255,255,255,.8)}.intro-news-title{padding-top:4px;font-size:15px;line-height:1.2;color:#fff}#intro-feature-list{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;margin:30px 0}@media screen and (min-width:769px){#intro-feature-list{-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.intro-feature-wrap{margin-top:20px}@media screen and (min-width:769px){.intro-feature-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;margin-top:50px}}.intro-feature{position:relative;text-align:center}@media screen and (min-width:769px){.intro-feature{text-align:left;padding-left:70px}}.intro-feature-icon{color:var(--color-link);font-size:36px;margin-bottom:6px;text-align:center}@media screen and (min-width:769px){.intro-feature-icon{margin-bottom:26px;position:absolute;top:0;left:20px;font-size:24px;width:24px}}.intro-feature-title{color:var(--color-link);font-size:24px}.intro-feature-desc{margin-top:1em;line-height:1.6em}@media screen and (min-width:769px){.intro-feature-desc{margin-top:1.6em}}.intro-feature-desc a{text-decoration:none;color:#000}.intro-feature-desc a:hover,.intro-feature-desc a:visited{color:#000}.intro-feature-desc a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){.intro-feature-desc a{color:#fff}.intro-feature-desc a:hover,.intro-feature-desc a:visited{color:#fff}}#intro-cmd-wrap{max-width:700px;padding:15px 30px;font-size:16px;overflow:auto;margin:50px auto 0}#intro-cmd-wrap pre{line-height:32px}@media screen and (min-width:769px){#intro-cmd-wrap{margin:70px auto 0}}#intro-get-started-wrap{text-align:center;margin:20px 0 50px}@media screen and (min-width:769px){#intro-get-started-wrap{margin:30px 0 70px}}#intro-get-started-link{font-size:18px;display:inline-block;text-decoration:none;border:3px solid var(--color-link-hover);padding:12px 24px;position:relative;-webkit-transition:background .2s,color .2s;-moz-transition:background .2s,color .2s;-ms-transition:background .2s,color .2s;transition:background .2s,color .2s;color:var(--color-link)}#intro-get-started-link:hover{background:var(--color-link-hover);color:#fff}#contributors-wrap,#sponsors-wrap{background:var(--color-navy-lighter);border-top:1px solid #161d24;border-bottom:1px solid #161d24;margin:-1px 0}#contributors-wrap .inner,#sponsors-wrap .inner{margin:48px 16px}@media screen and (min-width:480px){#contributors-wrap .inner,#sponsors-wrap .inner{margin:64px 32px}}#contributors-wrap .inner h3,#sponsors-wrap .inner h3{color:#fff;font-size:32px}#contributors-wrap .inner p,#sponsors-wrap .inner p{color:#ccc;margin:36px 0 24px;font-size:20px;line-height:1.5}#contributors-wrap .inner .description a,#sponsors-wrap .inner .description a{text-decoration:none}#contributors-wrap .description a{color:#fff}#contributors-wrap .description a:hover{background:#fff;color:var(--color-navy-lighter)}#sponsors-wrap{border:none;text-align:right;background:var(--color-content-bg);overflow:hidden}#sponsors-wrap .contributors{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-pack:right;-moz-box-pack:right;-ms-flex-pack:right;-webkit-justify-content:right;justify-content:right}#sponsors-wrap .inner h3{color:var(--color-default)}#sponsors-wrap .inner p{color:var(--color-gray)}#sponsors-wrap .inner .open-collective{max-width:100%}#sponsors-wrap .inner .description a{color:#333}#sponsors-wrap .inner .description a:hover{background:var(--color-navy);color:#fff}@media (prefers-color-scheme:dark){#sponsors-wrap .inner p{color:var(--color-default)}#sponsors-wrap .inner .description a{color:#fff}#sponsors-wrap .inner .description a:hover{background:#fff;color:var(--color-navy-lighter)}}.contributors tr{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.contributors td{margin:10px 2px 0}.contributors td a img{display:inline-block;height:72px;width:72px;background:var(--color-gray);border-radius:50%;margin-bottom:10px}#playground{background:var(--color-content-bg);overflow:hidden}#playground .wrapper{margin-bottom:40px}#playground h1{font-size:36px;font-weight:300;margin:40px 0 24px}#playground .row{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-moz-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;font-size:1em}#playground .row .col{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;margin-bottom:10px}@media screen and (min-width:769px){#playground .row{-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#playground .col:first-child{margin-right:15px}}#playground #editorEl{height:40vh}#playground #dataEl{height:28vh;margin-top:2vh}#playground #previewEl{height:70vh}#playground .hide{display:none}#playground .loader{width:75px;height:75px;margin:150px auto 200px;border-top:5px solid #292929;border-right:5px solid #efefef;border-bottom:5px solid #efefef;border-left:5px solid #efefef;border-radius:100px;-webkit-animation:spin 1s infinite linear;-moz-animation:spin 1s infinite linear;-ms-animation:spin 1s infinite linear;animation:spin 1s infinite linear}@-moz-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}#sidebar{width:220px;padding-bottom:40px;opacity:.8;display:none;padding-top:40px}@media screen and (min-width:769px){#sidebar{display:block}}.sidebar-title{margin-top:40px;padding:10px 0;font-weight:700;color:var(--color-link);display:inline-block;border-top:1px solid var(--color-border);line-height:1}.sidebar-title:first-child{margin-top:0}.sidebar-link,.toc-link{display:block;color:var(--color-default);text-decoration:none;padding:7px 0;line-height:1;position:relative;width:100%}.sidebar-link.current,.toc-link.current{color:var(--color-link)}.sidebar-link:hover,.toc-link:hover{color:var(--color-link-hover)}#content{position:relative}#content-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex}#content-inner #sidebar{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 220px;-ms-flex:0 0 220px;flex:0 0 220px}#content-inner .article-container{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 100%;-ms-flex:1 100%;flex:1 100%}.article-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex}.article-inner .article{width:0;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;padding:40px 0;overflow:hidden;text-overflow:ellipsis}@media print{.article-inner .article{padding:0}}.article-inner #article-toc{display:none;width:220px;opacity:.8}@media screen and (min-width:769px){.article-inner #article-toc{display:block}}#article-toc-inner{width:220px;position:sticky;top:0;margin:40px auto}#article-toc-inner .sidebar-title{border-top:none}.toc-child{padding-left:1em;font-size:.9em}#article-toc-inner-list{overflow-y:auto}#article-toc-top{margin-top:13px;font-size:.9em;text-decoration:none;color:var(--color-default);display:block}#article-toc-top:hover{color:var(--color-link-hover)}.article-header{padding-bottom:20px;overflow:hidden}.article-title{float:left;font-size:36px;font-weight:300;text-decoration:none;color:var(--color-default);-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}a.article-title:hover{color:var(--color-link-hover)}.post .article-title{float:none}.article-date{color:var(--color-gray);text-decoration:none;display:inline-block;margin-top:1em}.article-date:hover{color:var(--color-link-hover)}.article-edit-link{float:right;text-decoration:none;color:#bbb;font-size:24px;line-height:36px;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s;display:none}.article-edit-link:hover{color:var(--color-link-hover)}@media screen and (min-width:769px){.article-edit-link{display:block}}.article-anchor{margin-left:10px;display:none}.article-anchor:before{content:"#"}@media print{.article-anchor{display:none!important}}.article-heading:hover .article-anchor{display:inline-block}.article-content{line-height:1.6em;color:var(--color-default)}@media print{.article-content{font-size:12pt}}.article-content .highlight,.article-content blockquote,.article-content dl,.article-content iframe,.article-content ol,.article-content p,.article-content table,.article-content ul{margin:1em 0}.article-content h1{font-size:2em}.article-content h2{font-size:1.5em;border-bottom:1px solid var(--color-border);padding-bottom:10px;margin-bottom:15px}.article-content h3{font-size:1.3em}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{line-height:1em;font-weight:700;margin:1em 0}.article-content hr{border-bottom:none;border-top:1px dashed var(--color-border)}.article-content a[target="_blank"]{position:relative}.article-content a[target="_blank"]::after{content:'\00f08e';font-family:icomoon;padding-left:3px;vertical-align:super;zoom:.7}.article-content strong{font-weight:700}.article-content em{font-style:italic}.article-content dl,.article-content ol,.article-content ul{margin-left:20px}.article-content dl dl,.article-content dl ol,.article-content dl ul,.article-content ol dl,.article-content ol ol,.article-content ol ul,.article-content ul dl,.article-content ul ol,.article-content ul ul{margin-top:0;margin-bottom:0}.article-content ul{list-style:disc}.article-content ol{list-style:decimal}.article-content dl{list-style:square}.article-content li p{margin:0}.article-content li .highlight,.article-content li blockquote,.article-content li iframe,.article-content li table{margin:1em 0}.article-content img,.article-content video{max-width:100%}.article-content img[src*="@2x"]{zoom:50%}.article-content blockquote{padding:0 20px;position:relative;border:1px solid var(--color-border);border-left:5px solid #ddd}.article-content blockquote footer{margin:1em 0;font-style:italic}.article-content blockquote footer cite:before{content:"—";padding:0 .3em}.article-content blockquote footer cite a{color:color-grey}@media (prefers-color-scheme:dark){.article-content blockquote{border-color:var(--color-gray)}}.article-content .note.tip{border-left-color:#0fff00}.article-content .note.info{border-left-color:#0af}.article-content .note.warn{border-left-color:red}.article-content .since{margin-top:0;font-style:italic}.article-content .since::before{content:"Added in: "}.article-content .note-title{margin:1em 0 .5em;display:block;font-size:1.3em;font-weight:700}.article-content .note-title+*{margin-top:0}.article-content table{max-width:100%;border:1px solid var(--color-border)}.article-content table th{font-weight:700}.article-content table td,.article-content table th{padding:5px 15px}.article-content table tr:nth-child(2n){background:#eee}@media (prefers-color-scheme:dark){.article-content table tr:nth-child(2n){background:var(--color-gray)}}.article-footer{margin:60px 0 0;border-top:1px solid var(--color-border);text-align:center;color:var(--color-gray);line-height:1em;padding-top:1em;position:relative}@media print{.article-footer{display:none}}.article-footer-next,.article-footer-prev{color:var(--color-link);text-decoration:none;font-weight:700;text-transform:uppercase;position:absolute}.article-footer-next:hover,.article-footer-prev:hover{color:var(--color-link-hover)}@media print{.article-footer-next,.article-footer-prev{display:none}}.article-footer-next span,.article-footer-prev span{padding:0 6px}.article-footer-next i,.article-footer-next span,.article-footer-prev i,.article-footer-prev span{vertical-align:middle}.article-footer-prev{left:0}.article-footer-next{right:0}.article-footer-updated{font-size:.9em}[lang=zh-cn] .since::before{content:"支持版本:"}.mobile-nav-on{overflow:hidden;height:100%;max-height:100%}#mobile-nav{position:fixed;top:0;width:260px;left:-260px;height:100%;background:var(--color-navy);-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s}.mobile-nav-on #mobile-nav{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.mobile-sidebar-list{background:var(--color-navy-lighter)}#mobile-nav-inner{overflow-y:auto;position:absolute;top:0;bottom:40px;left:0;right:0;-webkit-overflow-scrolling:touch}#mobile-nav-inner>:first-child{padding-top:10px}#mobile-nav-inner>:last-child{padding-bottom:10px}#mobile-nav-toggle{position:absolute;top:0;bottom:0;left:20px;width:25px;height:20px;margin:auto;opacity:.5;cursor:pointer;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}#mobile-nav-toggle:active,.mobile-nav-on #mobile-nav-toggle{opacity:1}@media screen and (min-width:769px){#mobile-nav-toggle{display:none}}.mobile-nav-toggle-bar{background:#fff;position:absolute;left:0;width:100%;height:2px;-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s;-webkit-transform-origin:0;-moz-transform-origin:0;-ms-transform-origin:0;transform-origin:0;border-radius:2px}.mobile-nav-toggle-bar:first-child{top:0}.mobile-nav-on .mobile-nav-toggle-bar:first-child{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mobile-nav-toggle-bar:nth-child(2){top:9px}.mobile-nav-on .mobile-nav-toggle-bar:nth-child(2){opacity:0}.mobile-nav-toggle-bar:last-child{top:18px}.mobile-nav-on .mobile-nav-toggle-bar:last-child{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.mobile-nav-link{color:#fff;text-decoration:none;display:block;padding:12px 16px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-title{color:var(--color-link);font-weight:700;padding:10px 15px;line-height:1;display:block;border-top:1px solid #444;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mobile-button-list{position:absolute;bottom:0;left:0;width:100%;background:var(--color-navy);border-top:1px solid #444;padding:12px 16px}#mobile-button-list .mobile-nav-link{display:inline-block;padding:0;margin-right:16px}#mobile-lang-select-wrap{position:relative}#mobile-lang-select{-webkit-appearance:menulist-button;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%}#container{-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s;height:100%;-webkit-overflow-scrolling:touch}.mobile-nav-on #container{-webkit-transform:translateX(260px);-moz-transform:translateX(260px);-ms-transform:translateX(260px);transform:translateX(260px);overflow:hidden}#mobile-nav-dimmer{position:absolute;top:0;left:100%;height:100%;background:#000;opacity:0;-webkit-transition:opacity .4s,-webkit-transform 0s .4s;-moz-transition:opacity .4s,-moz-transform 0s .4s;-ms-transition:opacity .4s,-ms-transform 0s .4s;transition:opacity .4s,transform 0s .4s}.mobile-nav-on #mobile-nav-dimmer{width:100%;opacity:.7;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-ms-transition:opacity .4s;transition:opacity .4s}#footer{padding:24px 0;color:rgba(255,255,255,.6);position:relative;background:var(--color-navy);text-align:center}#footer:after,#footer:before{content:"";display:table}#footer:after{clear:both}@media screen and (min-width:769px){#footer{padding:40px 0;text-align:left}}@media print{#footer{display:none}}#footer a{color:inherit;text-decoration:none;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}#footer a:hover{color:#fff}#footer .icon-twitter:hover{color:#1da1f2}#footer .icon-opencollective:hover{color:#3384ff}#footer-copyright{line-height:1.4}@media screen and (min-width:769px){#footer-copyright{float:left}}#footer-copyright a{font-weight:700}#footer-links{margin-top:1em}@media screen and (min-width:769px){#footer-links{float:right;margin-top:0}}.footer-link{font-size:20px;margin-left:10px}.footer-link:first-child{margin-left:0}@media screen and (min-width:769px){.footer-link{font-size:30px}}.icon-oc{height:36px;width:30px;display:inline-block;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;background-repeat:no-repeat;vertical-align:text-bottom;fill:#a2a5a8;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}:root{--highlight-background:#2d2d2d;--highlight-current-line:#393939;--highlight-selection:#515151;--highlight-foreground:#ccc;--highlight-comment:#999;--highlight-red:#f2777a;--highlight-orange:#f99157;--highlight-yellow:#fc6;--highlight-green:#9c9;--highlight-aqua:#6cc;--highlight-blue:#69c;--highlight-purple:#c9c}code,pre{font-family:"Source Code Pro",Monaco,Menlo,Consolas,monospace;color:var(--highlight-foreground);background:var(--highlight-background);white-space:pre-wrap}code{padding:0 5px}pre{padding:10px 15px;line-height:22px}pre code{border:none;display:block;padding:0}.highlight{padding:10px 15px;color:var(--highlight-foreground);background:var(--highlight-background);overflow:auto;margin:0}.highlight table{margin:0!important;border:0}.highlight table td,.highlight table th{padding:0}.highlight figcaption{margin:-5px 0 5px;color:var(--color-gray)}.highlight figcaption:after,.highlight figcaption:before{content:"";display:table}.highlight figcaption:after{clear:both}.highlight figcaption a{float:right}.highlight pre{margin:0;padding:0;background:0 0}.highlight .line{height:22px}pre .comment,pre .title{color:var(--highlight-comment)}pre .attribute,pre .css .class,pre .css .id,pre .css .pseudo,pre .html .doctype,pre .regexp,pre .ruby .constant,pre .tag,pre .variable,pre .xml .doctype,pre .xml .pi,pre .xml .tag .title{color:var(--highlight-red)}pre .built_in,pre .constant,pre .literal,pre .number,pre .params,pre .preprocessor{color:var(--highlight-orange)}pre .class,pre .css .rules .attribute,pre .ruby .class .title{color:var(--highlight-green)}pre .header,pre .inheritance,pre .ruby .symbol,pre .string,pre .value,pre .xml .cdata{color:var(--highlight-green)}pre .css .hexcolor{color:var(--highlight-aqua)}pre .coffeescript .title,pre .function,pre .javascript .title,pre .perl .sub,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword{color:var(--highlight-blue)}pre .javascript .function,pre .keyword{color:var(--highlight-purple)}@font-face{font-family:icomoon;src:url(../fonts/icomoon.eot?e8nnma);src:url(../fonts/icomoon.eot?e8nnma#iefix) format('embedded-opentype'),url(../fonts/icomoon.ttf?e8nnma) format('truetype'),url(../fonts/icomoon.woff?e8nnma) format('woff'),url(../fonts/icomoon.svg?e8nnma#icomoon) format('svg');font-weight:400;font-style:normal;font-display:block}i{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shopify:before{content:"\e905"}.icon-network:before{content:"\e902"}.icon-opencollective:before{content:"\e903"}.icon-search:before{content:"\f002"}.icon-gear:before{content:"\f013"}.icon-pencil:before{content:"\f040"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-arrow-right:before{content:"\f061"}.icon-twitter:before{content:"\f099"}.icon-github:before{content:"\f09b"}.icon-shield:before{content:"\f132"}.icon-rocket:before{content:"\e9a5"}.icon-typescript:before{content:"\e900"}.icon-chat-bubble-dots:before{content:"\e901"}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:0 0;border:none;z-index:999;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:0 0}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}
\ No newline at end of file
+:root{--color-default:#444;--color-default-invert:#d1d2d4;--color-gray:#999;--color-border:#e3e3e3;--color-navy:#171f26;--color-content-bg:#fff;--color-news-bg:#161d24;--color-navy-lighter:#283542;--color-link:#0e83cd;--color-link-hover:#1094e8}@media (prefers-color-scheme:dark){:root{--color-default:#d1d2d4;--color-default-invert:#444;--color-gray:#666;--color-border:#6a6a6a;--color-backgrond:#fff;--color-navy:#171f26;--color-news-bg:#161d24;--color-navy-lighter:#232e3a;--color-content-bg:#1c1c1c;--color-link:#0e83cd;--color-link-hover:#1094e8}}a,abbr,acronym,address,applet,big,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,form,h1,h2,h3,h4,h5,h6,html,iframe,img,ins,kbd,label,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,ul,var{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-family:inherit;font-size:100%;vertical-align:baseline}body{line-height:1;color:#000;background:#fff}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0;vertical-align:middle}caption,td,th{text-align:left;font-weight:400;vertical-align:middle}a img{border:none}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{padding:0;margin:0;border:0}button,input,select{margin:0;padding:0;border:0}body{background:var(--color-navy);font-size:16px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--color-default);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}@media print{a{color:var(--color-default);text-decoration:underline}a:after{content:" (" attr(href) ")";font-size:80%}}@media screen and (max-device-width:480px){body{-webkit-text-size-adjust:none}}@media screen{.wrapper{max-width:1800px;margin:0 auto}}@media screen{#article-toc-inner,.inner{padding:0 20px}}#content-wrap{background:var(--color-content-bg);overflow:hidden}.video-container{text-align:center}#header{position:relative;padding:10px 0}@media print{#header{display:none}}#header-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}@media screen and (max-width:768px){#header-inner{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}}#logo-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 36px;-ms-flex:0 36px;flex:0 36px}#logo{text-indent:101%;white-space:nowrap;overflow:hidden;background:url(../icon/logo.png);width:36px;height:36px;-webkit-background-size:36px 36px;-moz-background-size:36px 36px;background-size:36px 36px;display:block}#main-nav{display:none;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto}@media screen and (min-width:769px){#main-nav{display:block}}#search-input-wrap{display:none;padding-left:6px;border-bottom:1px solid var(--color-gray)}#search-input-wrap.on{display:inline-block}#search-input-wrap #search-input,#search-input-wrap>i,#search-input-wrap>span{vertical-align:middle;color:#fff;line-height:36px}#search-input-icon{padding-right:.5em;opacity:.7}#search-input{background:0 0;font-size:inherit;outline:0;-webkit-appearance:none}.main-nav-link{color:#fff;text-decoration:none;line-height:36px;white-space:nowrap;opacity:.7;-webkit-transition:opacity .2s,color .2s;-moz-transition:opacity .2s,color .2s;-ms-transition:opacity .2s,color .2s;transition:opacity .2s,color .2s;display:inline-block;padding:0 12px}.main-nav-link.active{opacity:1}.main-nav-link:hover{opacity:1;color:var(--color-link-hover);text-decoration:none}.icon-nav-link{display:none;position:relative;padding:0 8px}.icon-nav-link .icon-nav-title{display:none}@media screen and (min-width:992px){.icon-nav-link .icon-nav-title{display:inline}}@media screen and (min-width:769px){.icon-nav-link{display:block}}#lang-select{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:menulist-button;font-size:inherit}#banner{color:rgba(255,255,255,.8);text-align:center}#banner-title,.theme-intro-title{line-height:1.15;font-weight:300;font-size:40px}@media screen and (min-width:769px){#banner-title,.theme-intro-title{font-size:50px}}#banner-title{padding-top:20px}@media screen and (min-width:769px){#banner-title{padding-top:100px}}.theme-intro-title{margin-bottom:24px;padding-top:24px}@media screen and (min-width:769px){.theme-intro-title{padding-top:0}}#banner-start{text-align:center;padding:40px 0;line-height:47px}@media screen and (min-width:769px){#banner-start{padding:60px 0;font-size:18px}}#banner-start-command{background:var(--color-navy-lighter);padding:0 15px;color:#fff;display:inline-block}#banner-start-command:before{content:"$";opacity:.5;padding-right:10px}#banner-start-link{color:#fff;background:var(--color-link);display:inline-block;padding:0 15px;text-decoration:none;-webkit-transition:background .2s;-moz-transition:background .2s;-ms-transition:background .2s;transition:background .2s}#banner-start-link:hover{background:var(--color-link-hover)}#banner-share{display:block;padding-bottom:60px}#intro-news-list{background-color:var(--color-news-bg);margin:-1px 0}#intro-news-flex{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column}@media screen and (min-width:769px){#intro-news-flex{-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.intro-news-wrap{padding:24px 30px;text-decoration:none}.intro-news-wrap:hover{background-color:var(--color-link-hover)}@media screen and (min-width:769px){.intro-news-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;padding:36px 30px}}@media screen and (min-width:960px){.intro-news-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}}.intro-news-time{font-size:14px;color:rgba(255,255,255,.6)}.intro-news-wrap:hover .intro-news-time{color:rgba(255,255,255,.8)}.intro-news-title{padding-top:4px;font-size:15px;line-height:1.2;color:#fff}#intro-feature-list{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;margin:30px 0}@media screen and (min-width:769px){#intro-feature-list{-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}}.intro-feature-wrap{margin-top:20px}@media screen and (min-width:769px){.intro-feature-wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;margin-top:50px}}.intro-feature{position:relative;text-align:center}@media screen and (min-width:769px){.intro-feature{text-align:left;padding-left:70px}}.intro-feature-icon{color:var(--color-link);font-size:36px;margin-bottom:6px;text-align:center}@media screen and (min-width:769px){.intro-feature-icon{margin-bottom:26px;position:absolute;top:0;left:20px;font-size:24px;width:24px}}.intro-feature-title{color:var(--color-link);font-size:24px}.intro-feature-desc{margin-top:1em;line-height:1.8em}@media screen and (min-width:769px){.intro-feature-desc{margin-top:1.8em}}.intro-feature-desc a{text-decoration:none;color:#000}.intro-feature-desc a:hover,.intro-feature-desc a:visited{color:#000}.intro-feature-desc a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){.intro-feature-desc a{color:#fff}.intro-feature-desc a:hover,.intro-feature-desc a:visited{color:#fff}}#intro-cmd-wrap{max-width:700px;padding:15px 30px;font-size:16px;overflow:auto;margin:50px auto 0}#intro-cmd-wrap pre{line-height:32px}@media screen and (min-width:769px){#intro-cmd-wrap{margin:70px auto 0}}#intro-get-started-wrap{text-align:center;margin:20px 0 50px}@media screen and (min-width:769px){#intro-get-started-wrap{margin:30px 0 70px}}#intro-get-started-link{font-size:18px;display:inline-block;text-decoration:none;border:3px solid var(--color-link-hover);padding:12px 24px;position:relative;-webkit-transition:background .2s,color .2s;-moz-transition:background .2s,color .2s;-ms-transition:background .2s,color .2s;transition:background .2s,color .2s;color:var(--color-link)}#intro-get-started-link:hover{background:var(--color-link-hover);color:#fff}#contributors-wrap,#sponsors-wrap{background:var(--color-navy-lighter);border-top:1px solid #161d24;border-bottom:1px solid #161d24;margin:-1px 0}#contributors-wrap .inner,#sponsors-wrap .inner{margin:48px 16px}@media screen and (min-width:480px){#contributors-wrap .inner,#sponsors-wrap .inner{margin:64px 32px}}#contributors-wrap .inner h3,#sponsors-wrap .inner h3{color:#fff;font-size:32px}#contributors-wrap .inner p,#sponsors-wrap .inner p{color:#ccc;margin:36px 0 24px;font-size:20px;line-height:1.5}#contributors-wrap .inner .description a,#sponsors-wrap .inner .description a{text-decoration:none}#contributors-wrap .description a{color:#fff}#contributors-wrap .description a:hover{background:#fff;color:var(--color-navy-lighter)}#sponsors-wrap{border:none;text-align:right;background:var(--color-content-bg);overflow:hidden}#sponsors-wrap .contributors{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-pack:right;-moz-box-pack:right;-ms-flex-pack:right;-webkit-justify-content:right;justify-content:right}#sponsors-wrap .inner h3{color:var(--color-default)}#sponsors-wrap .inner p{color:var(--color-gray)}#sponsors-wrap .inner .open-collective{max-width:100%}#sponsors-wrap .inner .description a{color:#333}#sponsors-wrap .inner .description a:hover{background:var(--color-navy);color:#fff}@media (prefers-color-scheme:dark){#sponsors-wrap .inner p{color:var(--color-default)}#sponsors-wrap .inner .description a{color:#fff}#sponsors-wrap .inner .description a:hover{background:#fff;color:var(--color-navy-lighter)}}.contributors tr{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.contributors td{margin:10px 2px 0}.contributors td a img{display:inline-block;height:72px;width:72px;background:var(--color-gray);border-radius:50%;margin-bottom:10px}#playground{background:var(--color-content-bg);overflow:hidden}#playground .wrapper{margin-bottom:40px}#playground h1{font-size:36px;font-weight:300;margin:40px 0 24px}#playground .row{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-moz-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;font-size:1em}#playground .row .col{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;margin-bottom:10px}@media screen and (min-width:769px){#playground .row{-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}#playground .col:first-child{margin-right:15px}}#playground #editorEl{height:40vh}#playground #dataEl{height:28vh;margin-top:2vh}#playground #previewEl{height:70vh}#playground .hide{display:none}#playground .loader{width:75px;height:75px;margin:150px auto 200px;border-top:5px solid #292929;border-right:5px solid #efefef;border-bottom:5px solid #efefef;border-left:5px solid #efefef;border-radius:100px;-webkit-animation:spin 1s infinite linear;-moz-animation:spin 1s infinite linear;-ms-animation:spin 1s infinite linear;animation:spin 1s infinite linear}@-moz-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}#sidebar{width:220px;padding-bottom:40px;opacity:.8;display:none;padding-top:40px}@media screen and (min-width:769px){#sidebar{display:block}}.sidebar-title{margin-top:40px;padding:10px 0;font-weight:700;color:var(--color-link);display:inline-block;border-top:1px solid var(--color-border);line-height:1}.sidebar-title:first-child{margin-top:0}.sidebar-link,.toc-link{display:block;color:var(--color-default);text-decoration:none;padding:7px 0;line-height:1;position:relative;width:100%}.sidebar-link.current,.toc-link.current{color:var(--color-link)}.sidebar-link:hover,.toc-link:hover{color:var(--color-link-hover)}#content{position:relative}#content-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex}#content-inner #sidebar{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:0 0 220px;-ms-flex:0 0 220px;flex:0 0 220px}#content-inner .article-container{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 100%;-ms-flex:1 100%;flex:1 100%}.article-inner{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex}.article-inner .article{width:0;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;padding:40px 0;overflow:hidden;text-overflow:ellipsis}@media print{.article-inner .article{padding:0}}.article-inner #article-toc{display:none;width:220px;opacity:.8}@media screen and (min-width:769px){.article-inner #article-toc{display:block}}#article-toc-inner{width:220px;position:sticky;top:0;margin:40px auto}#article-toc-inner .sidebar-title{border-top:none}.toc-child{padding-left:1em;font-size:.9em}#article-toc-inner-list{overflow-y:auto}#article-toc-top{margin-top:13px;font-size:.9em;text-decoration:none;color:var(--color-default);display:block}#article-toc-top:hover{color:var(--color-link-hover)}.article-header{padding-bottom:20px;overflow:hidden}.article-title{float:left;font-size:36px;font-weight:300;text-decoration:none;color:var(--color-default);-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}a.article-title:hover{color:var(--color-link-hover)}.post .article-title{float:none}.article-date{color:var(--color-gray);text-decoration:none;display:inline-block;margin-top:1em}.article-date:hover{color:var(--color-link-hover)}.article-edit-link{float:right;text-decoration:none;color:#bbb;font-size:24px;line-height:36px;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s;display:none}.article-edit-link:hover{color:var(--color-link-hover)}@media screen and (min-width:769px){.article-edit-link{display:block}}.article-anchor{margin-left:10px;display:none}.article-anchor:before{content:"#"}@media print{.article-anchor{display:none!important}}.article-heading:hover .article-anchor{display:inline-block}.article-content{line-height:1.8em;color:var(--color-default)}@media print{.article-content{font-size:12pt}}.article-content .highlight,.article-content blockquote,.article-content dl,.article-content iframe,.article-content ol,.article-content p,.article-content table,.article-content ul{margin:1em 0}.article-content h1{font-size:2em}.article-content h2{font-size:1.5em;border-bottom:1px solid var(--color-border);padding-bottom:10px;margin-bottom:15px}.article-content h3{font-size:1.3em}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{line-height:1em;font-weight:700;margin:1em 0}.article-content hr{border-bottom:none;border-top:1px dashed var(--color-border)}.article-content a[target="_blank"]{position:relative}.article-content a[target="_blank"]::after{content:'\00f08e';font-family:icomoon;padding-left:3px;vertical-align:super;zoom:.7}.article-content strong{font-weight:700}.article-content em{font-style:italic}.article-content dl,.article-content ol,.article-content ul{margin-left:20px}.article-content dl dl,.article-content dl ol,.article-content dl ul,.article-content ol dl,.article-content ol ol,.article-content ol ul,.article-content ul dl,.article-content ul ol,.article-content ul ul{margin-top:0;margin-bottom:0}.article-content ul{list-style:disc}.article-content ol{list-style:decimal}.article-content dl{list-style:square}.article-content li p{margin:0}.article-content li .highlight,.article-content li blockquote,.article-content li iframe,.article-content li table{margin:1em 0}.article-content img,.article-content video{max-width:100%}.article-content img[src*="@2x"]{zoom:50%}.article-content blockquote{padding:0 20px;position:relative;border:1px solid var(--color-border);border-left:5px solid #ddd}.article-content blockquote footer{margin:1em 0;font-style:italic}.article-content blockquote footer cite:before{content:"—";padding:0 .3em}.article-content blockquote footer cite a{color:color-grey}@media (prefers-color-scheme:dark){.article-content blockquote{border-color:var(--color-gray)}}.article-content .note.tip{border-left-color:#0fff00}.article-content .note.info{border-left-color:#0af}.article-content .note.warn{border-left-color:red}.article-content .since{margin-top:0;font-style:italic}.article-content .since::before{content:"Added in: "}.article-content .note-title{margin:1em 0 .5em;display:block;font-size:1.3em;font-weight:700}.article-content .note-title+*{margin-top:0}.article-content table{max-width:100%;border:1px solid var(--color-border)}.article-content table th{font-weight:700}.article-content table td,.article-content table th{padding:5px 15px}.article-content table tr:nth-child(2n){background:#eee}@media (prefers-color-scheme:dark){.article-content table tr:nth-child(2n){background:var(--color-gray)}}.article-footer{margin:60px 0 0;border-top:1px solid var(--color-border);text-align:center;color:var(--color-gray);line-height:1em;padding-top:1em;position:relative}@media print{.article-footer{display:none}}.article-footer-next,.article-footer-prev{color:var(--color-link);text-decoration:none;font-weight:700;text-transform:uppercase;position:absolute}.article-footer-next:hover,.article-footer-prev:hover{color:var(--color-link-hover)}@media print{.article-footer-next,.article-footer-prev{display:none}}.article-footer-next span,.article-footer-prev span{padding:0 6px}.article-footer-next i,.article-footer-next span,.article-footer-prev i,.article-footer-prev span{vertical-align:middle}.article-footer-prev{left:0}.article-footer-next{right:0}.article-footer-updated{font-size:.9em}[lang=zh-cn] .since::before{content:"支持版本:"}.mobile-nav-on{overflow:hidden;height:100%;max-height:100%}#mobile-nav{position:fixed;top:0;width:260px;left:-260px;height:100%;background:var(--color-navy);-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s}.mobile-nav-on #mobile-nav{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.mobile-sidebar-list{background:var(--color-navy-lighter)}#mobile-nav-inner{overflow-y:auto;position:absolute;top:0;bottom:40px;left:0;right:0;-webkit-overflow-scrolling:touch}#mobile-nav-inner>:first-child{padding-top:10px}#mobile-nav-inner>:last-child{padding-bottom:10px}#mobile-nav-toggle{position:absolute;top:0;bottom:0;left:20px;width:25px;height:20px;margin:auto;opacity:.5;cursor:pointer;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}#mobile-nav-toggle:active,.mobile-nav-on #mobile-nav-toggle{opacity:1}@media screen and (min-width:769px){#mobile-nav-toggle{display:none}}.mobile-nav-toggle-bar{background:#fff;position:absolute;left:0;width:100%;height:2px;-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s;-webkit-transform-origin:0;-moz-transform-origin:0;-ms-transform-origin:0;transform-origin:0;border-radius:2px}.mobile-nav-toggle-bar:first-child{top:0}.mobile-nav-on .mobile-nav-toggle-bar:first-child{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mobile-nav-toggle-bar:nth-child(2){top:9px}.mobile-nav-on .mobile-nav-toggle-bar:nth-child(2){opacity:0}.mobile-nav-toggle-bar:last-child{top:18px}.mobile-nav-on .mobile-nav-toggle-bar:last-child{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.mobile-nav-link{color:#fff;text-decoration:none;display:block;padding:12px 16px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-title{color:var(--color-link);font-weight:700;padding:10px 15px;line-height:1;display:block;border-top:1px solid #444;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mobile-button-list{position:absolute;bottom:0;left:0;width:100%;background:var(--color-navy);border-top:1px solid #444;padding:12px 16px}#mobile-button-list .mobile-nav-link{display:inline-block;padding:0;margin-right:16px}#mobile-lang-select-wrap{position:relative}#mobile-lang-select{-webkit-appearance:menulist-button;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%}#container{-webkit-transition:.4s;-moz-transition:.4s;-ms-transition:.4s;transition:.4s;height:100%;-webkit-overflow-scrolling:touch}.mobile-nav-on #container{-webkit-transform:translateX(260px);-moz-transform:translateX(260px);-ms-transform:translateX(260px);transform:translateX(260px);overflow:hidden}#mobile-nav-dimmer{position:absolute;top:0;left:100%;height:100%;background:#000;opacity:0;-webkit-transition:opacity .4s,-webkit-transform 0s .4s;-moz-transition:opacity .4s,-moz-transform 0s .4s;-ms-transition:opacity .4s,-ms-transform 0s .4s;transition:opacity .4s,transform 0s .4s}.mobile-nav-on #mobile-nav-dimmer{width:100%;opacity:.7;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-ms-transition:opacity .4s;transition:opacity .4s}#footer{padding:24px 0;color:rgba(255,255,255,.6);position:relative;background:var(--color-navy);text-align:center}#footer:after,#footer:before{content:"";display:table}#footer:after{clear:both}@media screen and (min-width:769px){#footer{padding:40px 0;text-align:left}}@media print{#footer{display:none}}#footer a{color:inherit;text-decoration:none;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}#footer a:hover{color:#fff}#footer .icon-twitter:hover{color:#1da1f2}#footer .icon-opencollective:hover{color:#3384ff}#footer-copyright{line-height:1.4}@media screen and (min-width:769px){#footer-copyright{float:left}}#footer-copyright a{font-weight:700}#footer-links{margin-top:1em}@media screen and (min-width:769px){#footer-links{float:right;margin-top:0}}.footer-link{font-size:20px;margin-left:10px}.footer-link:first-child{margin-left:0}@media screen and (min-width:769px){.footer-link{font-size:30px}}.icon-oc{height:36px;width:30px;display:inline-block;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;background-repeat:no-repeat;vertical-align:text-bottom;fill:#a2a5a8;-webkit-transition:.2s;-moz-transition:.2s;-ms-transition:.2s;transition:.2s}:root{--highlight-background:#2d2d2d;--highlight-current-line:#393939;--highlight-selection:#515151;--highlight-foreground:#ccc;--highlight-comment:#999;--highlight-red:#f2777a;--highlight-orange:#f99157;--highlight-yellow:#fc6;--highlight-green:#9c9;--highlight-aqua:#6cc;--highlight-blue:#69c;--highlight-purple:#c9c}code,pre{font-family:"Source Code Pro",Monaco,Menlo,Consolas,monospace;color:var(--highlight-foreground);background:var(--highlight-background);white-space:pre-wrap}code{padding:0 5px}pre{padding:10px 15px;line-height:22px}pre code{border:none;display:block;padding:0}.highlight{padding:10px 15px;color:var(--highlight-foreground);background:var(--highlight-background);overflow:auto;margin:0}.highlight table{margin:0!important;border:0}.highlight table td,.highlight table th{padding:0}.highlight figcaption{margin:-5px 0 5px;color:var(--color-gray)}.highlight figcaption:after,.highlight figcaption:before{content:"";display:table}.highlight figcaption:after{clear:both}.highlight figcaption a{float:right}.highlight pre{margin:0;padding:0;background:0 0}.highlight .line{height:22px}pre .comment,pre .title{color:var(--highlight-comment)}pre .attribute,pre .css .class,pre .css .id,pre .css .pseudo,pre .html .doctype,pre .regexp,pre .ruby .constant,pre .tag,pre .variable,pre .xml .doctype,pre .xml .pi,pre .xml .tag .title{color:var(--highlight-red)}pre .built_in,pre .constant,pre .literal,pre .number,pre .params,pre .preprocessor{color:var(--highlight-orange)}pre .class,pre .css .rules .attribute,pre .ruby .class .title{color:var(--highlight-green)}pre .header,pre .inheritance,pre .ruby .symbol,pre .string,pre .value,pre .xml .cdata{color:var(--highlight-green)}pre .css .hexcolor{color:var(--highlight-aqua)}pre .coffeescript .title,pre .function,pre .javascript .title,pre .perl .sub,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword{color:var(--highlight-blue)}pre .javascript .function,pre .keyword{color:var(--highlight-purple)}@font-face{font-family:icomoon;src:url(../fonts/icomoon.eot?e8nnma);src:url(../fonts/icomoon.eot?e8nnma#iefix) format('embedded-opentype'),url(../fonts/icomoon.ttf?e8nnma) format('truetype'),url(../fonts/icomoon.woff?e8nnma) format('woff'),url(../fonts/icomoon.svg?e8nnma#icomoon) format('svg');font-weight:400;font-style:normal;font-display:block}i{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shopify:before{content:"\e905"}.icon-network:before{content:"\e902"}.icon-opencollective:before{content:"\e903"}.icon-search:before{content:"\f002"}.icon-gear:before{content:"\f013"}.icon-pencil:before{content:"\f040"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-arrow-right:before{content:"\f061"}.icon-twitter:before{content:"\f099"}.icon-github:before{content:"\f09b"}.icon-shield:before{content:"\f132"}.icon-rocket:before{content:"\e9a5"}.icon-typescript:before{content:"\e900"}.icon-chat-bubble-dots:before{content:"\e901"}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:0 0;border:none;z-index:999;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:0 0}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}
\ No newline at end of file
diff --git a/filters/abs.html b/filters/abs.html
index 732a9f2e2..7d8bcb418 100644
--- a/filters/abs.html
+++ b/filters/abs.html
@@ -78,7 +78,7 @@
@@ -159,7 +159,7 @@
diff --git a/filters/append.html b/filters/append.html
index ac911b3ce..bbaf60b82 100644
--- a/filters/append.html
+++ b/filters/append.html
@@ -78,7 +78,7 @@
@@ -112,7 +112,7 @@ website.com/index.html<
@@ -155,7 +155,7 @@ website.com/index.html<
diff --git a/filters/array_to_sentence_string.html b/filters/array_to_sentence_string.html
index a1fbe89c8..a7121c78d 100644
--- a/filters/array_to_sentence_string.html
+++ b/filters/array_to_sentence_string.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/at_least.html b/filters/at_least.html
index 05f411667..1f7e43f99 100644
--- a/filters/at_least.html
+++ b/filters/at_least.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/at_most.html b/filters/at_most.html
index b0fa5404e..9e789ac6f 100644
--- a/filters/at_most.html
+++ b/filters/at_most.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/capitalize.html b/filters/capitalize.html
index 617550c98..e075d9cc4 100644
--- a/filters/capitalize.html
+++ b/filters/capitalize.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/filters/ceil.html b/filters/ceil.html
index c45a01374..8ae0c8586 100644
--- a/filters/ceil.html
+++ b/filters/ceil.html
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
diff --git a/filters/cgi_escape.html b/filters/cgi_escape.html
index 4e38b768f..9de72cc67 100644
--- a/filters/cgi_escape.html
+++ b/filters/cgi_escape.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/compact.html b/filters/compact.html
index 5c5efc182..c4a4295b1 100644
--- a/filters/compact.html
+++ b/filters/compact.html
@@ -78,7 +78,7 @@
@@ -172,7 +172,7 @@
diff --git a/filters/concat.html b/filters/concat.html
index 2599789e4..cda0da3a6 100644
--- a/filters/concat.html
+++ b/filters/concat.html
@@ -78,7 +78,7 @@
@@ -179,7 +179,7 @@
diff --git a/filters/date.html b/filters/date.html
index 995bc36aa..66d9d39a0 100644
--- a/filters/date.html
+++ b/filters/date.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@ Last updated on:
@@ -195,7 +195,7 @@ Last updated on:
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/date_to_long_string.html b/filters/date_to_long_string.html
index 2d3456066..5a486df61 100644
--- a/filters/date_to_long_string.html
+++ b/filters/date_to_long_string.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/filters/date_to_rfc822.html b/filters/date_to_rfc822.html
index 86aa809d8..1b1da8d39 100644
--- a/filters/date_to_rfc822.html
+++ b/filters/date_to_rfc822.html
@@ -78,7 +78,7 @@
@@ -148,7 +148,7 @@
diff --git a/filters/date_to_string.html b/filters/date_to_string.html
index bfedbc074..8796e1445 100644
--- a/filters/date_to_string.html
+++ b/filters/date_to_string.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/filters/date_to_xmlschema.html b/filters/date_to_xmlschema.html
index c67238307..54fe4b019 100644
--- a/filters/date_to_xmlschema.html
+++ b/filters/date_to_xmlschema.html
@@ -78,7 +78,7 @@
@@ -148,7 +148,7 @@
diff --git a/filters/default.html b/filters/default.html
index b2a598c6c..5eabe980c 100644
--- a/filters/default.html
+++ b/filters/default.html
@@ -78,7 +78,7 @@
@@ -174,7 +174,7 @@
diff --git a/filters/divided_by.html b/filters/divided_by.html
index 6f1e01a08..ed768ac73 100644
--- a/filters/divided_by.html
+++ b/filters/divided_by.html
@@ -78,7 +78,7 @@
@@ -164,7 +164,7 @@
diff --git a/filters/downcase.html b/filters/downcase.html
index 4f6fa61f2..0bbf15f3c 100644
--- a/filters/downcase.html
+++ b/filters/downcase.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/escape.html b/filters/escape.html
index 8c960770b..0f8ee17b9 100644
--- a/filters/escape.html
+++ b/filters/escape.html
@@ -78,7 +78,7 @@
@@ -111,7 +111,7 @@ Have you read 'James & the Giant Peach'?
@@ -154,7 +154,7 @@ Have you read 'James & the Giant Peach'?
diff --git a/filters/escape_once.html b/filters/escape_once.html
index 606cca9c1..0454349d3 100644
--- a/filters/escape_once.html
+++ b/filters/escape_once.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/find.html b/filters/find.html
index f830f45da..bab829daf 100644
--- a/filters/find.html
+++ b/filters/find.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/find_exp.html b/filters/find_exp.html
index e5018ea27..4c3d61ea1 100644
--- a/filters/find_exp.html
+++ b/filters/find_exp.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/first.html b/filters/first.html
index 59100b29e..38772db6a 100644
--- a/filters/first.html
+++ b/filters/first.html
@@ -78,7 +78,7 @@
@@ -116,7 +116,7 @@ zebra
@@ -159,7 +159,7 @@ zebra
diff --git a/filters/floor.html b/filters/floor.html
index 864214cb0..4160b6444 100644
--- a/filters/floor.html
+++ b/filters/floor.html
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
diff --git a/filters/group_by.html b/filters/group_by.html
index 09bae95d4..2762d8bf8 100644
--- a/filters/group_by.html
+++ b/filters/group_by.html
@@ -78,7 +78,7 @@
@@ -175,7 +175,7 @@
diff --git a/filters/group_by_exp.html b/filters/group_by_exp.html
index 1be00f9b9..c11c2528b 100644
--- a/filters/group_by_exp.html
+++ b/filters/group_by_exp.html
@@ -78,7 +78,7 @@
@@ -175,7 +175,7 @@
diff --git a/filters/inspect.html b/filters/inspect.html
index c5fdcc9ff..bb86e2598 100644
--- a/filters/inspect.html
+++ b/filters/inspect.html
@@ -78,7 +78,7 @@
@@ -119,7 +119,7 @@ const scope = { foo }
@@ -162,7 +162,7 @@ const scope = { foo }
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/join.html b/filters/join.html
index 5881ba7de..9fc755694 100644
--- a/filters/join.html
+++ b/filters/join.html
@@ -78,7 +78,7 @@
@@ -105,7 +105,7 @@ John and Paul and George and Ringo
@@ -148,7 +148,7 @@ John and Paul and George and Ringo
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/json.html b/filters/json.html
index b9024fbdc..56709afed 100644
--- a/filters/json.html
+++ b/filters/json.html
@@ -78,7 +78,7 @@
@@ -161,7 +161,7 @@
diff --git a/filters/jsonify.html b/filters/jsonify.html
index 79f9a3d1a..9423a9acd 100644
--- a/filters/jsonify.html
+++ b/filters/jsonify.html
@@ -78,7 +78,7 @@
@@ -141,7 +141,7 @@
diff --git a/filters/last.html b/filters/last.html
index 30bbee789..d9e59ce12 100644
--- a/filters/last.html
+++ b/filters/last.html
@@ -78,7 +78,7 @@
@@ -116,7 +116,7 @@ tiger
@@ -159,7 +159,7 @@ tiger
diff --git a/filters/lstrip.html b/filters/lstrip.html
index 43069c140..8be66dbaf 100644
--- a/filters/lstrip.html
+++ b/filters/lstrip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/map.html b/filters/map.html
index aa0c936a1..4ef0da24b 100644
--- a/filters/map.html
+++ b/filters/map.html
@@ -78,7 +78,7 @@
@@ -155,7 +155,7 @@
diff --git a/filters/minus.html b/filters/minus.html
index a05618f84..9369133f6 100644
--- a/filters/minus.html
+++ b/filters/minus.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/modulo.html b/filters/modulo.html
index 3fe37d81e..82c893575 100644
--- a/filters/modulo.html
+++ b/filters/modulo.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/newline_to_br.html b/filters/newline_to_br.html
index 2bcb673d2..eb46c123b 100644
--- a/filters/newline_to_br.html
+++ b/filters/newline_to_br.html
@@ -78,7 +78,7 @@
@@ -109,7 +109,7 @@ there
@@ -152,7 +152,7 @@ there
diff --git a/filters/normalize_whitespace.html b/filters/normalize_whitespace.html
index 511415fe9..3858b00ba 100644
--- a/filters/normalize_whitespace.html
+++ b/filters/normalize_whitespace.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/number_of_words.html b/filters/number_of_words.html
index 673b4d458..33aed5e28 100644
--- a/filters/number_of_words.html
+++ b/filters/number_of_words.html
@@ -78,7 +78,7 @@
@@ -168,7 +168,7 @@
diff --git a/filters/overview.html b/filters/overview.html
index 53946bd8c..780f40b04 100644
--- a/filters/overview.html
+++ b/filters/overview.html
@@ -78,7 +78,7 @@
@@ -111,7 +111,7 @@
| HTML/URI |
-escape, escape_once, url_encode, url_decode, strip_html, newline_to_br, xml_escape, cgi_escape, uri_escape |
+escape, escape_once, url_encode, url_decode, strip_html, newline_to_br, xml_escape, cgi_escape, uri_escape, slugify |
| Array |
@@ -129,7 +129,7 @@
@@ -172,7 +172,7 @@
diff --git a/filters/plus.html b/filters/plus.html
index f0c905f33..e04e32e0c 100644
--- a/filters/plus.html
+++ b/filters/plus.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/pop.html b/filters/pop.html
index 1b2e18de0..34b1804de 100644
--- a/filters/pop.html
+++ b/filters/pop.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/filters/prepend.html b/filters/prepend.html
index 3711ac458..b44133a53 100644
--- a/filters/prepend.html
+++ b/filters/prepend.html
@@ -78,7 +78,7 @@
@@ -112,7 +112,7 @@ example.com/index.html<
@@ -155,7 +155,7 @@ example.com/index.html<
diff --git a/filters/push.html b/filters/push.html
index bd16eef53..e44501482 100644
--- a/filters/push.html
+++ b/filters/push.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/filters/raw.html b/filters/raw.html
index ef45a060d..cf4c48057 100644
--- a/filters/raw.html
+++ b/filters/raw.html
@@ -78,7 +78,7 @@
@@ -167,7 +167,7 @@
diff --git a/filters/remove.html b/filters/remove.html
index 1687bb633..3cabf2ed3 100644
--- a/filters/remove.html
+++ b/filters/remove.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/remove_first.html b/filters/remove_first.html
index 802304188..162269d7a 100644
--- a/filters/remove_first.html
+++ b/filters/remove_first.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/remove_last.html b/filters/remove_last.html
index 31daa1bf8..9286fe667 100644
--- a/filters/remove_last.html
+++ b/filters/remove_last.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/replace.html b/filters/replace.html
index 8f7211a16..7e1860657 100644
--- a/filters/replace.html
+++ b/filters/replace.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/replace_first.html b/filters/replace_first.html
index a48ca1c6c..b72225468 100644
--- a/filters/replace_first.html
+++ b/filters/replace_first.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/replace_last.html b/filters/replace_last.html
index 086d2a29e..fde27ac27 100644
--- a/filters/replace_last.html
+++ b/filters/replace_last.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/reverse.html b/filters/reverse.html
index 75598b217..3fc4503a2 100644
--- a/filters/reverse.html
+++ b/filters/reverse.html
@@ -78,7 +78,7 @@
@@ -114,7 +114,7 @@ plums, peaches, oranges, apples
@@ -157,7 +157,7 @@ plums, peaches, oranges, apples
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/round.html b/filters/round.html
index 706961952..6c2125766 100644
--- a/filters/round.html
+++ b/filters/round.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/rstrip.html b/filters/rstrip.html
index 55e6d45ea..c42dd0423 100644
--- a/filters/rstrip.html
+++ b/filters/rstrip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/shift.html b/filters/shift.html
index c12ce207f..7a48f6e7b 100644
--- a/filters/shift.html
+++ b/filters/shift.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/filters/size.html b/filters/size.html
index bdee16b04..92f02fbb1 100644
--- a/filters/size.html
+++ b/filters/size.html
@@ -78,7 +78,7 @@
@@ -161,7 +161,7 @@
diff --git a/filters/slice.html b/filters/slice.html
index 25300299b..ec662eb3f 100644
--- a/filters/slice.html
+++ b/filters/slice.html
@@ -78,7 +78,7 @@
@@ -166,7 +166,7 @@
diff --git a/filters/slugify.html b/filters/slugify.html
new file mode 100644
index 000000000..6dc61f923
--- /dev/null
+++ b/filters/slugify.html
@@ -0,0 +1,216 @@
+
+
+
+
+ slugify | LiquidJS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
v10.13.0
+
+
Convert a string into a lowercase URL “slug”. The slugify filter accepts 2 options:
+
+mode: string. The default is "default". They are as follows (with what they filter):
+"none": no characters
+"raw": spaces
+"default": spaces and non-alphanumeric characters
+"pretty": spaces and non-alphanumeric characters except for ._~!$&'()+,;=@
+"ascii": spaces, non-alphanumeric, and non-ASCII characters
+"latin": like default, except Latin characters are first transliterated (e.g. àèïòü to aeiou).
+
+
+case: boolean. The default is false. The original case of slug will be retained if set to true.
+
+
Input
+
{{ "The _config.yml file" | slugify }}
+
Output
+
the-config-yml-file
+
+
Input
+
{{ "The _config.yml file" | slugify: "pretty" }}
+
Output
+
the-_config.yml-file
+
+
Input
+
{{ "The _cönfig.yml file" | slugify: "ascii" }}
+
Output
+
the-c-nfig-yml-file
+
+
Input
+
{{ "The cönfig.yml file" | slugify: "latin" }}
+
Output
+
the-config-yml-file
+
+
Input
+
{{ "The cönfig.yml file" | slugify: "latin", true }}
+
Output
+
The-config-yml-file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/filters/sort.html b/filters/sort.html
index 4d62f4754..ddba277df 100644
--- a/filters/sort.html
+++ b/filters/sort.html
@@ -78,7 +78,7 @@
@@ -113,8 +113,8 @@ Sally Snake, giraffe, octopus, zebra
@@ -156,7 +156,7 @@ Sally Snake, giraffe, octopus, zebra
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/sort_natural.html b/filters/sort_natural.html
index 4723779b8..0ac1ccbc7 100644
--- a/filters/sort_natural.html
+++ b/filters/sort_natural.html
@@ -78,7 +78,7 @@
@@ -113,7 +113,7 @@ giraffe, octopus, Sally Snake, zebra
@@ -156,7 +156,7 @@ giraffe, octopus, Sally Snake, zebra
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/split.html b/filters/split.html
index 96c67df36..93c457601 100644
--- a/filters/split.html
+++ b/filters/split.html
@@ -78,7 +78,7 @@
@@ -117,7 +117,7 @@ Ringo
@@ -160,7 +160,7 @@ Ringo
diff --git a/filters/strip.html b/filters/strip.html
index e7a8c0adb..5fe932f03 100644
--- a/filters/strip.html
+++ b/filters/strip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/strip_html.html b/filters/strip_html.html
index a37c5c75f..7f6014f18 100644
--- a/filters/strip_html.html
+++ b/filters/strip_html.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/strip_newlines.html b/filters/strip_newlines.html
index 1c3adb8aa..43b0e0c1a 100644
--- a/filters/strip_newlines.html
+++ b/filters/strip_newlines.html
@@ -78,7 +78,7 @@
@@ -109,7 +109,7 @@ Hellothere
@@ -152,7 +152,7 @@ Hellothere
diff --git a/filters/sum.html b/filters/sum.html
index ddc72d66e..abca5bc94 100644
--- a/filters/sum.html
+++ b/filters/sum.html
@@ -78,7 +78,7 @@
@@ -147,7 +147,7 @@
diff --git a/filters/times.html b/filters/times.html
index 999f11ea6..d56995f75 100644
--- a/filters/times.html
+++ b/filters/times.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/filters/to_integer.html b/filters/to_integer.html
index ef281472a..f6e99911e 100644
--- a/filters/to_integer.html
+++ b/filters/to_integer.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/truncate.html b/filters/truncate.html
index 9a3b53246..626adef36 100644
--- a/filters/truncate.html
+++ b/filters/truncate.html
@@ -78,7 +78,7 @@
@@ -161,7 +161,7 @@
diff --git a/filters/truncatewords.html b/filters/truncatewords.html
index d07b61485..d7796701f 100644
--- a/filters/truncatewords.html
+++ b/filters/truncatewords.html
@@ -78,7 +78,7 @@
@@ -160,7 +160,7 @@
diff --git a/filters/uniq.html b/filters/uniq.html
index 58f093c32..ea4aa4725 100644
--- a/filters/uniq.html
+++ b/filters/uniq.html
@@ -78,7 +78,7 @@
@@ -147,7 +147,7 @@
diff --git a/filters/unshift.html b/filters/unshift.html
index 589e1c82b..89c1a5ce4 100644
--- a/filters/unshift.html
+++ b/filters/unshift.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/filters/upcase.html b/filters/upcase.html
index f551bf258..7330b8e34 100644
--- a/filters/upcase.html
+++ b/filters/upcase.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/uri_escape.html b/filters/uri_escape.html
index 4b8b84648..e29fe3cc9 100644
--- a/filters/uri_escape.html
+++ b/filters/uri_escape.html
@@ -78,7 +78,7 @@
@@ -147,7 +147,7 @@
diff --git a/filters/url_decode.html b/filters/url_decode.html
index 030bb1d29..1807a8130 100644
--- a/filters/url_decode.html
+++ b/filters/url_decode.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/filters/url_encode.html b/filters/url_encode.html
index 4bf83df60..4aaf496ea 100644
--- a/filters/url_encode.html
+++ b/filters/url_encode.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/filters/where.html b/filters/where.html
index f565077c5..d73d1ce21 100644
--- a/filters/where.html
+++ b/filters/where.html
@@ -78,7 +78,7 @@
@@ -173,7 +173,7 @@ Featured product:
@@ -216,7 +216,7 @@ Featured product:
- Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ Overviewabsappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/filters/where_exp.html b/filters/where_exp.html
index be4ca255e..c336f6bad 100644
--- a/filters/where_exp.html
+++ b/filters/where_exp.html
@@ -78,7 +78,7 @@
@@ -122,7 +122,7 @@ Kitchen products:
@@ -165,7 +165,7 @@ Kitchen products:
diff --git a/filters/xml_escape.html b/filters/xml_escape.html
index 25d5255ac..52d44a226 100644
--- a/filters/xml_escape.html
+++ b/filters/xml_escape.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/js/liquid.browser.min.js b/js/liquid.browser.min.js
index 340f40357..20faed64d 100644
--- a/js/liquid.browser.min.js
+++ b/js/liquid.browser.min.js
@@ -1,2 +1,2 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).liquidjs={})}(this,function(l){"use strict";var M=function(e,t){return(M=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}))(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}M(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var T=function(){return(T=Object.assign||function(e){for(var t,r=1,n=arguments.length;ra[0]&&t[1]=e.length?void 0:e)&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,s=r.call(e),o=[];try{for(;(void 0===t||0> ":" ",r=J(String(e),String(o).length),t="".concat(t).concat(r,"| "),r=e===n?"\n"+J("^",i+t.length):"";return t+s[e-1]+r}).join("\n")),enumerable:!1}),this.message=(e=this.message,(t=this.token).file&&(e+=", file:".concat(t.file)),t=d(t.getPosition(),2),r=t[0],t=t[1],e+=", line:".concat(r,", col:").concat(t)),this.stack=this.message+"\n"+this.context+"\n"+this.stack,this.originalError&&(this.stack+="\nFrom "+this.originalError.stack)},ie.is=function(e){return"LiquidError"===(null==e?void 0:e[re])},ie);function ie(e,t){var r=te.call(this,"string"==typeof e?e:e.message)||this;return r.context="","string"!=typeof e&&Object.defineProperty(r,"originalError",{value:e,enumerable:!1}),Object.defineProperty(r,"token",{value:t,enumerable:!1}),Object.defineProperty(r,re,{value:"LiquidError",enumerable:!1}),r}s(ae,se=ne);var se,oe=ae;function ae(e,t){e=se.call(this,e,t)||this;return e.name="TokenizationError",se.prototype.update.call(e),e}s(le,ue=ne);var ue,ce=le;function le(e,t){t=ue.call(this,e,t)||this;return t.name="ParseError",t.message=e.message,ue.prototype.update.call(t),t}s(fe,he=ne),fe.is=function(e){return"RenderError"===e.name};var he,pe=fe;function fe(e,t){t=he.call(this,e,t.token)||this;return t.name="RenderError",t.message=e.message,he.prototype.update.call(t),t}s(ge,de=ne);var de,ve=ge;function ge(e,t){t=de.call(this,e,t)||this;return t.name="UndefinedVariableError",t.message=e.message,de.prototype.update.call(t),t}s(be,ye=Error);var ye,me=be;function be(e){var t=ye.call(this,"undefined variable: ".concat(e))||this;return t.name="InternalUndefinedVariableError",t.variableName=e,t}s(Te,we=Error);var we,ke=Te;function Te(e){var t=we.call(this,e)||this;return t.name="AssertionError",t.message=e+"",t}var h=[0,0,0,0,0,0,0,0,0,20,4,4,4,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,2,8,0,0,0,0,8,0,0,0,64,0,65,0,0,33,33,33,33,33,33,33,33,33,33,0,0,2,2,2,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],xe=1,_e=4,Fe=16;function Oe(e){e=e.charCodeAt(0);return 128<=e?!h[e]:h[e]&xe}function F(e,t){if(!e)throw t="function"==typeof t?t():t||"expect ".concat(e," to be true"),new ke(t)}h[160]=h[5760]=h[6158]=h[8192]=h[8193]=h[8194]=h[8195]=h[8196]=h[8197]=h[8198]=h[8199]=h[8200]=h[8201]=h[8202]=h[8232]=h[8233]=h[8239]=h[8287]=h[12288]=_e,h[8220]=h[8221]=128;s(Se,ze=A),Se.prototype.equals=function(e){return c(m(e))},Se.prototype.gt=function(){return!1},Se.prototype.geq=function(){return!1},Se.prototype.lt=function(){return!1},Se.prototype.leq=function(){return!1},Se.prototype.valueOf=function(){return null};var ze,r=Se;function Se(){return null!==ze&&ze.apply(this,arguments)||this}s(n,Re=A),n.prototype.equals=function(e){return!(e instanceof n||(o(e=m(e))||b(e)?0!==e.length:!Q(e)||0!==Object.keys(e).length))},n.prototype.gt=function(){return!1},n.prototype.geq=function(){return!1},n.prototype.lt=function(){return!1},n.prototype.leq=function(){return!1},n.prototype.valueOf=function(){return""};var Re,qe=n;function n(){return null!==Re&&Re.apply(this,arguments)||this}s(Le,Ee=qe),Le.prototype.equals=function(e){return!1===e||!!c(m(e))||(o(e)?/^\s*$/.test(e):Ee.prototype.equals.call(this,e))};var Ee,i=Le;function Le(){return null!==Ee&&Ee.apply(this,arguments)||this}s(p,De=A),p.prototype.next=function(){this.i++},p.prototype.index0=function(){return this.i},p.prototype.index=function(){return this.i+1},p.prototype.first=function(){return 0===this.i},p.prototype.last=function(){return this.i===this.length-1},p.prototype.rindex=function(){return this.length-this.i},p.prototype.rindex0=function(){return this.length-this.i-1},p.prototype.valueOf=function(){return JSON.stringify(this)};var De,Ne=p;function p(e,t,r){var n=De.call(this)||this;return n.i=0,n.length=e,n.name="".concat(r,"-").concat(t),n}s(Pe,je=A),Pe.prototype.super=function(){return this.superBlockRender()};var je,Me=Pe;function Pe(e){void 0===e&&(e=function(){return""});var t=je.call(this)||this;return t.superBlockRender=e,t}function f(e){return e&&u(e.equals)}var r=new r,Ae={true:!0,false:!1,nil:r,null:r,empty:new qe,blank:new i};function Ve(e){var t,r,n={};try{for(var i=_(Object.entries(e)),s=i.next();!s.done;s=i.next()){for(var o=d(s.value,2),a=o[0],u=o[1],c=n,l=0;l":2,"<":2,">=":2,"<=":2,contains:2,not:1,and:0,or:0},_t={"==":0,"!=":0,">":0,"<":0,">=":0,"<=":0,contains:0,not:1,and:0,or:0},Ft=(s(Ot,Tt=e),Ot.prototype.getPrecedence=function(){var e=this.getText();return e in xt?xt[e]:1},Ot);function Ot(e,t,r,n){var i=Tt.call(this,l.TokenKind.Operator,e,t,r,n)||this;return i.input=e,i.begin=t,i.end=r,i.file=n,i.operator=i.getText(),i}s(Rt,zt=e);var zt,St=Rt;function Rt(e,t,r,n,i,s){r=zt.call(this,l.TokenKind.PropertyAccess,r,n,i,s)||this;return r.variable=e,r.props=t,r}s(Lt,qt=e);var qt,Et=Lt;function Lt(e,t,r,n,i,s){r=qt.call(this,l.TokenKind.Filter,r,n,i,s)||this;return r.name=e,r.args=t,r}s(jt,Dt=e);var Dt,Nt=jt;function jt(e,t,r,n,i,s){var o=Dt.call(this,l.TokenKind.Hash,e,t,r,s)||this;return o.input=e,o.begin=t,o.end=r,o.name=n,o.value=i,o.file=s,o}var Mt=/[\da-fA-F]/,Pt=/[0-7]/,At={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",v:"\v"};function Vt(e){e=e.charCodeAt(0);return 97<=e?e-87:65<=e?e-55:e-48}s(Ct,It=e);var It,Bt=Ct;function Ct(e,t,r,n){var i=It.call(this,l.TokenKind.Quoted,e,t,r,n)||this;return i.input=e,i.begin=t,i.end=r,i.file=n,i.content=function(e){for(var t="",r=1;rs.getPrecedence()?[4,r.pop()]:[3,5];case 4:return e.sent(),[3,3];case 5:return r.push(s),[3,8];case 6:return[4,s];case 7:e.sent(),e.label=8;case 8:return i=n.next(),[3,2];case 9:return[3,12];case 10:return o=e.sent(),o={error:o},[3,12];case 11:try{i&&!i.done&&(a=n.return)&&a.call(n)}finally{if(o)throw o.error}return[7];case 12:return r.length?[4,r.pop()]:[3,14];case 13:return e.sent(),[3,12];case 14:return[2]}})}(e)),!1)}function z(t,r,n){return void 0===n&&(n=!1),x(this,function(e){switch(e.label){case 0:return t?"content"in t?[2,t.content]:Zr(t)?[4,function(t,r,n){var i,s,o,a,u,c,l,h,p;return x(this,function(e){switch(e.label){case 0:i=[],e.label=1;case 1:e.trys.push([1,6,7,8]),s=_(t.props),o=s.next(),e.label=2;case 2:return o.done?[3,5]:(c=o.value,u=(a=i).push,[4,z(c,r,!1)]);case 3:u.apply(a,[e.sent()]),e.label=4;case 4:return o=s.next(),[3,2];case 5:return[3,8];case 6:return c=e.sent(),h={error:c},[3,8];case 7:try{o&&!o.done&&(p=s.return)&&p.call(s)}finally{if(h)throw h.error}return[7];case 8:return(e.trys.push([8,14,,15]),t.variable)?[4,z(t.variable,r,n)]:[3,11];case 9:return l=e.sent(),[4,r._getFromScope(l,i)];case 10:return[2,e.sent()];case 11:return[4,r._get(i)];case 12:return[2,e.sent()];case 13:return[3,15];case 14:if(l=e.sent(),n&&"InternalUndefinedVariableError"===l.name)return[2,null];throw new ve(l,t);case 15:return[2]}})}(t,r,n)]:[3,2]:[2];case 1:return[2,e.sent()];case 2:return Gr(t)?[4,function(t,r){var n,i;return x(this,function(e){switch(e.label){case 0:return[4,z(t.lhs,r)];case 1:return n=e.sent(),[4,z(t.rhs,r)];case 2:return i=e.sent(),[2,W(+n,+i+1)]}})}(t,r)]:[3,4];case 3:return[2,e.sent()];case 4:return[2]}})}function ar(e){return e.content}function ur(e,t){return!cr(e,t)}function cr(e,t){return t.opts.jsTruthy?!e:!1===e||null==e}qe={"==":lr,"!=":function(e,t){return!lr(e,t)},">":function(e,t){return f(e)?e.gt(t):f(t)?t.lt(e):m(e)>m(t)},"<":function(e,t){return f(e)?e.lt(t):f(t)?t.gt(e):m(e)=":function(e,t){return f(e)?e.geq(t):f(t)?t.leq(e):m(e)>=m(t)},"<=":function(e,t){return f(e)?e.leq(t):f(t)?t.geq(e):m(e)<=m(t)},contains:function(e,t){return b(e=m(e))?e.some(function(e){return lr(e,t)}):!!u(null==e?void 0:e.indexOf)&&-1this.limit&&this.remove(this.tail.prev.key)},fr);function fr(e,t){void 0===t&&(t=0),this.limit=e,this.size=t,this.cache={},this.head=new hr("HEAD",null,null,null),this.tail=new hr("TAIL",null,null,null),this.head.next=this.tail,this.tail.prev=this.head}function dr(e,t){var r=document.createElement("base"),e=(r.href=e,document.getElementsByTagName("head")[0]),n=(e.insertBefore(r,e.firstChild),document.createElement("a")),t=(n.href=t,n.href);return e.removeChild(r),t}i=Object.freeze({__proto__:null,resolve:function(e,t,i){return e.length&&"/"!==$(e)&&(e+="/"),dr(e,t).replace(/^(\w+:\/\/[^/]+)(\/[^?]+)/,function(e,t,r){var n=r.split("/").pop();return/\.\w+$/.test(n)?e:t+r+i})},readFile:function(n){return a(this,void 0,void 0,function(){return x(this,function(e){return[2,new Promise(function(e,t){var r=new XMLHttpRequest;r.onload=function(){200<=r.status&&r.status<300?e(r.responseText):t(new Error(r.statusText))},r.onerror=function(){t(new Error("An error occurred whilst receiving the response."))},r.open("GET",n),r.send()})]})})},readFileSync:function(e){var t=new XMLHttpRequest;if(t.open("GET",e,!1),t.send(),t.status<200||300<=t.status)throw new Error(t.statusText);return t.responseText},exists:function(e){return a(this,void 0,void 0,function(){return x(this,function(e){return[2,!0]})})},existsSync:function(e){return!0},dirname:function(e){return dr(e,".")},sep:"/"});function vr(e,t){return void 0===t&&(t=0),JSON.stringify(e,null,t)}var gr={default:function(e,t){for(var r=[],n=2;n":">",'"':""","'":"'"},mr={"&":"&","<":"<",">":">",""":'"',"'":"'"};function br(e){return g(e).replace(/&|<|>|"|'/g,function(e){return yr[e]})}var r=Object.freeze({__proto__:null,escape:br,xml_escape:br,escape_once:function(e){return br((e=g(e),g(e).replace(/&(amp|lt|gt|#34|#39);/g,function(e){return mr[e]})))},newline_to_br:function(e){return g(e).replace(/\r?\n/gm,"
\n")},strip_html:function(e){return g(e).replace(/
diff --git a/tutorials/contribution-guidelines.html b/tutorials/contribution-guidelines.html
index 8b6786c53..58a7a26a2 100644
--- a/tutorials/contribution-guidelines.html
+++ b/tutorials/contribution-guidelines.html
@@ -102,7 +102,7 @@
diff --git a/tutorials/differences.html b/tutorials/differences.html
index a61c31c2a..01e91dfff 100644
--- a/tutorials/differences.html
+++ b/tutorials/differences.html
@@ -126,7 +126,7 @@
diff --git a/tutorials/drops.html b/tutorials/drops.html
index f5f282b92..c7836f158 100644
--- a/tutorials/drops.html
+++ b/tutorials/drops.html
@@ -237,7 +237,7 @@ engine.parse
diff --git a/tutorials/escaping.html b/tutorials/escaping.html
index 7f222c278..938369825 100644
--- a/tutorials/escaping.html
+++ b/tutorials/escaping.html
@@ -135,7 +135,7 @@
diff --git a/tutorials/intro-to-liquid.html b/tutorials/intro-to-liquid.html
index 21e0c2e82..b6b42ded3 100644
--- a/tutorials/intro-to-liquid.html
+++ b/tutorials/intro-to-liquid.html
@@ -125,7 +125,7 @@
diff --git a/tutorials/migrate-to-9.html b/tutorials/migrate-to-9.html
index 652773293..e5273902f 100644
--- a/tutorials/migrate-to-9.html
+++ b/tutorials/migrate-to-9.html
@@ -116,7 +116,7 @@
diff --git a/tutorials/operators.html b/tutorials/operators.html
index 012bf1751..badc6cef3 100644
--- a/tutorials/operators.html
+++ b/tutorials/operators.html
@@ -106,7 +106,7 @@
diff --git a/tutorials/options.html b/tutorials/options.html
index cab8ed39c..0824a20a8 100644
--- a/tutorials/options.html
+++ b/tutorials/options.html
@@ -173,7 +173,7 @@
diff --git a/tutorials/parse-parameters.html b/tutorials/parse-parameters.html
index 4f3d30cab..5f69c69dc 100644
--- a/tutorials/parse-parameters.html
+++ b/tutorials/parse-parameters.html
@@ -161,7 +161,7 @@ engine.regis
diff --git a/tutorials/partials-and-layouts.html b/tutorials/partials-and-layouts.html
index f6dfdc360..4e1a36914 100644
--- a/tutorials/partials-and-layouts.html
+++ b/tutorials/partials-and-layouts.html
@@ -130,7 +130,7 @@ Footer
diff --git a/tutorials/plugins.html b/tutorials/plugins.html
index 5572c25eb..c99c4157b 100644
--- a/tutorials/plugins.html
+++ b/tutorials/plugins.html
@@ -121,7 +121,7 @@ engine
diff --git a/tutorials/register-filters-tags.html b/tutorials/register-filters-tags.html
index 1e91b07f3..2ad4e1a88 100644
--- a/tutorials/register-filters-tags.html
+++ b/tutorials/register-filters-tags.html
@@ -152,7 +152,7 @@ engine.regis
engine.registerFilter('plus', disabledFilter('plus'));
diff --git a/tutorials/render-file.html b/tutorials/render-file.html
index 028473124..98c2f28db 100644
--- a/tutorials/render-file.html
+++ b/tutorials/render-file.html
@@ -166,7 +166,7 @@ name: alice
diff --git a/tutorials/render-tag-content.html b/tutorials/render-tag-content.html
index 65ab90c11..7c16c5632 100644
--- a/tutorials/render-tag-content.html
+++ b/tutorials/render-tag-content.html
@@ -188,7 +188,7 @@
diff --git a/tutorials/setup.html b/tutorials/setup.html
index 896f35e10..05c3824e8 100644
--- a/tutorials/setup.html
+++ b/tutorials/setup.html
@@ -155,7 +155,7 @@ npx liquidjs --template
diff --git a/tutorials/sync-and-async.html b/tutorials/sync-and-async.html
index 8b700631e..15bacb9f5 100644
--- a/tutorials/sync-and-async.html
+++ b/tutorials/sync-and-async.html
@@ -180,7 +180,7 @@ engine.regis
diff --git a/tutorials/truthy-and-falsy.html b/tutorials/truthy-and-falsy.html
index ea56a14c8..190a45e5e 100644
--- a/tutorials/truthy-and-falsy.html
+++ b/tutorials/truthy-and-falsy.html
@@ -226,7 +226,7 @@
diff --git a/tutorials/use-in-expressjs.html b/tutorials/use-in-expressjs.html
index 09cc4551b..3264d4ff8 100644
--- a/tutorials/use-in-expressjs.html
+++ b/tutorials/use-in-expressjs.html
@@ -134,7 +134,7 @@ res.render
diff --git a/tutorials/whitespace-control.html b/tutorials/whitespace-control.html
index e147cbeb1..ef9c1d767 100644
--- a/tutorials/whitespace-control.html
+++ b/tutorials/whitespace-control.html
@@ -121,7 +121,7 @@ harttle
diff --git a/zh-cn/filters/abs.html b/zh-cn/filters/abs.html
index d70b180ff..2af7d2883 100644
--- a/zh-cn/filters/abs.html
+++ b/zh-cn/filters/abs.html
@@ -78,7 +78,7 @@
@@ -159,7 +159,7 @@
diff --git a/zh-cn/filters/append.html b/zh-cn/filters/append.html
index 069f216ca..e6617841a 100644
--- a/zh-cn/filters/append.html
+++ b/zh-cn/filters/append.html
@@ -78,7 +78,7 @@
@@ -112,7 +112,7 @@ website.com/index.html<
@@ -155,7 +155,7 @@ website.com/index.html<
diff --git a/zh-cn/filters/array_to_sentence_string.html b/zh-cn/filters/array_to_sentence_string.html
index 82199b361..2d293d821 100644
--- a/zh-cn/filters/array_to_sentence_string.html
+++ b/zh-cn/filters/array_to_sentence_string.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/at_least.html b/zh-cn/filters/at_least.html
index 9b98dd70d..2f282245d 100644
--- a/zh-cn/filters/at_least.html
+++ b/zh-cn/filters/at_least.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/at_most.html b/zh-cn/filters/at_most.html
index d8e632947..2281f5f20 100644
--- a/zh-cn/filters/at_most.html
+++ b/zh-cn/filters/at_most.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/capitalize.html b/zh-cn/filters/capitalize.html
index 21ad8e36c..47f8e6e46 100644
--- a/zh-cn/filters/capitalize.html
+++ b/zh-cn/filters/capitalize.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/zh-cn/filters/ceil.html b/zh-cn/filters/ceil.html
index 22f6e4357..5c2fa0de2 100644
--- a/zh-cn/filters/ceil.html
+++ b/zh-cn/filters/ceil.html
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
diff --git a/zh-cn/filters/cgi_escape.html b/zh-cn/filters/cgi_escape.html
index 50f783789..17ae99586 100644
--- a/zh-cn/filters/cgi_escape.html
+++ b/zh-cn/filters/cgi_escape.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/compact.html b/zh-cn/filters/compact.html
index 8e38f9836..34e1f2814 100644
--- a/zh-cn/filters/compact.html
+++ b/zh-cn/filters/compact.html
@@ -78,7 +78,7 @@
@@ -172,7 +172,7 @@
diff --git a/zh-cn/filters/concat.html b/zh-cn/filters/concat.html
index 34d081c95..3618ce366 100644
--- a/zh-cn/filters/concat.html
+++ b/zh-cn/filters/concat.html
@@ -78,7 +78,7 @@
@@ -179,7 +179,7 @@
diff --git a/zh-cn/filters/date.html b/zh-cn/filters/date.html
index bed5e889c..352671487 100644
--- a/zh-cn/filters/date.html
+++ b/zh-cn/filters/date.html
@@ -78,7 +78,7 @@
@@ -197,7 +197,7 @@
diff --git a/zh-cn/filters/date_to_long_string.html b/zh-cn/filters/date_to_long_string.html
index 432755322..7ed2964ed 100644
--- a/zh-cn/filters/date_to_long_string.html
+++ b/zh-cn/filters/date_to_long_string.html
@@ -78,7 +78,7 @@
@@ -155,7 +155,7 @@
diff --git a/zh-cn/filters/date_to_rfc822.html b/zh-cn/filters/date_to_rfc822.html
index 40b591b8c..2557de6f5 100644
--- a/zh-cn/filters/date_to_rfc822.html
+++ b/zh-cn/filters/date_to_rfc822.html
@@ -78,7 +78,7 @@
@@ -148,7 +148,7 @@
diff --git a/zh-cn/filters/date_to_string.html b/zh-cn/filters/date_to_string.html
index cb435958f..4f223997c 100644
--- a/zh-cn/filters/date_to_string.html
+++ b/zh-cn/filters/date_to_string.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/zh-cn/filters/date_to_xmlschema.html b/zh-cn/filters/date_to_xmlschema.html
index 68b71b941..1decaf952 100644
--- a/zh-cn/filters/date_to_xmlschema.html
+++ b/zh-cn/filters/date_to_xmlschema.html
@@ -78,7 +78,7 @@
@@ -148,7 +148,7 @@
diff --git a/zh-cn/filters/default.html b/zh-cn/filters/default.html
index a18b90a25..c36fdb044 100644
--- a/zh-cn/filters/default.html
+++ b/zh-cn/filters/default.html
@@ -78,7 +78,7 @@
@@ -173,7 +173,7 @@
diff --git a/zh-cn/filters/divided_by.html b/zh-cn/filters/divided_by.html
index 982de4f18..1ea2f7ec6 100644
--- a/zh-cn/filters/divided_by.html
+++ b/zh-cn/filters/divided_by.html
@@ -78,7 +78,7 @@
@@ -164,7 +164,7 @@
diff --git a/zh-cn/filters/downcase.html b/zh-cn/filters/downcase.html
index 622602b35..69a610467 100644
--- a/zh-cn/filters/downcase.html
+++ b/zh-cn/filters/downcase.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/escape.html b/zh-cn/filters/escape.html
index 45601d034..18fb4e5f9 100644
--- a/zh-cn/filters/escape.html
+++ b/zh-cn/filters/escape.html
@@ -78,7 +78,7 @@
@@ -111,7 +111,7 @@ Have you read 'James & the Giant Peach'?
@@ -154,7 +154,7 @@ Have you read 'James & the Giant Peach'?
diff --git a/zh-cn/filters/escape_once.html b/zh-cn/filters/escape_once.html
index a199bc904..1edaf9b75 100644
--- a/zh-cn/filters/escape_once.html
+++ b/zh-cn/filters/escape_once.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/find.html b/zh-cn/filters/find.html
index c4515158d..74e3eaa85 100644
--- a/zh-cn/filters/find.html
+++ b/zh-cn/filters/find.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/find_exp.html b/zh-cn/filters/find_exp.html
index 0764dcdd4..c439c4bdd 100644
--- a/zh-cn/filters/find_exp.html
+++ b/zh-cn/filters/find_exp.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/first.html b/zh-cn/filters/first.html
index 12ae80d25..f2bc7410d 100644
--- a/zh-cn/filters/first.html
+++ b/zh-cn/filters/first.html
@@ -78,7 +78,7 @@
@@ -116,7 +116,7 @@ zebra
@@ -159,7 +159,7 @@ zebra
diff --git a/zh-cn/filters/floor.html b/zh-cn/filters/floor.html
index 7479fb297..755b85ec7 100644
--- a/zh-cn/filters/floor.html
+++ b/zh-cn/filters/floor.html
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
diff --git a/zh-cn/filters/group_by.html b/zh-cn/filters/group_by.html
index f88d73baf..dd10f2fc5 100644
--- a/zh-cn/filters/group_by.html
+++ b/zh-cn/filters/group_by.html
@@ -78,7 +78,7 @@
@@ -175,7 +175,7 @@
diff --git a/zh-cn/filters/group_by_exp.html b/zh-cn/filters/group_by_exp.html
index fc52fcd74..1f3a416d0 100644
--- a/zh-cn/filters/group_by_exp.html
+++ b/zh-cn/filters/group_by_exp.html
@@ -78,7 +78,7 @@
@@ -175,7 +175,7 @@
diff --git a/zh-cn/filters/inspect.html b/zh-cn/filters/inspect.html
index 91f25dd8e..41aab286d 100644
--- a/zh-cn/filters/inspect.html
+++ b/zh-cn/filters/inspect.html
@@ -78,7 +78,7 @@
@@ -119,7 +119,7 @@ const scope = { foo }
@@ -162,7 +162,7 @@ const scope = { foo }
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/join.html b/zh-cn/filters/join.html
index d06dff45b..70a34a174 100644
--- a/zh-cn/filters/join.html
+++ b/zh-cn/filters/join.html
@@ -78,7 +78,7 @@
@@ -105,7 +105,7 @@ John and Paul and George and Ringo
@@ -148,7 +148,7 @@ John and Paul and George and Ringo
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/json.html b/zh-cn/filters/json.html
index 0741b83a7..e1ba8ed1f 100644
--- a/zh-cn/filters/json.html
+++ b/zh-cn/filters/json.html
@@ -78,7 +78,7 @@
@@ -161,7 +161,7 @@
diff --git a/zh-cn/filters/jsonify.html b/zh-cn/filters/jsonify.html
index ec1fab804..8292dbcc2 100644
--- a/zh-cn/filters/jsonify.html
+++ b/zh-cn/filters/jsonify.html
@@ -78,7 +78,7 @@
@@ -141,7 +141,7 @@
diff --git a/zh-cn/filters/last.html b/zh-cn/filters/last.html
index 60485e0d3..464db8443 100644
--- a/zh-cn/filters/last.html
+++ b/zh-cn/filters/last.html
@@ -78,7 +78,7 @@
@@ -116,7 +116,7 @@ tiger
@@ -159,7 +159,7 @@ tiger
diff --git a/zh-cn/filters/lstrip.html b/zh-cn/filters/lstrip.html
index e7fe38a70..6da517b96 100644
--- a/zh-cn/filters/lstrip.html
+++ b/zh-cn/filters/lstrip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/map.html b/zh-cn/filters/map.html
index 04b1315ee..c1677a044 100644
--- a/zh-cn/filters/map.html
+++ b/zh-cn/filters/map.html
@@ -78,7 +78,7 @@
@@ -155,7 +155,7 @@
diff --git a/zh-cn/filters/minus.html b/zh-cn/filters/minus.html
index 3c13fd3e9..1a7286285 100644
--- a/zh-cn/filters/minus.html
+++ b/zh-cn/filters/minus.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/modulo.html b/zh-cn/filters/modulo.html
index 742b5a5e4..a996c21e1 100644
--- a/zh-cn/filters/modulo.html
+++ b/zh-cn/filters/modulo.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/newline_to_br.html b/zh-cn/filters/newline_to_br.html
index 7e21e07ec..1a13d01f2 100644
--- a/zh-cn/filters/newline_to_br.html
+++ b/zh-cn/filters/newline_to_br.html
@@ -78,7 +78,7 @@
@@ -109,7 +109,7 @@ there
@@ -152,7 +152,7 @@ there
diff --git a/zh-cn/filters/normalize_whitespace.html b/zh-cn/filters/normalize_whitespace.html
index 936a7c752..c3bb1d481 100644
--- a/zh-cn/filters/normalize_whitespace.html
+++ b/zh-cn/filters/normalize_whitespace.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/number_of_words.html b/zh-cn/filters/number_of_words.html
index 073bf5289..e8d24714a 100644
--- a/zh-cn/filters/number_of_words.html
+++ b/zh-cn/filters/number_of_words.html
@@ -78,7 +78,7 @@
@@ -168,7 +168,7 @@
diff --git a/zh-cn/filters/overview.html b/zh-cn/filters/overview.html
index bd5a98ad5..db2abc1b0 100644
--- a/zh-cn/filters/overview.html
+++ b/zh-cn/filters/overview.html
@@ -78,7 +78,7 @@
| HTML/URI |
-escape, escape_once, url_encode, url_decode, strip_html, newline_to_br, xml_escape, cgi_escape, uri_escape |
+escape, escape_once, url_encode, url_decode, strip_html, newline_to_br, xml_escape, cgi_escape, uri_escape, slugify |
| 数组 |
@@ -129,7 +129,7 @@
@@ -172,7 +172,7 @@
diff --git a/zh-cn/filters/plus.html b/zh-cn/filters/plus.html
index ad336eb97..173544a83 100644
--- a/zh-cn/filters/plus.html
+++ b/zh-cn/filters/plus.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/pop.html b/zh-cn/filters/pop.html
index f5c3ee843..806630be5 100644
--- a/zh-cn/filters/pop.html
+++ b/zh-cn/filters/pop.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/zh-cn/filters/prepend.html b/zh-cn/filters/prepend.html
index 1bc029183..ca16815a4 100644
--- a/zh-cn/filters/prepend.html
+++ b/zh-cn/filters/prepend.html
@@ -78,7 +78,7 @@
@@ -112,7 +112,7 @@ example.com/index.html<
@@ -155,7 +155,7 @@ example.com/index.html<
diff --git a/zh-cn/filters/push.html b/zh-cn/filters/push.html
index 0767b6711..1e24e4f34 100644
--- a/zh-cn/filters/push.html
+++ b/zh-cn/filters/push.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/zh-cn/filters/raw.html b/zh-cn/filters/raw.html
index 0ad29ba68..eaf2269b4 100644
--- a/zh-cn/filters/raw.html
+++ b/zh-cn/filters/raw.html
@@ -78,7 +78,7 @@
@@ -168,7 +168,7 @@
diff --git a/zh-cn/filters/remove.html b/zh-cn/filters/remove.html
index 222e8000c..a6a2bcfef 100644
--- a/zh-cn/filters/remove.html
+++ b/zh-cn/filters/remove.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/remove_first.html b/zh-cn/filters/remove_first.html
index 52c61325f..3c2c7e9a4 100644
--- a/zh-cn/filters/remove_first.html
+++ b/zh-cn/filters/remove_first.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/remove_last.html b/zh-cn/filters/remove_last.html
index 3e7834e9b..2e4f2fb6a 100644
--- a/zh-cn/filters/remove_last.html
+++ b/zh-cn/filters/remove_last.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/replace.html b/zh-cn/filters/replace.html
index fefa73f57..d5ef4528c 100644
--- a/zh-cn/filters/replace.html
+++ b/zh-cn/filters/replace.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/replace_first.html b/zh-cn/filters/replace_first.html
index cf2d8a5bf..dd2a803e0 100644
--- a/zh-cn/filters/replace_first.html
+++ b/zh-cn/filters/replace_first.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/replace_last.html b/zh-cn/filters/replace_last.html
index f696d7ed9..f1b7b269d 100644
--- a/zh-cn/filters/replace_last.html
+++ b/zh-cn/filters/replace_last.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/reverse.html b/zh-cn/filters/reverse.html
index d6cfdb72d..9ea1e7e99 100644
--- a/zh-cn/filters/reverse.html
+++ b/zh-cn/filters/reverse.html
@@ -78,7 +78,7 @@
@@ -114,7 +114,7 @@ plums, peaches, oranges, apples
@@ -157,7 +157,7 @@ plums, peaches, oranges, apples
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/round.html b/zh-cn/filters/round.html
index ccfc58a2c..d92195e01 100644
--- a/zh-cn/filters/round.html
+++ b/zh-cn/filters/round.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/rstrip.html b/zh-cn/filters/rstrip.html
index 7d6026d94..070d6e867 100644
--- a/zh-cn/filters/rstrip.html
+++ b/zh-cn/filters/rstrip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/shift.html b/zh-cn/filters/shift.html
index a22765a56..8230cf4fa 100644
--- a/zh-cn/filters/shift.html
+++ b/zh-cn/filters/shift.html
@@ -78,7 +78,7 @@
@@ -153,7 +153,7 @@
diff --git a/zh-cn/filters/size.html b/zh-cn/filters/size.html
index f753b9e74..50dbcac60 100644
--- a/zh-cn/filters/size.html
+++ b/zh-cn/filters/size.html
@@ -78,7 +78,7 @@
@@ -161,7 +161,7 @@
diff --git a/zh-cn/filters/slice.html b/zh-cn/filters/slice.html
index 2681d7773..62f55ddb5 100644
--- a/zh-cn/filters/slice.html
+++ b/zh-cn/filters/slice.html
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
diff --git a/zh-cn/filters/slugify.html b/zh-cn/filters/slugify.html
new file mode 100644
index 000000000..e0578c86b
--- /dev/null
+++ b/zh-cn/filters/slugify.html
@@ -0,0 +1,214 @@
+
+
+
+
+ slugify | LiquidJS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
将字符串转换为小写的 URL “slug”。slugify 过滤器接受两个选项:
+
+mode: string。默认为"default",它可选的值如下:
+"none":没有字符
+"raw":空格
+"default":空格和非字母数字字符
+"pretty":空格和非字母数字字符,但排除 ._~!$&'()+,;=@
+"ascii":空格、非字母数字和非 ASCII 字符
+"latin":与默认相同,但拉丁字符首先进行音译(例如,àèïòü 转换为 aeiou)。
+
+
+case: boolean。默认为 false。如果为 true,则保留 slug 原本的大小写。
+
+
输入
+
{{ "The _config.yml file" | slugify }}
+
输出
+
the-config-yml-file
+
+
输入
+
{{ "The _config.yml file" | slugify: "pretty" }}
+
输出
+
the-_config.yml-file
+
+
输入
+
{{ "The _cönfig.yml file" | slugify: "ascii" }}
+
输出
+
the-c-nfig-yml-file
+
+
输入
+
{{ "The cönfig.yml file" | slugify: "latin" }}
+
输出
+
the-config-yml-file
+
+
输入
+
{{ "The cönfig.yml file" | slugify: "latin", true }}
+
输出
+
The-config-yml-file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zh-cn/filters/sort.html b/zh-cn/filters/sort.html
index c788bd526..df18db86e 100644
--- a/zh-cn/filters/sort.html
+++ b/zh-cn/filters/sort.html
@@ -78,7 +78,7 @@
@@ -113,8 +113,8 @@ Sally Snake, giraffe, octopus, zebra
@@ -156,7 +156,7 @@ Sally Snake, giraffe, octopus, zebra
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/sort_natural.html b/zh-cn/filters/sort_natural.html
index 87b536510..02bcb359f 100644
--- a/zh-cn/filters/sort_natural.html
+++ b/zh-cn/filters/sort_natural.html
@@ -78,7 +78,7 @@
@@ -113,7 +113,7 @@ giraffe, octopus, Sally Snake, zebra
@@ -156,7 +156,7 @@ giraffe, octopus, Sally Snake, zebra
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/split.html b/zh-cn/filters/split.html
index 66ce3c2b1..2694e09c8 100644
--- a/zh-cn/filters/split.html
+++ b/zh-cn/filters/split.html
@@ -78,7 +78,7 @@
@@ -117,7 +117,7 @@ Ringo
@@ -160,7 +160,7 @@ Ringo
diff --git a/zh-cn/filters/strip.html b/zh-cn/filters/strip.html
index 28e0f6e3b..4fa19d9a6 100644
--- a/zh-cn/filters/strip.html
+++ b/zh-cn/filters/strip.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/strip_html.html b/zh-cn/filters/strip_html.html
index f861d4470..2ead2a69a 100644
--- a/zh-cn/filters/strip_html.html
+++ b/zh-cn/filters/strip_html.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/strip_newlines.html b/zh-cn/filters/strip_newlines.html
index 662b8594b..207091b64 100644
--- a/zh-cn/filters/strip_newlines.html
+++ b/zh-cn/filters/strip_newlines.html
@@ -78,7 +78,7 @@
@@ -109,7 +109,7 @@ Hellothere
@@ -152,7 +152,7 @@ Hellothere
diff --git a/zh-cn/filters/times.html b/zh-cn/filters/times.html
index f68d56f55..d136a129b 100644
--- a/zh-cn/filters/times.html
+++ b/zh-cn/filters/times.html
@@ -78,7 +78,7 @@
@@ -158,7 +158,7 @@
diff --git a/zh-cn/filters/to_integer.html b/zh-cn/filters/to_integer.html
index 09d416a8f..f1d483fa1 100644
--- a/zh-cn/filters/to_integer.html
+++ b/zh-cn/filters/to_integer.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/truncate.html b/zh-cn/filters/truncate.html
index 7eced62a9..48c30e608 100644
--- a/zh-cn/filters/truncate.html
+++ b/zh-cn/filters/truncate.html
@@ -78,7 +78,7 @@
@@ -160,7 +160,7 @@
diff --git a/zh-cn/filters/truncatewords.html b/zh-cn/filters/truncatewords.html
index 0c03f9f89..1aaa0b550 100644
--- a/zh-cn/filters/truncatewords.html
+++ b/zh-cn/filters/truncatewords.html
@@ -78,7 +78,7 @@
@@ -160,7 +160,7 @@
diff --git a/zh-cn/filters/uniq.html b/zh-cn/filters/uniq.html
index e9a00b2ea..6823d410b 100644
--- a/zh-cn/filters/uniq.html
+++ b/zh-cn/filters/uniq.html
@@ -78,7 +78,7 @@
@@ -105,7 +105,7 @@ ants, bugs, bees```
@@ -148,7 +148,7 @@ ants, bugs, bees```
diff --git a/zh-cn/filters/unshift.html b/zh-cn/filters/unshift.html
index f11a7f82d..8a66056e9 100644
--- a/zh-cn/filters/unshift.html
+++ b/zh-cn/filters/unshift.html
@@ -78,7 +78,7 @@
@@ -154,7 +154,7 @@
diff --git a/zh-cn/filters/upcase.html b/zh-cn/filters/upcase.html
index 265d8dcfc..dc56efddf 100644
--- a/zh-cn/filters/upcase.html
+++ b/zh-cn/filters/upcase.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/uri_escape.html b/zh-cn/filters/uri_escape.html
index a43ca425c..03fe6f645 100644
--- a/zh-cn/filters/uri_escape.html
+++ b/zh-cn/filters/uri_escape.html
@@ -78,7 +78,7 @@
@@ -147,7 +147,7 @@
diff --git a/zh-cn/filters/url_decode.html b/zh-cn/filters/url_decode.html
index c37806e20..e9fa8fb01 100644
--- a/zh-cn/filters/url_decode.html
+++ b/zh-cn/filters/url_decode.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/filters/url_encode.html b/zh-cn/filters/url_encode.html
index 0dd50ed56..ac98d98b0 100644
--- a/zh-cn/filters/url_encode.html
+++ b/zh-cn/filters/url_encode.html
@@ -78,7 +78,7 @@
@@ -152,7 +152,7 @@
diff --git a/zh-cn/filters/where.html b/zh-cn/filters/where.html
index dac82047f..cb38f9228 100644
--- a/zh-cn/filters/where.html
+++ b/zh-cn/filters/where.html
@@ -78,7 +78,7 @@
@@ -174,7 +174,7 @@ Featured product:
@@ -217,7 +217,7 @@ Featured product:
- 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizeslicesortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
+ 概述absappendarray_to_sentence_stringat_leastat_mostcapitalizeceilcgi_escapecompactconcatdatedate_to_long_stringdate_to_rfc822date_to_stringdate_to_xmlschemadefaultdivided_bydowncaseescapeescape_oncefindfind_expfirstfloorgroup_bygroup_by_expinspectjoinjsonjsonifylastlstripmapminusmodulonewline_to_brnormalize_whitespacenumber_of_wordspluspoppushprependrawremoveremove_firstremove_lastreplacereplace_firstreplace_lastreverseroundrstripshiftsizesliceslugifysortsort_naturalsplitstripstrip_htmlstrip_newlinessumtimesto_integertruncatetruncatewordsuniqunshiftupcaseuri_escapeurl_decodeurl_encodewherewhere_expxml_escape
diff --git a/zh-cn/filters/where_exp.html b/zh-cn/filters/where_exp.html
index b6a7d5c2d..f6a1f3a83 100644
--- a/zh-cn/filters/where_exp.html
+++ b/zh-cn/filters/where_exp.html
@@ -78,7 +78,7 @@
@@ -122,7 +122,7 @@ Kitchen products:
@@ -165,7 +165,7 @@ Kitchen products:
diff --git a/zh-cn/filters/xml_escape.html b/zh-cn/filters/xml_escape.html
index b7fe62551..fdf58e27e 100644
--- a/zh-cn/filters/xml_escape.html
+++ b/zh-cn/filters/xml_escape.html
@@ -78,7 +78,7 @@
@@ -146,7 +146,7 @@
diff --git a/zh-cn/tags/assign.html b/zh-cn/tags/assign.html
index 96004fc05..a8f6a8903 100644
--- a/zh-cn/tags/assign.html
+++ b/zh-cn/tags/assign.html
@@ -114,7 +114,7 @@
diff --git a/zh-cn/tags/capture.html b/zh-cn/tags/capture.html
index 8373cb265..018172597 100644
--- a/zh-cn/tags/capture.html
+++ b/zh-cn/tags/capture.html
@@ -118,7 +118,7 @@ I am