├── .gitignore ├── layouts ├── shortcodes │ └── rawhtml.html ├── _default │ ├── section.html │ ├── home.html │ ├── single.html │ └── baseof.html ├── partials │ ├── analytics.html │ ├── algolia.html │ └── nav.html └── 404.html ├── .netlify └── state.json ├── static ├── favicon.ico ├── images │ ├── header.jpg │ ├── package-training.jpg │ └── mailcoach.svg ├── svg │ ├── github.svg │ └── spatie.svg ├── css │ └── docs.css └── js │ └── docs.js ├── config.toml ├── .editorconfig ├── LICENSE.md ├── CONTRIBUTING.md ├── fetch-content.js ├── README.md ├── netlify.toml └── repositories.json /.gitignore: -------------------------------------------------------------------------------- 1 | content 2 | public 3 | resources 4 | -------------------------------------------------------------------------------- /layouts/shortcodes/rawhtml.html: -------------------------------------------------------------------------------- 1 | 2 | {{.Inner}} -------------------------------------------------------------------------------- /.netlify/state.json: -------------------------------------------------------------------------------- 1 | { 2 | "siteId": "19967bce-019f-4ab6-b662-2a8b46fc6e9c" 3 | } -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spatie/docs.spatie.be/master/static/favicon.ico -------------------------------------------------------------------------------- /static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spatie/docs.spatie.be/master/static/images/header.jpg -------------------------------------------------------------------------------- /static/images/package-training.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spatie/docs.spatie.be/master/static/images/package-training.jpg -------------------------------------------------------------------------------- /config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "http://hugo.docs.spatie.be.test/" 2 | languageCode = "en-us" 3 | title = "Spatie Docs" 4 | 5 | pluralizelisttitles = false 6 | disableKinds = ["taxonomy", "taxonomyTerm", "RSS"] 7 | -------------------------------------------------------------------------------- /layouts/_default/section.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | {{ partial "nav.html" . }} 4 |
5 |
6 |

{{ .Title }}

7 | {{ .Content }} 8 |
9 |
10 |
11 | {{ end }} 12 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [package.json] 15 | indent_size = 2 16 | 17 | [*.md] 18 | trim_trailing_whitespace = false 19 | -------------------------------------------------------------------------------- /layouts/partials/analytics.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/algolia.html: -------------------------------------------------------------------------------- 1 | {{ $package := .FirstSection.Title }} 2 | {{ $version := "" }} 3 | {{ range .FirstSection.Sections }} 4 | {{ if .IsAncestor $.Page }} 5 | {{ $version = .Title }} 6 | {{ end }} 7 | {{ end }} 8 | 9 | 10 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Docs not found

6 | 7 |
8 |

We know nothing about — or it has yet to be written.
9 | Help us out on Github if you know more. 10 |

11 |
12 |
13 |

What do we know? Look at all our sections here

14 | 15 |
16 |

Find even more Open Source projects on our website.

17 |
18 |
19 |
20 | 21 | 24 | {{ end }} 25 | -------------------------------------------------------------------------------- /layouts/_default/home.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Overview

6 | 7 | {{ range .Site.Sections.GroupByParam "category" }} 8 |

{{ .Key }}

9 | {{ range .Pages }} 10 | {{ $section := index (last 1 .FirstSection.Sections) 0 }} 11 | {{ $page := index ($section.Pages) 0 }} 12 | {{ if $page }} 13 |

{{ .Title }}

14 | {{ else }} 15 |

{{ .Title }}

16 | {{ end }} 17 |

{{ $section.Param "slogan" }}

18 | {{ end }} 19 | {{ end }} 20 | 21 |
22 |

Find even more Open Source projects on our website.

23 |
24 |
25 |
26 | {{ end }} 27 | -------------------------------------------------------------------------------- /static/svg/github.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | 3 | Copyright (c) Spatie bvba 4 | 5 | > Permission is hereby granted, free of charge, to any person obtaining a copy 6 | > of this software and associated documentation files (the "Software"), to deal 7 | > in the Software without restriction, including without limitation the rights 8 | > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | > copies of the Software, and to permit persons to whom the Software is 10 | > furnished to do so, subject to the following conditions: 11 | > 12 | > The above copyright notice and this permission notice shall be included in 13 | > all copies or substantial portions of the Software. 14 | > 15 | > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | > THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Contributions are **welcome** and will be fully **credited**. 4 | 5 | We accept contributions via Pull Requests on [Github](https://github.com/spatie/docs.spatie.be). 6 | 7 | ## Pull Requests 8 | 9 | - **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer). 10 | 11 | - **Add tests!** - Your patch won't be accepted if it doesn't have tests. 12 | 13 | - **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date. 14 | 15 | - **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option. 16 | 17 | - **Create feature branches** - Don't ask us to pull from your master branch. 18 | 19 | - **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. 20 | 21 | - **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting. 22 | 23 | 24 | ## Running Tests 25 | 26 | ``` bash 27 | $ composer test 28 | ``` 29 | 30 | 31 | **Happy coding**! 32 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | {{ partial "nav.html" . }} 4 |
5 |
6 |

{{ .Title }}

7 | {{- with .Content -}} 8 |
9 | {{ . | replaceRE "()(.*)()" `${1}${3} ${4}` | safeHTML }} 10 |
11 | {{- end -}} 12 | 13 | 23 |
24 | {{ if .File }} 25 |
26 | {{ $path := replace (path.Base .File.Dir) ($.Scratch.Get "branch") "" }} 27 | {{ $path := replace $path ($.Scratch.Get "version") "" }} 28 | Edit on {{ readFile "static/svg/github.svg" | safeHTML }} 29 |
30 | {{ end }} 31 |
32 |
33 | {{ end }} 34 | -------------------------------------------------------------------------------- /fetch-content.js: -------------------------------------------------------------------------------- 1 | const util = require("util"); 2 | const exec = util.promisify(require("child_process").exec); 3 | console.log('Fetching repositories...'); 4 | console.time('Fetched repositories'); 5 | 6 | const repositories = require("./repositories.json"); 7 | 8 | function transformBranchToFolderName(branch) { 9 | return branch.startsWith('v') ? branch.substring(1) : branch; 10 | } 11 | 12 | (async function () { 13 | let promises = []; 14 | await exec("rm -rf temp && rm -rf content/*"); 15 | 16 | for (const repository of repositories) { 17 | for (const [branch, alias] of Object.entries(repository.branches)) { 18 | promises.push(exec(`mkdir -p content/${repository.name}/${alias} \ 19 | && mkdir -p temp/${repository.name}/${alias} \ 20 | && cd temp/${repository.name}/${alias} \ 21 | && git init \ 22 | && git config core.sparseCheckout true \ 23 | && echo "/docs" >> .git/info/sparse-checkout \ 24 | && git remote add -f origin https://${process.env.ACCESS_TOKEN}@github.com/spatie/${repository.name}.git \ 25 | && git pull origin ${branch} \ 26 | && cp -r docs/* ../../../content/${repository.name}/${alias} \ 27 | && echo "---\ntitle: ${repository.name}\ncategory: ${repository.category}\n---" > ../../../content/${repository.name}/_index.md`)); 28 | } 29 | } 30 | 31 | await Promise.all(promises) 32 | .catch(error => { 33 | console.log(error); 34 | }) 35 | .finally(() => { 36 | exec("rm -rf temp"); 37 | }); 38 | console.timeEnd('Fetched repositories'); 39 | })(); 40 | -------------------------------------------------------------------------------- /static/svg/spatie.svg: -------------------------------------------------------------------------------- 1 | 2 | spatie 3 | 12 | 14 | 16 | 18 | 20 | 21 | 22 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## THIS REPO IS NOT USED ANYMORE, DOCS NOW LIVE AT spatie/spatie.be 2 | 3 | # Spatie docs 4 | 5 | [![Netlify Status](https://api.netlify.com/api/v1/badges/855d0daf-00d9-4dcb-8fca-66f51c48edee/deploy-status)](https://app.netlify.com/sites/docs-spatie/deploys) 6 | 7 | This repository contains the Hugo configuration of the docs site. The application is automatically deployed to https://docs.spatie.be 8 | 9 | ## Support us 10 | 11 | [](https://spatie.be/github-ad-click/docs.spatie.be) 12 | 13 | We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us). 14 | 15 | We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards). 16 | 17 | ## Installation 18 | 19 | First ensure that Hugo is installed on your system. 20 | 21 | ``` 22 | brew install hugo 23 | ``` 24 | 25 | Node.js is also a requirement. You can download node.js from [nodejs.org](https://nodejs.org/en/). 26 | 27 | Next, fetch the content from our package repositories. You only need to run this step once. 28 | 29 | ``` 30 | node fetch-content.js 31 | ``` 32 | 33 | Now the site can be built with Hugo. During development, you can have Hugo spin up a local webserver and watch for changes. 34 | 35 | ``` 36 | hugo server 37 | ``` 38 | 39 | ## Contributing 40 | 41 | Please see [CONTRIBUTING](CONTRIBUTING.md) for details. 42 | 43 | ### Security 44 | 45 | If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker. 46 | 47 | ## Credits 48 | 49 | - [Sebastian De Deyne](https://github.com/sebastiandedeyne) 50 | - [Rias Van der Veken](https://github.com/riasvdv) 51 | - [All Contributors](../../contributors) 52 | 53 | ## About Spatie 54 | 55 | Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects [on our website](https://spatie.be/opensource). 56 | 57 | ## License 58 | 59 | The MIT License (MIT). Please see [License File](LICENSE.md) for more information. 60 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | command = "node fetch-content.js && hugo -b https://docs.spatie.be" 3 | publish = "public" 4 | 5 | [context.production.environment] 6 | HUGO_VERSION = "0.55.5" 7 | HUGO_ENV = "production" 8 | 9 | [[redirects]] 10 | from = "https://docs-spatie.netlify.com/*" 11 | to = "https://docs.spatie.be/:splat" 12 | status = 301 13 | force = true 14 | 15 | [[redirects]] 16 | from = "/laravel-backup/" 17 | to = "/laravel-backup/v6/introduction" 18 | status = 301 19 | force = true 20 | 21 | [[redirects]] 22 | from = "/laravel-backup-server/" 23 | to = "/laravel-backup-server/v1/introduction" 24 | status = 301 25 | force = true 26 | 27 | [[redirects]] 28 | from = "/laravel-medialibrary/" 29 | to = "/laravel-medialibrary/v8/introduction" 30 | status = 301 31 | force = true 32 | 33 | [[redirects]] 34 | from = "/laravel-blade-x/" 35 | to = "/laravel-blade-x/v2/introduction" 36 | status = 301 37 | force = true 38 | 39 | [[redirects]] 40 | from = "/laravel-tags/" 41 | to = "/laravel-tags/v2/introduction" 42 | status = 301 43 | force = true 44 | 45 | [[redirects]] 46 | from = "/laravel-event-projector/" 47 | to = "/laravel-event-projector/v2/introduction" 48 | status = 301 49 | force = true 50 | 51 | [[redirects]] 52 | from = "/laravel-activitylog/" 53 | to = "/laravel-activitylog/v3/introduction" 54 | status = 301 55 | force = true 56 | 57 | [[redirects]] 58 | from = "/laravel-html/" 59 | to = "/laravel-html/v2/introduction" 60 | status = 301 61 | force = true 62 | 63 | [[redirects]] 64 | from = "/laravel-server-monitor/" 65 | to = "/laravel-server-monitor/v1/introduction" 66 | status = 301 67 | force = true 68 | 69 | [[redirects]] 70 | from = "/laravel-uptime-monitor/" 71 | to = "/laravel-uptime-monitor/v3/introduction" 72 | status = 301 73 | force = true 74 | 75 | [[redirects]] 76 | from = "/laravel-slack-slash-command/" 77 | to = "/laravel-slack-slash-command/v1/introduction" 78 | status = 301 79 | force = true 80 | 81 | [[redirects]] 82 | from = "/menu/" 83 | to = "/menu/v2/introduction" 84 | status = 301 85 | force = true 86 | 87 | [[redirects]] 88 | from = "/image/" 89 | to = "/image/v1/introduction" 90 | status = 301 91 | force = true 92 | 93 | [[redirects]] 94 | from = "/enum/" 95 | to = "/enum/v2/introduction" 96 | status = 301 97 | force = true 98 | 99 | [[redirects]] 100 | from = "/laravel-resource-links/" 101 | to = "/laravel-resource-links/v1/introduction" 102 | status = 301 103 | force = true 104 | 105 | [[redirects]] 106 | from = "/laravel-dashboard/" 107 | to = "/laravel-dashboard/v1/introduction" 108 | status = 301 109 | force = true 110 | 111 | [[redirects]] 112 | from = "/laravel-multitenancy/" 113 | to = "/laravel-multitenancy/v1/introduction" 114 | status = 301 115 | force = true 116 | 117 | [[redirects]] 118 | from = "/typescript-transformer/" 119 | to = "/typescript-transformer/v1/introduction" 120 | status = 301 121 | force = true 122 | -------------------------------------------------------------------------------- /layouts/partials/nav.html: -------------------------------------------------------------------------------- 1 | {{ $package := .FirstSection.Title }} 2 | {{ $version := "" }} 3 | {{ range .FirstSection.Sections }} 4 | {{ if .IsAncestor $.Page }} 5 | {{ $version = .Title }} 6 | {{ end }} 7 | {{ end }} 8 | 9 | {{ range .Site.Sections.ByTitle }} 10 | {{ if eq .Title $package }} 11 | {{ range .Sections.ByWeight }} 12 | {{ if and (eq .Title $version) (gt (len .Pages) 1) }} 13 |
14 | 57 | 58 |
59 | {{ end }} 60 | {{ end }} 61 | {{ end }} 62 | {{ end }} 63 | -------------------------------------------------------------------------------- /repositories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "laravel-backup", 4 | "repository": "spatie/laravel-backup", 5 | "branches": { 6 | "master": "v6", 7 | "v5": "v5", 8 | "v4": "v4", 9 | "v3": "v3" 10 | }, 11 | "category": "Laravel" 12 | }, 13 | { 14 | "name": "laravel-medialibrary", 15 | "repository": "spatie/laravel-medialibrary", 16 | "branches": { 17 | "master": "v8", 18 | "v7": "v7", 19 | "v6": "v6", 20 | "v5": "v5", 21 | "v4": "v4", 22 | "v3": "v3" 23 | }, 24 | "category": "Laravel" 25 | }, 26 | { 27 | "name": "laravel-blade-x", 28 | "repository": "spatie/laravel-blade-x", 29 | "branches": { 30 | "master": "v2" 31 | }, 32 | "category": "Laravel" 33 | }, 34 | { 35 | "name": "laravel-tags", 36 | "repository": "spatie/laravel-tags", 37 | "branches": { 38 | "master": "v2", 39 | "v1": "v1" 40 | }, 41 | "category": "Laravel" 42 | }, 43 | { 44 | "name": "laravel-activitylog", 45 | "repository": "spatie/laravel-activitylog", 46 | "branches": { 47 | "master": "v3", 48 | "v2": "v2", 49 | "v1": "v1" 50 | }, 51 | "category": "Laravel" 52 | }, 53 | { 54 | "name": "laravel-html", 55 | "repository": "spatie/laravel-html", 56 | "branches": { 57 | "master": "v2", 58 | "v1": "v1" 59 | }, 60 | "category": "Laravel" 61 | }, 62 | { 63 | "name": "laravel-server-monitor", 64 | "repository": "spatie/laravel-server-monitor", 65 | "branches": { 66 | "master": "v1" 67 | }, 68 | "category": "Laravel" 69 | }, 70 | { 71 | "name": "laravel-uptime-monitor", 72 | "repository": "spatie/laravel-uptime-monitor", 73 | "branches": { 74 | "master": "v3", 75 | "v2": "v2", 76 | "v1": "v1" 77 | }, 78 | "category": "Laravel" 79 | }, 80 | { 81 | "name": "laravel-slack-slash-command", 82 | "repository": "spatie/laravel-slack-slash-command", 83 | "branches": { 84 | "master": "v1" 85 | }, 86 | "category": "Laravel" 87 | }, 88 | { 89 | "name": "menu", 90 | "repository": "spatie/menu", 91 | "branches": { 92 | "master": "v2", 93 | "v1": "v1" 94 | }, 95 | "category": "General PHP" 96 | }, 97 | { 98 | "name": "image", 99 | "repository": "spatie/image", 100 | "branches": { 101 | "master": "v1" 102 | }, 103 | "category": "General PHP" 104 | }, 105 | { 106 | "name": "enum", 107 | "repository": "spatie/enum", 108 | "branches": { 109 | "master": "v3", 110 | "v2": "v2", 111 | "v1": "v1" 112 | }, 113 | "category": "General PHP" 114 | }, 115 | { 116 | "name": "laravel-model-states", 117 | "repository": "spatie/laravel-model-states", 118 | "branches": { 119 | "master": "v1" 120 | }, 121 | "category": "Laravel" 122 | }, 123 | { 124 | "name": "laravel-permission", 125 | "repository": "spatie/laravel-permission", 126 | "branches": { 127 | "master": "v3", 128 | "v2": "v2" 129 | }, 130 | "category": "Laravel" 131 | }, 132 | { 133 | "name": "laravel-query-builder", 134 | "repository": "spatie/laravel-query-builder", 135 | "branches": { 136 | "master": "v2" 137 | }, 138 | "category": "Laravel" 139 | }, 140 | { 141 | "name": "laravel-event-sourcing", 142 | "repository": "spatie/laravel-event-sourcing", 143 | "branches": { 144 | "master": "v4", 145 | "v3": "v3", 146 | "v2": "v2", 147 | "v1": "v1" 148 | }, 149 | "category": "Laravel" 150 | }, 151 | { 152 | "name": "laravel-resource-links", 153 | "repository": "spatie/laravel-resource-links", 154 | "branches": { 155 | "master": "v1" 156 | }, 157 | "category": "Laravel" 158 | }, 159 | { 160 | "name": "laravel-backup-server", 161 | "repository": "spatie/laravel-backup-server", 162 | "branches": { 163 | "master": "v1" 164 | }, 165 | "category": "Laravel" 166 | }, 167 | { 168 | "name": "laravel-dashboard", 169 | "repository": "spatie/laravel-dashboard", 170 | "branches": { 171 | "master": "v1" 172 | }, 173 | "category": "Laravel" 174 | }, 175 | { 176 | "name": "laravel-multitenancy", 177 | "repository": "spatie/laravel-multitenancy", 178 | "branches": { 179 | "master": "v1" 180 | }, 181 | "category": "Laravel" 182 | }, 183 | { 184 | "name": "typescript-transformer", 185 | "repository": "spatie/typescript-transformer", 186 | "branches": { 187 | "master": "v1" 188 | }, 189 | "category": "General PHP" 190 | } 191 | ] 192 | -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | {{ $.Scratch.Set "package" .FirstSection.Title }} 2 | {{ range .FirstSection.Sections }} 3 | {{ if .IsAncestor $.Page }} 4 | {{ $.Scratch.Set "version" .Title }} 5 | {{ if (.Param "slogan") }} 6 | {{ $.Scratch.Set "slogan" (.Param "slogan") }} 7 | {{ end }} 8 | {{ if (.Param "githubUrl") }} 9 | {{ $.Scratch.Set "githubUrl" (.Param "githubUrl") }} 10 | {{ end }} 11 | {{ if (.Param "branch") }} 12 | {{ $.Scratch.Set "branch" (.Param "branch") }} 13 | {{ else }} 14 | {{ $.Scratch.Set "branch" "master" }} 15 | {{ end }} 16 | {{ end }} 17 | {{ end }} 18 | {{ $latest := "" }} 19 | {{ range sort .FirstSection.Sections.ByWeight.Reverse }} 20 | {{ if not ($.Scratch.Get "latest") }} 21 | {{ $.Scratch.Set "latest" .Title }} 22 | {{ end }} 23 | {{ end }} 24 | {{ if not (eq ($.Scratch.Get "latest") ($.Scratch.Get "version")) }} 25 | {{ range .FirstSection.Sections }} 26 | {{ if eq ($.Scratch.Get "latest") .Title }} 27 | {{ $page := index (.Pages) 0 }} 28 | {{ $.Scratch.Set "latestUrl" $page.Permalink }} 29 | {{ end }} 30 | {{ end }} 31 | {{ end }} 32 | {{ if not ($.Scratch.Get "slogan") }} 33 | {{ $.Scratch.Set "slogan" "Documentation for our comprehensive packages" }} 34 | {{ end }} 35 | {{ if not ($.Scratch.Get "githubUrl") }} 36 | {{ $.Scratch.Set "githubUrl" "https://github.com/spatie/docs.spatie.be" }} 37 | {{ end }} 38 | 39 | 40 | 41 | {{ if ne .Title ($.Scratch.Get "package") }} 42 | {{ .Title }} | {{ $.Scratch.Get "package" }} 43 | {{ else }} 44 | {{ .Title }} 45 | {{ end }} 46 | 47 | 48 | {{ if not (eq ($.Scratch.Get "latest") ($.Scratch.Get "version")) }} 49 | 50 | {{ end }} 51 | 52 | 53 | 54 | 55 | 56 | {{ partialCached "analytics.html" . }} 57 | 58 |
59 | {{ if .IsHome }} 60 |
61 | {{ else }} 62 |
63 | {{ end }} 64 |
65 |
66 |
67 |

68 | {{ $.Scratch.Get "package" }} 69 | {{ if and (gt (len .FirstSection.Sections) 1) (not .IsHome) }} 70 | 71 | {{ $.Scratch.Get "version" }} 72 | 73 | 74 | {{ end }} 75 |

76 | {{ if and (gt (len .FirstSection.Sections) 1) (not .IsHome) }} 77 | 85 | {{ end }} 86 |
87 |

88 | {{ $.Scratch.Get "slogan" }} 89 | {{ if and ($.Scratch.Get "version") (not (eq ($.Scratch.Get "latest") ($.Scratch.Get "version"))) }} 90 | {{ range .FirstSection.Sections }} 91 | {{ if eq ($.Scratch.Get "latest") .Title }} 92 | {{ $page := index (.Pages) 0 }} 93 | — A newer version is available! 94 | {{ end }} 95 | {{ end }} 96 | {{ end }} 97 |

98 |
99 | 107 |
108 |
109 |
110 |
111 | {{ block "main" . }}{{ end }} 112 |
113 | 121 | 122 | {{ partial "algolia.html" . }} 123 | 124 | 125 | -------------------------------------------------------------------------------- /static/css/docs.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8";/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.algolia-autocomplete{width:75%}.aa-dropdown-menu{-webkit-backdrop-filter:blur(5px);background-color:rgba(255,255,255,.95);border:solid 2px #f5f2ea;border-radius:4px;box-shadow:10px 10px 0 rgba(0,0,0,.1);font-size:16px;margin:.5em 0 0 0;overflow:hidden;text-align:left}.algolia-docsearch-suggestion{border-bottom:solid 2px #f5f2ea;color:#1a1e25;cursor:pointer;overflow:hidden}.algolia-docsearch-suggestion--category-header{display:none}.algolia-docsearch-suggestion--highlight{background:0 0;color:#e14a0c;font-weight:600;padding:0}.aa-cursor .algolia-docsearch-suggestion--content{color:#1a1e25}.aa-cursor .algolia-docsearch-suggestion{background:#fff2de}.algolia-docsearch-suggestion--subcategory-column{display:none}.algolia-docsearch-suggestion--text{display:none}.algolia-docsearch-suggestion--content{padding:3px 5px}.algolia-docsearch-suggestion--subcategory-inline{display:inline-block;font-weight:700}.algolia-docsearch-suggestion--subcategory-inline:after{content:' \203A '}.algolia-docsearch-suggestion--title{display:inline}.algolia-docsearch-footer{background-color:rgba(255,255,255,.95);color:#73c7de;font-size:12px;padding:10px;text-align:right}.algolia-docsearch-footer .algolia-docsearch-footer--logo{background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-size:contain;display:inline-block!important;height:16px;opacity:.75;overflow:hidden;text-indent:101%;vertical-align:middle;white-space:nowrap;width:45px}@media (min-width:568px){.aa-dropdown-menu{min-width:400px}.algolia-docsearch-suggestion--text{display:block;font-size:.9em;padding:2px 0}}@media (min-width:768px){.aa-dropdown-menu{min-width:600px}.algolia-docsearch-suggestion--subcategory-column-text{display:none}.algolia-docsearch-suggestion--content{display:table-cell;padding:15px 10px}.algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-docsearch-suggestion--title{font-weight:600}.algolia-docsearch-suggestion--text{display:block;font-weight:400;padding:2px}}.alert{border-left:3px solid transparent;margin:1.5em 0;padding:1em}.alert a{color:inherit}.alert p{margin:0}.alert.-info{background:#ceebf2;border-color:#73c7de;color:#007698}.alert.-success{background:#eaeddb;border-color:#c8c969;color:#82870e}.alert.-warning{background:#fff2de;border-color:#e77636;color:#983606}.alert.-error{background:#fcebec;border-color:#f76b6e;color:#a32324}.anchor-link{border:none!important;color:#d4cab4!important;display:block;font-size:.75em;font-weight:400;height:1em;position:absolute;right:100%;top:.3em;width:1em;text-align:right;padding-right:.5rem}.anchor-link:hover{color:#8d7e5f!important}.anchor-link:before{content:'#'}.article h1{color:#1b3747;line-height:1.2;margin-top:0;padding-right:1.8em}.article h1+h2{margin-top:0}.article h2{color:#1b3747;margin-top:2em}.article h2+h3{margin-top:0}.article h3{color:#004966;margin-top:2em}.article a{border-bottom:solid 2px rgba(34,164,201,.25);color:#22a4c9;text-decoration:none;transition:.3s color linear,.3s border-color linear;color:#007698}.article p{margin-bottom:1em}.article ul{list-style:none;padding-left:0}.article ul li{padding-left:1.25em}.article ul li:before{border-radius:100%;display:inline-block;height:.5em;line-height:.5em;overflow:hidden;text-align:center;width:.5em;background:#d4cab4;content:' ';left:0;overflow:hidden;position:absolute;top:.5em}.article ul li li:before{background:#e6decd}.article_badges{margin:1em 0;opacity:.95;transition:all .1s}.article_badges a{border:0}.badge{background-color:rgba(206,235,242,.75);border-radius:1em;color:#e14a0c;display:inline-block;padding:0 .35em}html{height:100%}body{min-height:100%}.no-touchevents body{padding-bottom:9em}@media (max-width:1000px){.no-touchevents body{padding-bottom:0}}.footer,.touchevents .footer{width:100%;z-index:2}@media (max-width:1000px){.footer,.touchevents .footer{height:auto;max-height:none}}.no-touchevents .footer{bottom:0;left:0;position:absolute}@media (max-width:1000px){.no-touchevents .footer{position:relative}}.footer{background-color:#ceebf2;padding:6em 0;text-align:center}.footer_content{background:rgba(115,199,222,.2);border-radius:3px;color:#007698;display:inline-block;padding:.5em 10px}.footer_content a{border-bottom:solid 2px rgba(34,164,201,.25);color:#007698;text-decoration:none;transition:.3s color linear,.3s border-color linear;color:inherit}.footer_background{position:absolute;display:block;height:100%;width:100%;top:0;left:0;background-position:0 100%;background-repeat:no-repeat;background-size:cover;mix-blend-mode:multiply;opacity:.15}.hljs{background:#f2f2fa;color:#333b46;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#9797a7;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333b46;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:#007698}.hljs-doctag,.hljs-string{color:#e77636}.hljs-section,.hljs-selector-id,.hljs-title{color:#e14a0c;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#007698;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:#22a4c9;font-weight:400}.hljs-link,.hljs-regexp{color:#aaad00}.hljs-bullet,.hljs-symbol{color:#e83134}.hljs-built_in,.hljs-builtin-name{color:#22a4c9}.hljs-meta{color:#9797a7;font-weight:700}.hljs-deletion{background:#fcebec}.hljs-addition{background:#e5e4d1}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.\:group,.clearfix,.grid_row{zoom:1}.\:group:after,.\:group:before,.clearfix:after,.clearfix:before,.grid_row:after,.grid_row:before{content:'';display:table}.\:group:after,.clearfix:after,.grid_row:after{clear:both}.grid{max-width:80em;margin-left:auto;margin-right:auto;padding:0 2em}.grid:after{content:" ";display:block;clear:both}.grid_col{padding:0}.grid_col.-width-1\/6{width:16.66667%;float:left}@media (max-width:900px){.grid_col.-width-1\/6{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-5\/6{width:83.33333%;float:left}@media (max-width:900px){.grid_col.-width-5\/6{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-1\/4{width:25%;float:left}@media (max-width:900px){.grid_col.-width-1\/4{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-3\/4{width:75%;float:left}@media (max-width:1000px){.grid_col.-width-3\/4{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-1\/3{width:33.33333%;float:left}@media (max-width:900px){.grid_col.-width-1\/3{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}@media (max-width:1000px){.grid_col.-width-1\/3.-becomes-1\/2{width:50%}}.grid_col.-width-2\/3{width:66.66667%;float:left}@media (max-width:900px){.grid_col.-width-2\/3{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-2\/3.-centered{margin-left:16.66667%}.grid_col.-width-1\/2{width:50%;float:left}@media (max-width:900px){.grid_col.-width-1\/2{width:100%;float:left;margin-left:0;margin-right:0}}@media (max-width:900px){.grid_col.-width-1\/2{display:block!important;float:none!important;margin-left:0!important;margin-right:0!important;transform:none!important;width:100%!important}}.grid_col.-width-1\/2.-centered{margin-left:25%}.grid_col.-push-1\/3{margin-left:33.33333%}@media (max-width:1000px){.grid_col.-push-1\/3{margin-left:0}}.grid_col.-push-1\/4{margin-left:25%}@media (max-width:1000px){.grid_col.-push-1\/4{margin-left:0}}.grid_col.-push-1\/6{margin-left:16.66667%}@media (max-width:1000px){.grid_col.-push-1\/6{margin-left:0}}.grid_col.-last{float:right;margin-right:0}.header{height:30vh;min-height:10em;position:relative}@media (max-width:900px){.header{height:auto!important;padding:2.25em 0}}.header_background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.header_content{bottom:3em;position:absolute;transition:bottom .3s ease-out;width:100%;z-index:3}@media (max-width:900px){.header_content{bottom:0!important;position:relative;text-align:center}}.header_caption{display:inline-block}.header_caption_title{border-top-left-radius:3px;border-top-right-radius:3px;color:#fff;display:inline-block;margin:0 -10px}@media (max-width:900px){.header_caption_title{font-size:1.65em;border-radius:3px;display:block;padding:3px 10px}}.header_caption_title a{color:inherit}.header_caption_title_link{display:inline-block;padding:.2em 10px .2em 10px;vertical-align:middle}.header_version{color:#e14a0c;display:inline-block;font-size:.85em;font-weight:600;margin:0 10px 0 0;vertical-align:middle}@media (max-width:900px){.header_version{font-size:.75em}}.header_version.-selectable{background-color:#fff;border-radius:3px;color:#e14a0c;padding:0 .45em 0 .25em}.header_version_caret{border-left:.15em solid transparent;border-right:.15em solid transparent;border-top:.2em solid #f5b180;display:inline-block;height:0;vertical-align:middle;width:0}.header_version_dropdown{background:#fff;border-radius:3px;box-shadow:5px 5px 0 rgba(0,0,0,.1);font-size:2.38em;list-style:none;overflow:hidden;padding-left:0;position:absolute;right:.1em;top:.2em;z-index:10}@media (max-width:900px){.header_version_dropdown{font-size:1.4em}}.header_version_dropdown li{text-align:center}.header_version_dropdown li.-current{font-weight:600}.header_version_dropdown li:hover{background:#fff2de}.header_version_dropdown a{color:#e14a0c;padding:0 1em 0 .25em;display:block}.header_caption_slogan{border-bottom-left-radius:3px;border-bottom-right-radius:3px;color:#fff;display:inline-block;margin:0 -10px;padding:.5em 10px}@media (max-width:900px){.header_caption_slogan{display:none}}.header_logos{bottom:0;opacity:1;position:absolute;right:2em;text-align:right;transition:opacity .1s .3s ease-out}@media (max-width:900px){.header_logos{margin-top:1em;opacity:1!important;position:relative;text-align:center;right:0}}.header_logos a{display:inline-block;vertical-align:middle}.header_logos a+.header_logos a{margin-left:1em}.header_logos svg{display:block;height:2em;width:auto}.header_logos .github:hover,.header_logos .spatie:hover{opacity:.7}.header_logos .spatie_back{fill:#007698}.header_logos .github_back{fill:#fff}*{box-sizing:border-box;position:relative}:after,:before{box-sizing:border-box;position:relative}html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:-apple-system,"Segoe UI",sans-serif;font-weight:400;color:#1a1e25;line-height:1.5;display:flex;flex-direction:column;min-height:100vh}body .footer,body .header{flex-grow:0}body .main{flex-grow:1}h1,h2,h3{text-rendering:optimizeLegibility}h1{font-family:-apple-system,"Segoe UI",sans-serif;font-weight:600;font-size:2.8em}h2{font-family:-apple-system,"Segoe UI",sans-serif;font-weight:600;font-size:1.75em}h3{font-family:-apple-system,"Segoe UI",sans-serif;font-weight:600;margin-bottom:.5rem}h3+p{margin-top:0}h4{font-family:-apple-system,"Segoe UI",sans-serif;font-weight:400;margin:0}a{text-decoration:none}ol,p,ul{line-height:1.5;margin:0;margin-bottom:2em}p+ol,p+p,p+ul{margin-top:0}ol:last-child,p:last-child,ul:last-child{margin-bottom:0}b,strong{font-weight:600}b em,b i,em b,em strong,i b,i strong,strong em,strong i{font-style:italic}ol,ul{padding-left:1.5em}ol ol,ol ul,ul ol,ul ul{margin-bottom:.5em}li{line-height:1.5}img,object{max-width:100%}abbr[title],dfn[title]{border-bottom:1px dotted #9797a7;cursor:help}address{background:#adadbb;display:inline-block;margin-bottom:1.5em;padding:1em}blockquote{background:#f5f2ea;border-left:3px solid #e6decd;color:#5d4e36;display:block;font-size:1.2em;margin:2em 0;padding:1em}blockquote p{margin:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:''}code,kbd,samp,var{font-family:Menlo,"courier new",courier,monospace;font-weight:400;background:#f2f2fa;border-radius:3px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.05);color:#333b46;font-size:.85em}p code,p kbd,p samp,p var{display:inline-block;padding:.05em .5em;top:-.05em;vertical-align:middle}pre code,pre kbd,pre samp,pre var{display:block;padding:1em .5em!important;white-space:pre}del{text-decoration:line-through}dt{font-weight:700}dd{border-bottom:dotted 1px #1a1e25;margin-bottom:.75em;padding-bottom:.75em}cite,em,i,q{font-style:italic}ins,mark{background-color:#f7e8d4;border-radius:3px;color:#422c00;display:inline-block;padding:0 .35em;text-decoration:none}hr{border:none;height:3px;background:#f5f2ea;width:100%;margin:10vh 0 4vh}pre{margin:1.5em 0;padding:0}sub,sup{line-height:0;vertical-align:baseline}sub{top:.5ex}sup{bottom:1ex}.main{padding:10vh 0}@media (max-width:900px){.nav{background:#f5f2ea;height:100%;left:100%;overflow-y:scroll;padding:2em;position:fixed;top:0;transform:translateX(0);transition:transform .5s ease-in-out;width:100%;z-index:2000}.\$nav-small .nav{box-shadow:5px 0 rgba(0,0,0,.1);transform:translateX(-100%)}}.nav_menu{margin-top:2em;padding-right:8em;text-align:left}.nav_menu ul{list-style:none;margin:0;padding-left:0}.nav_menu ul ul{border-left:solid 3px #f5f2ea;padding-left:1em}.nav_menu li{line-height:1.35;padding:.2em 0}.nav_menu h2{color:#8d7e5f;font-size:1.1em;line-height:1.2;margin:2em 0 .5em;padding-top:.2em}.nav_menu a{background-color:transparent;border-radius:3px;color:#e14a0c;display:inline-block;padding:0 .35em}.nav_menu a:hover{background-color:#fff2de}.nav_menu .active>a{background-color:#e14a0c;border-radius:3px;color:#fff;display:inline-block;padding:0 .35em}.nav_search{border:solid 3px #f5f2ea;border-radius:3px;margin-top:.5em;padding:.5em;transition:border-color .3s ease-out;width:100%}.nav_search:focus{border-color:#e14a0c;outline:0}::-webkit-input-placeholder{color:#d4cab4;transition:opacity .3s ease-out}:-moz-placeholder{color:#d4cab4;transition:opacity .3s ease-out}::-moz-placeholder{color:#d4cab4;transition:opacity .3s ease-out}:-ms-input-placeholder{color:#d4cab4;transition:opacity .3s ease-out}:focus::-webkit-input-placeholder{color:#f5f2ea}:focus:-moz-placeholder{color:#f5f2ea}:focus::-moz-placeholder{color:#f5f2ea}:focus:-ms-input-placeholder{color:#f5f2ea}.nav_button{font-family:-apple-system,"Segoe UI",sans-serif;font-weight:600;box-shadow:5px 5px 0 rgba(0,0,0,.1);cursor:pointer;font-size:.65em;height:44px;line-height:44px;overflow:hidden;position:fixed;text-align:center;text-transform:uppercase;transition:border-radius .3s linear,transform .3s linear;width:44px;z-index:5000}.nav_button.-menu{background:#e14a0c;border-radius:100% 0 0 100%;color:#fff2de;display:none;right:0;top:3.5em}@media (max-width:900px){.nav_button.-menu{display:block}}.nav_button.-menu:after{content:'menu'}.\$nav-small .nav_button.-menu{border-radius:100%;transform:translateX(-10px)}.\$nav-small .nav_button.-menu:after{content:'\D7';font-size:2em}.nav_button.-bottom{background:#22a4c9;border-radius:100% 100% 0 0;bottom:0;color:#ceebf2;left:50%;transform:translateX(-50%) translateY(100%)}.\$viewport-ended .nav_button.-bottom{transform:translateX(-50%) translateY(10%)}.\$nav-small body{overflow:hidden}.pagination{margin:10vh 0 4vh;text-align:center}.pagination:after{border-top:solid 3px #f5f2ea;content:' ';height:0;left:0;position:absolute;top:.7em;width:100%}.pagination_buttons{background:#fff;display:inline-block;z-index:10}.pagination_button{border:0!important;display:inline-block;font-size:.75em;line-height:2;margin:0 .25em;overflow:hidden}.pagination_button:after{background-color:#f5f2ea;border-radius:3px;color:#baab8c;display:inline-block;padding:0 .35em;display:inline-block;min-width:8em;z-index:10}.pagination_button:before{background-color:#f5f2ea;border-radius:3px;content:' ';height:2em;position:absolute;top:0;transform:rotate(45deg);width:2em}.pagination_button:hover:after{background-color:#e6decd;border-radius:3px;color:#8d7e5f;display:inline-block;padding:0 .35em}.pagination_button:hover:before{background-color:#e6decd}.pagination_button.-previous{padding-left:1em}.pagination_button.-previous:before{left:.5em}.pagination_button.-previous:after{content:'previous topic';padding-right:1em}.pagination_button.-next{padding-right:1em}.pagination_button.-next:before{right:.5em}.pagination_button.-next:after{content:'next topic';padding-left:1em}.screenshot{margin:2em 0}.screenshot.-slack{max-width:400px}.screenshot.-cli{max-width:500px}.toolbar{font-size:.75em;position:absolute;right:0;text-align:right;top:1.5em;width:auto}@media (max-width:900px){.toolbar{display:none}}.toolbar_item{background-color:#f5f2ea;border-radius:3px;color:#baab8c;display:inline-block;padding:0 .35em;line-height:2}.toolbar_item .github{height:1.35em;margin-left:.25em;vertical-align:middle;width:auto}.toolbar_item .github_back{fill:#d4cab4}.toolbar_item:hover{background-color:#e6decd;border-radius:3px;color:#8d7e5f;display:inline-block;padding:0 .35em}.toolbar_item:hover .github_back{fill:rgba(141,126,95,.8)}.\:align-left{text-align:left}.\:align-right{text-align:right}.\:align-center{text-align:center}.\:filter-grayscale{filter:grayscale(100%);opacity:1}.\$viewport-loaded .\:filter-grayscale{opacity:0;transition:opacity ease-in 1s .8s}.\:float-right{float:right;z-index:10}@keyframes kenburns{100%{transform:scale(1.2,1.2)}}.\:is-clickable{cursor:pointer}.\:is-unselectable{-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.\:is-hidden{display:none!important;visibility:hidden}.\:is-hidden-visually{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.\:is-invisible{visibility:hidden}.\:margin{margin:4em}.\:margin-small{margin:2em}.\:margin-large{margin:8em}.\:margin-left{margin-left:4em}.\:margin-left-small{margin-left:2em}.\:margin-left-large{margin-left:8em}.\:margin-right{margin-right:4em}.\:margin-right-small{margin-right:2em}.\:margin-right-large{margin-right:8em}.\:margin-horizontal{margin-left:4em;margin-right:4em}.\:margin-horizontal-small{margin-left:2em;margin-right:2em}.\:margin-horizontal-large{margin-left:8em;margin-right:8em}.\:margin-top{margin-top:4em}.\:margin-top-small{margin-top:2em}.\:margin-top-large{margin-top:8em}.\:margin-bottom{margin-bottom:4em}.\:margin-bottom-small{margin-bottom:2em}.\:margin-bottom-large{margin-bottom:8em}.\:margin-vertical{margin-bottom:4em;margin-top:4em}.\:margin-vertical-small{margin-bottom:2em;margin-top:2em}.\:margin-vertical-large{margin-bottom:8em;margin-top:8em}.\:padding{padding:4em}.\:padding-small{padding:2em}.\:padding-large{padding:8em}.\:padding-left{padding-left:4em}.\:padding-left-small{padding-left:2em}.\:padding-left-large{padding-left:8em}.\:padding-right{padding-right:4em}.\:padding-right-small{padding-right:2em}.\:padding-right-large{padding-right:8em}.\:padding-horizontal{padding-left:4em;padding-right:4em}.\:padding-horizontal-small{padding-left:2em;padding-right:2em}.\:padding-horizontal-large{padding-left:8em;padding-right:8em}.\:padding-top{padding-top:4em}.\:padding-top-small{padding-top:2em}.\:padding-top-large{padding-top:8em}.\:padding-bottom{padding-bottom:4em}.\:padding-bottom-small{padding-bottom:2em}.\:padding-bottom-large{padding-bottom:8em}.\:padding-vertical{padding-bottom:4em;padding-top:4em}.\:padding-vertical-small{padding-bottom:2em;padding-top:2em}.\:padding-vertical-large{padding-bottom:8em;padding-top:8em}.\:responsive-mobile-only{display:none!important}@media (max-width:900px){.\:responsive-mobile-only{display:block!important}}@media (max-width:900px){.\:responsive-desktop-only{display:none!important}}@media (max-width:900px){.\:responsive-desktop-only.grid_col{display:none!important}}.\:text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\:text-small{font-size:.85em}.\:text-large{font-size:1.75em}.\:text-uppercase{text-transform:uppercase}.\:text-super{font-size:.75em;top:-.35em}.\:text-sub{font-size:.75em;top:.35em}.\:text-clean{border:0;text-decoration:none;text-transform:none}.header{background:rgba(28,56,71,.85)}.header_background{background-position:center;background-repeat:no-repeat;background-size:auto;background-size:cover;opacity:.2}.header_caption_slogan,.header_caption_title{background:rgba(0,0,0,.1)}.mailcoach{display:block;max-width:calc(75% - 2rem);margin:2.2rem 1rem 0}@media (max-width:900px){.mailcoach{max-width:250px;margin-left:0}} 2 | -------------------------------------------------------------------------------- /static/images/mailcoach.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 471 | 472 | 473 | 474 | 475 | 476 | 479 | 481 | 483 | 484 | 485 | 486 | 488 | 490 | 492 | 495 | 497 | 500 | 503 | 506 | 508 | 510 | 511 | 514 | 516 | 517 | 519 | 521 | 523 | 525 | 527 | 529 | 531 | 534 | 537 | 538 | 540 | 541 | 543 | 545 | 548 | 550 | 552 | 554 | 556 | 558 | 561 | 564 | 567 | 569 | 570 | 572 | 575 | 577 | 580 | 581 | 584 | 586 | 588 | 591 | 593 | 595 | 597 | 599 | 602 | 605 | 606 | 609 | 612 | 614 | 615 | 618 | 620 | 624 | 627 | 629 | 631 | 635 | 638 | 641 | 645 | 647 | 650 | 653 | 655 | 658 | 661 | 663 | 665 | 667 | 669 | 672 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 683 | 684 | 685 | 686 | 687 | 689 | 690 | 691 | 695 | 696 | 697 | 699 | 703 | 705 | 706 | 709 | 712 | 716 | 719 | 721 | 722 | 723 | 724 | 725 | -------------------------------------------------------------------------------- /static/js/docs.js: -------------------------------------------------------------------------------- 1 | (function(e){function t(a){if(n[a])return n[a].exports;var o=n[a]={exports:{},id:a,loaded:!1};return e[a].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)})([function(e,t,n){n(1)},function(e,t,n){(function(t){const e=n(3),a=n(21);e.init({config:{start:50,end:200,small:900}}),function(){a.registerLanguage("bash",n(22)),a.registerLanguage("php",n(23)),a.registerLanguage("html",n(24)),a.registerLanguage("blade",n(24)),a.initHighlighting()}(),function(){t("[data-nav-switch]").on("click",function(){e.root.toggleClass("$nav-small")}),t(window).on("resize scroll",function(){e.state.large&&e.root.removeClass("$nav-small")})}(),function(){t("#algolia-search").focus()}(),function(){t("[data-version]").on("click",function(n){n.stopPropagation(),t("[data-versions]").show()}),t("body").on("click",function(){t("[data-versions]").hide()})}()}).call(t,n(2))},function(e,t){var n,a;(function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)})("undefined"==typeof window?this:window,function(o,i){function s(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return!("function"===n||de.isWindow(e))&&("array"===n||0===t||"number"==typeof t&&0")).appendTo(t.documentElement),t=nt[0].contentDocument,t.write(),t.close(),n=_(e,t),nt.detach()),Ge[e]=n),n}function A(e,t,n){var a=e.style,o,i,s,r;return n=n||Je(e),r=n?n.getPropertyValue(t)||n[t]:void 0,""!==r&&void 0!==r||de.contains(e.ownerDocument,e)||(r=de.style(e,t)),n&&!re.pixelMarginRight()&&Ze.test(r)&&Qe.test(t)&&(o=a.width,i=a.minWidth,s=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=n.width,a.width=o,a.minWidth=i,a.maxWidth=s),void 0===r?r:r+""}function D(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in rt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=st.length;n--;)if(e=st[n]+t,e in rt)return e}function O(e,t,n){var a=Re.exec(t);return a?Math.max(0,a[2]-(n||0))+(a[3]||"px"):t}function R(e,t,n,a,o){for(var s=n===(a?"border":"content")?4:"width"===t?1:0,r=0;4>s;s+=2)"margin"===n&&(r+=de.css(e,n+Me[s],!0,o)),a?("content"===n&&(r-=de.css(e,"padding"+Me[s],!0,o)),"margin"!==n&&(r-=de.css(e,"border"+Me[s]+"Width",!0,o))):(r+=de.css(e,"padding"+Me[s],!0,o),"padding"!==n&&(r+=de.css(e,"border"+Me[s]+"Width",!0,o)));return r}function M(e,t,n){var a=!0,o="width"===t?e.offsetWidth:e.offsetHeight,i=Je(e),s="border-box"===de.css(e,"boxSizing",!1,i);if(0>=o||null==o){if(o=A(e,t,i),(0>o||null==o)&&(o=e.style[t]),Ze.test(o))return o;a=s&&(re.boxSizingReliable()||o===e.style[t]),o=parseFloat(o)||0}return o+R(e,t,n||(s?"border":"content"),a,i)+"px"}function H(e,t){for(var n=[],a=0,o=e.length,i,s,r;an;n+=2-t)o=Me[n],a["margin"+o]=a["padding"+o]=e;return t&&(a.opacity=a.width=e),a}function B(e,t,n){for(var a=(U.tweeners[t]||[]).concat(U.tweeners["*"]),o=0,i=a.length,s;oo&&l?n:(i.resolveWith(e,[r]),!1)},r=i.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ct||q(),duration:n.duration,tweens:[],createTween:function(t,n){var a=de.Tween(e,r.opts,t,n,r.opts.specialEasing[t]||r.opts.easing);return r.tweens.push(a),a},stop:function(t){var n=0,a=t?r.tweens.length:0;if(c)return this;for(c=!0;ne?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ee.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(0<=n&&nte.cacheLength&&delete e[t.shift()],e[n+" "]=a}var t=[];return e}function a(e){return e[w]=!0,e}function o(e){var t=pe.createElement("div");try{return!!e(t)}catch(t){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function s(e,t){for(var n=e.split("|"),a=n.length;a--;)te.attrHandle[n[a]]=t}function r(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||-2147483648)-(~e.sourceIndex||-2147483648);if(a)return a;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function l(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function d(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return a(function(t){return t=+t,a(function(n,a){for(var o=e([],n.length,t),s=o.length,r;s--;)n[r=o[s]]&&(n[r]=!(a[r]=n[r]))})})}function p(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function u(){}function g(e){for(var t=0,n=e.length,a="";t+~]|[\x20\t\r\n\f])[\x20\t\r\n\f]*/,B=/=[\x20\t\r\n\f]*([^\]'"]*?)[\x20\t\r\n\f]*\]/g,F=/:((?:\\.|[\w-]|[^\x00-\xa0])+)(?:\((('((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)")|((?:\\.|[^\\()[\]]|\[[\x20\t\r\n\f]*((?:\\.|[\w-]|[^\x00-\xa0])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\.|[\w-]|[^\x00-\xa0])+))|)[\x20\t\r\n\f]*\])*)|.*)\)|)/,W=/^(?:\\.|[\w-]|[^\x00-\xa0])+$/,U={ID:/^#((?:\\.|[\w-]|[^\x00-\xa0])+)/,CLASS:/^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/,TAG:/^((?:\\.|[\w-]|[^\x00-\xa0])+|[*])/,ATTR:/^\[[\x20\t\r\n\f]*((?:\\.|[\w-]|[^\x00-\xa0])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\.|[\w-]|[^\x00-\xa0])+))|)[\x20\t\r\n\f]*\]/,PSEUDO:/^:((?:\\.|[\w-]|[^\x00-\xa0])+)(?:\((('((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)")|((?:\\.|[^\\()[\]]|\[[\x20\t\r\n\f]*((?:\\.|[\w-]|[^\x00-\xa0])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\.|[\w-]|[^\x00-\xa0])+))|)[\x20\t\r\n\f]*\])*)|.*)\)|)/,CHILD:/^:(only|first|last|nth|nth-last)-(child|of-type)(?:\([\x20\t\r\n\f]*(even|odd|(([+-]|)(\d*)n|)[\x20\t\r\n\f]*(?:([+-]|)[\x20\t\r\n\f]*(\d+)|))[\x20\t\r\n\f]*\)|)/i,bool:/^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,needsContext:/^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i},z=/^(?:input|select|textarea|button)$/i,$=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,V=/[+~]/,Y=/'|\\/g,G=/\\([\da-f]{1,6}[\x20\t\r\n\f]?|([\x20\t\r\n\f])|.)/ig,Q=function(e,t,n){var a="0x"+t-65536;return a!=a||n?t:0>a?String.fromCharCode(a+65536):String.fromCharCode(55296|a>>10,56320|1023&a)},Z=function(){ce()},J,ee,te,ne,ae,oe,ie,se,re,le,de,ce,pe,ue,ge,fe,me,he,ye;try{O.apply(A=R.call(T.childNodes),T.childNodes),A[T.childNodes.length].nodeType}catch(t){O={apply:A.length?function(e,t){L.apply(e,R.call(t))}:function(e,t){for(var n=e.length,a=0;e[n++]=t[a++];);e.length=n-1}}}for(J in ee=t.support={},ae=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},ce=t.setDocument=function(e){var t=e?e.ownerDocument||e:T,n,a;return t!==pe&&9===t.nodeType&&t.documentElement?(pe=t,ue=pe.documentElement,ge=!ae(pe),(a=pe.defaultView)&&a.top!==a&&(a.addEventListener?a.addEventListener("unload",Z,!1):a.attachEvent&&a.attachEvent("onunload",Z)),ee.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),ee.getElementsByTagName=o(function(e){return e.appendChild(pe.createComment("")),!e.getElementsByTagName("*").length}),ee.getElementsByClassName=X.test(pe.getElementsByClassName),ee.getById=o(function(e){return ue.appendChild(e).id=w,!pe.getElementsByName||!pe.getElementsByName(w).length}),ee.getById?(te.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&ge){var n=t.getElementById(e);return n?[n]:[]}},te.filter.ID=function(e){var t=e.replace(G,Q);return function(e){return e.getAttribute("id")===t}}):(delete te.find.ID,te.filter.ID=function(e){var t=e.replace(G,Q);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),te.find.TAG=ee.getElementsByTagName?function(e,t){return"undefined"==typeof t.getElementsByTagName?ee.qsa?t.querySelectorAll(e):void 0:t.getElementsByTagName(e)}:function(e,t){var n=[],a=0,o=t.getElementsByTagName(e),s;if("*"===e){for(;s=o[a++];)1===s.nodeType&&n.push(s);return n}return o},te.find.CLASS=ee.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&ge)return t.getElementsByClassName(e)},me=[],fe=[],(ee.qsa=X.test(pe.querySelectorAll))&&(o(function(e){ue.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&fe.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll("[selected]").length||fe.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)"),e.querySelectorAll("[id~="+w+"-]").length||fe.push("~="),e.querySelectorAll(":checked").length||fe.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||fe.push(".#.+[+~]")}),o(function(e){var t=pe.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&fe.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),e.querySelectorAll(":enabled").length||fe.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),fe.push(",.*:")})),(ee.matchesSelector=X.test(he=ue.matches||ue.webkitMatchesSelector||ue.mozMatchesSelector||ue.oMatchesSelector||ue.msMatchesSelector))&&o(function(e){ee.disconnectedMatch=he.call(e,"div"),he.call(e,"[s!='']:x"),me.push("!=",":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:[\\x20\\t\\r\\n\\f]*([*^$|!~]?=)[\\x20\\t\\r\\n\\f]*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+))|)[\\x20\\t\\r\\n\\f]*\\])*)|.*)\\)|)")}),fe=fe.length&&new RegExp(fe.join("|")),me=me.length&&new RegExp(me.join("|")),n=X.test(ue.compareDocumentPosition),ye=n||X.test(ue.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,a=t&&t.parentNode;return e===a||!!(a&&1===a.nodeType&&(n.contains?n.contains(a):e.compareDocumentPosition&&16&e.compareDocumentPosition(a)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},_=n?function(e,t){if(e===t)return de=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!ee.sortDetached&&t.compareDocumentPosition(e)===n?e===pe||e.ownerDocument===T&&ye(T,e)?-1:t===pe||t.ownerDocument===T&&ye(T,t)?1:le?M(le,e)-M(le,t):0:4&n?-1:1)}:function(e,t){if(e===t)return de=!0,0;var n=0,a=e.parentNode,o=t.parentNode,s=[e],l=[t],d;if(!a||!o)return e===pe?-1:t===pe?1:a?-1:o?1:le?M(le,e)-M(le,t):0;if(a===o)return r(e,t);for(d=e;d=d.parentNode;)s.unshift(d);for(d=t;d=d.parentNode;)l.unshift(d);for(;s[n]===l[n];)n++;return n?r(s[n],l[n]):s[n]===T?-1:l[n]===T?1:0},pe):pe},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==pe&&ce(e),n=n.replace(B,"='$1']"),ee.matchesSelector&&ge&&!k[n+" "]&&(!me||!me.test(n))&&(!fe||!fe.test(n)))try{var a=he.call(e,n);if(a||ee.disconnectedMatch||e.document&&11!==e.document.nodeType)return a}catch(t){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(G,Q),e[3]=(e[3]||e[4]||e[5]||"").replace(G,Q),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(!e[3]&&t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t=!e[6]&&e[2],n;return U.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":t&&F.test(t)&&(n=oe(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(e[0]=e[0].slice(0,n),e[2]=t.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(G,Q).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+e+"([\\x20\\t\\r\\n\\f]|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,a){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===a:"!="===n?i!==a:"^="===n?a&&0===i.indexOf(a):"*="===n?a&&-1e.nodeType)return!1;return!0},parent:function(e){return!te.pseudos.empty(e)},header:function(e){return $.test(e.nodeName)},input:function(e){return z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;nn?n+t:n;0<=--a;)e.push(a);return e}),gt:c(function(e,t,n){for(var a=0>n?n+t:n;++a(?:<\/\1>|)$/,be=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var a=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===a.nodeType?de.find.matchesSelector(a,e)?[a]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t=this.length,n=[],a=this,o;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(o=0;o)[^>]*|#([\w-]*))$/,we=de.fn.init=function(e,t,n){var a,o;if(!e)return this;if(n=n||Te,"string"==typeof e){if(a="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:ve.exec(e),a&&(a[1]||!t)){if(a[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(a[1],t&&t.nodeType?t.ownerDocument||t:J,!0)),xe.test(a[1])&&de.isPlainObject(t))for(a in t)de.isFunction(this[a])?this[a](t[a]):this.attr(a,t[a]);return this}return o=J.getElementById(a[2]),o&&o.parentNode&&(this.length=1,this[0]=o),this.context=J,this.selector=e,this}return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e)}return e.nodeType?(this.context=this[0]=e,this.length=1,this):de.isFunction(e)?void 0===n.ready?e(de):n.ready(e):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),de.makeArray(e,this))},Te;we.prototype=de.fn,Te=de(J);var Ce=/^(?:parents|prev(?:Until|All))/,Ee={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;er.nodeType&&(s?-1",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Be.optgroup=Be.option,Be.tbody=Be.tfoot=Be.colgroup=Be.caption=Be.thead,Be.th=Be.td;var Fe=/<|&#?\w+;/;(function(){var e=J.createDocumentFragment(),t=e.appendChild(J.createElement("div")),n=J.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),re.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",re.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue})();var We=/^key/,Ue=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(n,a,o,i,s){var r=je.get(n),l,d,c,p,u,e,g,f,m,h,y;if(r)for(o.handler&&(l=o,o=l.handler,s=l.selector),o.guid||(o.guid=de.guid++),(p=r.events)||(p=r.events={}),(d=r.handle)||(d=r.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(n,arguments):void 0}),a=(a||"").match(Ne)||[""],u=a.length;u--;)(c=ze.exec(a[u])||[],m=y=c[1],h=(c[2]||"").split(".").sort(),!!m)&&(g=de.event.special[m]||{},m=(s?g.delegateType:g.bindType)||m,g=de.event.special[m]||{},e=de.extend({type:m,origType:y,data:i,handler:o,guid:o.guid,selector:s,needsContext:s&&de.expr.match.needsContext.test(s),namespace:h.join(".")},l),(f=p[m])||(f=p[m]=[],f.delegateCount=0,(!g.setup||!1===g.setup.call(n,i,h,d))&&n.addEventListener&&n.addEventListener(m,d)),g.add&&(g.add.call(n,e),!e.handler.guid&&(e.handler.guid=o.guid)),s?f.splice(f.delegateCount++,0,e):f.push(e),de.event.global[m]=!0)},remove:function(e,n,a,o,i){var s=je.hasData(e)&&je.get(e),r,l,d,c,p,u,g,f,m,h,y;if(s&&(c=s.events)){for(n=(n||"").match(Ne)||[""],p=n.length;p--;){if(d=ze.exec(n[p])||[],m=y=d[1],h=(d[2]||"").split(".").sort(),!m){for(m in c)de.event.remove(e,m+n[p],a,o,!0);continue}for(g=de.event.special[m]||{},m=(o?g.delegateType:g.bindType)||m,f=c[m]||[],d=d[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=f.length;r--;)u=f[r],(i||y===u.origType)&&(!a||a.guid===u.guid)&&(!d||d.test(u.namespace))&&(!o||o===u.selector||"**"===o&&u.selector)&&(f.splice(r,1),u.selector&&f.delegateCount--,g.remove&&g.remove.call(e,u));l&&!f.length&&((!g.teardown||!1===g.teardown.call(e,h,s.handle))&&de.removeEvent(e,m,s.handle),delete c[m])}de.isEmptyObject(c)&&je.remove(e,"handle events")}},dispatch:function(e){e=de.event.fix(e);var t=[],n=ee.call(arguments),a=(je.get(this,"events")||{})[e.type]||[],o=de.event.special[e.type]||{},s,r,l,d,c;if(n[0]=e,e.delegateTarget=this,!(o.preDispatch&&!1===o.preDispatch.call(this,e))){for(t=de.event.handlers.call(this,e,a),s=0;(d=t[s++])&&!e.isPropagationStopped();)for(e.currentTarget=d.elem,r=0;(c=d.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.rnamespace||e.rnamespace.test(c.namespace))&&(e.handleObj=c,e.data=c.data,l=((de.event.special[c.origType]||{}).handle||c.handler).apply(d.elem,n),void 0!==l&&!1===(e.result=l)&&(e.preventDefault(),e.stopPropagation()));return o.postDispatch&&o.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n=[],a=t.delegateCount,o=e.target,s,r,l,d;if(a&&o.nodeType&&("click"!==e.type||isNaN(e.button)||1>e.button))for(;o!==this;o=o.parentNode||this)if(1===o.nodeType&&(!0!==o.disabled||"click"!==e.type)){for(r=[],s=0;s]*)\/>/gi,Xe=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace($e,"<$1>")},clone:function(e,t,n){var a=e.cloneNode(!0),o=de.contains(e.ownerDocument,e),s,r,d,c;if(!re.noCloneChecked&&(1===e.nodeType||11===e.nodeType)&&!de.isXMLDoc(e))for(c=f(a),d=f(e),(s=0,r=d.length);sde.inArray(this,e)&&(de.cleanData(f(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n=[],a=de(e),o=a.length-1,s=0,r;s<=o;s++)r=s===o?this:this.clone(!0),de(a[s])[t](r),ne.apply(n,r.get());return this.pushStack(n)}});var Ge={HTML:"block",BODY:"block"},Qe=/^margin/,Ze=new RegExp("^("+Oe+")(?!px)[a-z%]+$","i"),Je=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=o),t.getComputedStyle(e)},et=function(e,t,n,a){var o={},i,s;for(s in t)o[s]=e.style[s],e.style[s]=t[s];for(s in i=n.apply(e,a||[]),t)e.style[s]=o[s];return i},tt=J.documentElement,nt;(function(){function e(){n.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",n.innerHTML="",tt.appendChild(t);var e=o.getComputedStyle(n);a="1%"!==e.top,r="2px"===e.marginLeft,i="4px"===e.width,n.style.marginRight="50%",s="4px"===e.marginRight,tt.removeChild(t)}var t=J.createElement("div"),n=J.createElement("div"),a,i,s,r;n.style&&(n.style.backgroundClip="content-box",n.cloneNode(!0).style.backgroundClip="",re.clearCloneStyle="content-box"===n.style.backgroundClip,t.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",t.appendChild(n),de.extend(re,{pixelPosition:function(){return e(),a},boxSizingReliable:function(){return null==i&&e(),i},pixelMarginRight:function(){return null==i&&e(),s},reliableMarginLeft:function(){return null==i&&e(),r},reliableMarginRight:function(){var e=n.appendChild(J.createElement("div")),a;return e.style.cssText=n.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",n.style.width="1px",tt.appendChild(t),a=!parseFloat(o.getComputedStyle(e).marginRight),tt.removeChild(t),n.removeChild(e),a}}))})();var at=/^(none|table(?!-c[ea]).+)/,ot={position:"absolute",visibility:"hidden",display:"block"},it={letterSpacing:"0",fontWeight:"400"},st=["Webkit","O","Moz","ms"],rt=J.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=A(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,a){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o=de.camelCase(t),i=e.style,s,r,l;if(t=de.cssProps[o]||(de.cssProps[o]=L(o)||o),l=de.cssHooks[t]||de.cssHooks[o],void 0!==n){if(r=typeof n,"string"===r&&(s=Re.exec(n))&&s[1]&&(n=g(e,t,s),r="number"),null==n||n!==n)return;"number"===r&&(n+=s&&s[3]||(de.cssNumber[o]?"":"px")),re.clearCloneStyle||""!==n||0!==t.indexOf("background")||(i[t]="inherit"),l&&"set"in l&&void 0===(n=l.set(e,n,a))||(i[t]=n)}else return l&&"get"in l&&void 0!==(s=l.get(e,!1,a))?s:i[t]}},css:function(e,t,n,a){var o=de.camelCase(t),i,s,r;return t=de.cssProps[o]||(de.cssProps[o]=L(o)||o),r=de.cssHooks[t]||de.cssHooks[o],r&&"get"in r&&(i=r.get(e,!0,n)),void 0===i&&(i=A(e,t,a)),"normal"===i&&t in it&&(i=it[t]),""===n||n?(s=parseFloat(i),!0===n||isFinite(s)?s||0:i):i}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,a){if(n)return at.test(de.css(e,"display"))&&0===e.offsetWidth?et(e,ot,function(){return M(e,t,a)}):M(e,t,a)},set:function(e,n,a){var o=a&&Je(e),i=a&&R(e,t,a,"border-box"===de.css(e,"boxSizing",!1,o),o),s;return i&&(s=Re.exec(n))&&"px"!==(s[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),O(e,n,i)}}}),de.cssHooks.marginLeft=D(re.reliableMarginLeft,function(e,t){if(t)return(parseFloat(A(e,"marginLeft"))||e.getBoundingClientRect().left-et(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.cssHooks.marginRight=D(re.reliableMarginRight,function(e,t){if(t)return et(e,{display:"inline-block"},A,[e,"marginRight"])}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var a=0,o={},s="string"==typeof n?n.split(" "):[n];4>a;a++)o[e+Me[a]+t]=s[a]||s[a-2]||s[0];return o}},Qe.test(e)||(de.cssHooks[e+t].set=O)}),de.fn.extend({css:function(e,t){return ke(this,function(e,t,n){var a={},o=0,s,r;if(de.isArray(t)){for(s=Je(e),r=t.length;oo.indexOf(" "+r+" ")&&(o+=r+" ");d=de.trim(o),s!==d&&a.setAttribute("class",d)}return this},removeClass:function(e){var t=0,n,a,o,s,r,l,d;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(n=e.match(Ne)||[];a=this[t++];)if(s=z(a),o=1===a.nodeType&&(" "+s+" ").replace(ht," "),o){for(l=0;r=n[l++];)for(;-1n,o=a?null:[],s=a?n+1:t.length,r=0>n?s:a?n:0,l,d;rr.indexOf(":")&&"on"+r,e=e[de.expando]?e:new de.Event(r,"object"==typeof e&&e),e.isTrigger=a?2:3,e.namespace=l.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+l.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:de.makeArray(t,[e]),m=de.event.special[r]||{},a||!m.trigger||!1!==m.trigger.apply(n,t))){if(!a&&!m.noBubble&&!de.isWindow(n)){for(u=m.delegateType||r,bt.test(u+r)||(c=c.parentNode);c;c=c.parentNode)s.push(c),p=c;p===(n.ownerDocument||J)&&s.push(p.defaultView||p.parentWindow||o)}for(d=0;(c=s[d++])&&!e.isPropagationStopped();)e.type=1e||304===e,n&&(w=V(a,m,n)),w=Y(a,w,m,u),u?(a.ifModified&&(C=m.getResponseHeader("Last-Modified"),C&&(de.lastModified[y]=C),C=m.getResponseHeader("etag"),C&&(de.etag[y]=C)),204===e||"HEAD"===a.type?p="nocontent":304===e?p="notmodified":(p=w.state,f=w.data,b=w.error,u=!b)):(b=p,(e||!p)&&(p="error",0>e&&(e=0))),m.status=e,m.statusText=(t||p)+"",u?l.resolveWith(s,[f,p,m]):l.rejectWith(s,[m,p,b]),m.statusCode(c),c=void 0,T&&r.trigger(u?"ajaxSuccess":"ajaxError",[m,a,u?f:b]),d.fireWith(s,[m,p]),T&&(r.trigger("ajaxComplete",[m,a]),! --de.active&&de.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var a=de.ajaxSetup({},t),s=a.context||a,r=a.context&&(s.nodeType||s.jquery)?de(s):de.event,l=de.Deferred(),d=de.Callbacks("once memory"),c=a.statusCode||{},p={},u={},g=0,f="canceled",m={readyState:0,getResponseHeader:function(e){var t;if(2==g){if(!b)for(b={};t=Nt.exec(x);)b[t[1].toLowerCase()]=t[2];t=b[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2==g?x:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return g||(e=u[n]=u[n]||e,p[e]=t),this},overrideMimeType:function(e){return g||(a.mimeType=e),this},statusCode:function(e){if(e)if(2>g)for(var t in e)c[t]=[c[t],e[t]];else m.always(e[m.status]);return this},abort:function(e){var t=e||f;return h&&h.abort(t),n(0,t),this}},h,y,x,b,v,w,T,C;if(l.promise(m).complete=d.add,m.success=m.done,m.error=m.fail,a.url=((e||a.url||vt.href)+"").replace(Ct,"").replace(_t,vt.protocol+"//"),a.type=t.method||t.type||a.method||a.type,a.dataTypes=de.trim(a.dataType||"*").toLowerCase().match(Ne)||[""],null==a.crossDomain){w=J.createElement("a");try{w.href=a.url,w.href=w.href,a.crossDomain=Lt.protocol+"//"+Lt.host!=w.protocol+"//"+w.host}catch(t){a.crossDomain=!0}}if(a.data&&a.processData&&"string"!=typeof a.data&&(a.data=de.param(a.data,a.traditional)),X(jt,a,t,m),2==g)return m;for(C in T=de.event&&a.global,T&&0==de.active++&&de.event.trigger("ajaxStart"),a.type=a.type.toUpperCase(),a.hasContent=!kt.test(a.type),y=a.url,a.hasContent||(a.data&&(y=a.url+=(Tt.test(y)?"&":"?")+a.data,delete a.data),!1===a.cache&&(a.url=Et.test(y)?y.replace(Et,"$1_="+wt++):y+(Tt.test(y)?"&":"?")+"_="+wt++)),a.ifModified&&(de.lastModified[y]&&m.setRequestHeader("If-Modified-Since",de.lastModified[y]),de.etag[y]&&m.setRequestHeader("If-None-Match",de.etag[y])),(a.data&&a.hasContent&&!1!==a.contentType||t.contentType)&&m.setRequestHeader("Content-Type",a.contentType),m.setRequestHeader("Accept",a.dataTypes[0]&&a.accepts[a.dataTypes[0]]?a.accepts[a.dataTypes[0]]+("*"===a.dataTypes[0]?"":", */*; q=0.01"):a.accepts["*"]),a.headers)m.setRequestHeader(C,a.headers[C]);if(a.beforeSend&&(!1===a.beforeSend.call(s,m,a)||2==g))return m.abort();for(C in f="abort",{success:1,error:1,complete:1})m[C](a[C]);if(h=X(At,a,t,m),!h)n(-1,"No Transport");else{if(m.readyState=1,T&&r.trigger("ajaxSend",[m,a]),2==g)return m;a.async&&0g)n(-1,t);else throw t}}return m},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,a,o){return de.isFunction(n)&&(o=o||a,a=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:a},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return de.isFunction(e)?this.each(function(t){de(this).wrapAll(e.call(this,t))}):(this[0]&&(t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){de.nodeName(this,"body")||de(this).replaceWith(this.childNodes)}).end()}}),de.expr.filters.hidden=function(e){return!de.expr.filters.visible(e)},de.expr.filters.visible=function(e){return 0").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),J.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],Ft=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||de.expando+"_"+wt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(e,t,n){var a=!1!==e.jsonp&&(Ft.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ft.test(e.data)&&"data"),i,s,r;if(a||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=de.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ft,"$1"+i):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return r||de.error(i+" was not called"),r[0]},e.dataTypes[0]="json",s=o[i],o[i]=function(){r=arguments},n.always(function(){void 0===s?de(o).removeProp(i):o[i]=s,e[i]&&(e.jsonpCallback=t.jsonpCallback,Bt.push(i)),r&&de.isFunction(s)&&s(r[0]),r=s=void 0}),"script"}),de.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||J;var a=xe.exec(e),o=!n&&[];return a?[t.createElement(a[1])]:(a=h([e],t,o),o&&o.length&&de(o).remove(),de.merge([],a.childNodes))};var Wt=de.fn.load;de.fn.load=function(e,t,n){if("string"!=typeof e&&Wt)return Wt.apply(this,arguments);var a=this,o=e.indexOf(" "),i,s,r;return-1").append(de.parseHTML(e)).find(i):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,r||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.filters.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var a=de.css(e,"position"),o=de(e),i={},s,r,l,d,c,p,u;"static"===a&&(e.style.position="relative"),c=o.offset(),l=de.css(e,"top"),p=de.css(e,"left"),u=("absolute"===a||"fixed"===a)&&-1<(l+p).indexOf("auto"),u?(s=o.position(),d=s.top,r=s.left):(d=parseFloat(l)||0,r=parseFloat(p)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},c))),null!=t.top&&(i.top=t.top-c.top+d),null!=t.left&&(i.left=t.left-c.left+r),"using"in t?t.using.call(e,i):o.css(i)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t=this[0],n={top:0,left:0},a=t&&t.ownerDocument,o,i;if(a)return(o=a.documentElement,!de.contains(o,t))?n:(n=t.getBoundingClientRect(),i=Q(a),{top:n.top+i.pageYOffset-o.clientTop,left:n.left+i.pageXOffset-o.clientLeft})},position:function(){if(this[0]){var e=this[0],t={top:0,left:0},n,a;return"fixed"===de.css(e,"position")?a=e.getBoundingClientRect():(n=this.offsetParent(),a=this.offset(),!de.nodeName(n[0],"html")&&(t=n.offset()),t.top+=de.css(n[0],"borderTopWidth",!0),t.left+=de.css(n[0],"borderLeftWidth",!0)),{top:a.top-t.top-de.css(e,"marginTop",!0),left:a.left-t.left-de.css(e,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||tt})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(a){return ke(this,function(e,a,o){var i=Q(e);return void 0===o?i?i[t]:e[a]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[a]=o)},e,a,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=D(re.pixelPosition,function(e,n){if(n)return n=A(e,t),Ze.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,a){de.fn[a]=function(a,o){var i=arguments.length&&(n||"boolean"!=typeof a),s=n||(!0===a||!0===o?"margin":"border");return ke(this,function(t,n,a){var o;return de.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===a?de.css(t,n,s):de.style(t,n,a,s)},t,i?a:void 0,i,null)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,a){return this.on(t,e,n,a)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),de.fn.andSelf=de.fn.addBack,n=[],a=function(){return de}.apply(t,n),!(void 0!==a&&(e.exports=a));var Ut=o.jQuery,zt=o.$;return de.noConflict=function(e){return o.$===de&&(o.$=zt),e&&o.jQuery===de&&(o.jQuery=Ut),de},i||(o.jQuery=o.$=de),de})},function(e,t,n){'use strict';var a=n(2),o=n(4);e.exports={root:a("[data-viewport]"),toolbar:a("[data-viewport-toolbar]"),vhItems:a("[data-viewport-vh]"),scrollLinks:a("[data-viewport-scroll]"),classPrefix:"$viewport-",lang:"en",config:{scrollOffset:0,small:768,start:0,end:0},height:0,width:0,start:0,end:0,state:{disabledScroll:!1,small:!1,large:!1,scrolling:!1,start:!1,end:!1,loaded:!1},orientation:{portrait:!1,landscape:!1},direction:{down:!1,up:!1},_lastPosition:0,_readConfigFromDom:function(){var e=this;return this.lang=document.documentElement.lang?document.documentElement.lang.toLowerCase():"en",Object.keys(this.config).map(function(t){var n="viewport-"+t.toLowerCase(),a=parseInt(e.root.data(n));0this.config.start,this.state.ended=this.end>a(document).height()-this.config.end,clearTimeout(this.directionTimeOut),this.directionTimeOut=setTimeout(function(){e._setDirection()},100),this.root.toggleClass(this.classPrefix+"started",this.state.started).toggleClass(this.classPrefix+"ended",this.state.ended)),this},_afterResize:function(){return this._measure()._fixVH()._afterScroll()},_setDirection:function(){return this.direction.up=this.startthis.start&&(this.direction.up=!1),this.direction.down=!this.direction.up,this._lastPosition=this.start,this.root.toggleClass(this.classPrefix+"direction-down",this.direction.down).toggleClass(this.classPrefix+"direction-up",this.direction.up),this},_initHandlers:function(){var t=this;return this.scrollLinks.on("click",function(n){n.stopPropagation(),n.preventDefault();var e=a(this).attr("href"),o=""===a(this).data("viewport-scroll")||a(this).data("viewport-scroll");t.scrollTo("#"===e?0:a(e),o)}),this},_measure:function(){return this.height=a(window).height(),this.width=a(window).width(),this.orientation.landscape=1this.width,this.state.large=!this.state.small,this.root.toggleClass(this.classPrefix+"small",this.state.small).toggleClass(this.classPrefix+"large",this.state.large).toggleClass(this.classPrefix+"orientation-portrait",this.orientation.portrait).toggleClass(this.classPrefix+"orientation-landscape",this.orientation.landscape),this},_fixVH:function(){var e=this;return this.vhItems.each(function(t,n){var o=e.height/100;a(n).outerHeight(Math.round(o*a(n).data("viewport-vh")))}),this},_assureOffset:function(e){var t=0;return"string"==typeof e&&(e=a(e)),e instanceof a&&e.length&&(t=e.offset().top),"number"==typeof e&&(t=e),t},isTopInView:function(e){var t=this._assureOffset(e)-this._addToolbar();return t>=this.start&&t<=this.end},scrollTo:function(e,t){var n=this._assureOffset(e);return(t="undefined"==typeof t||t,!t&&this.isTopInView(n))?this:(this._executeScroll(n),this)},scrollToHash:function(){return window.location.hash&&(a(window).scrollTop(0),this.scrollTo(a(window.location.hash))),this},disableScroll:function(){return this.state.disabledScroll=!0,this.root.css("overflow","hidden").addClass(this.classPrefix+"disabled-scroll"),this},enableScroll:function(){return this.state.disabledScroll=!1,this.root.css("overflow","initial").removeClass(this.classPrefix+"disabled-scroll"),this},update:function(){return this._initHandlers()._afterResize(),this},init:function(e){var t=this,n=this;return e&&o(this,e),n._readConfigFromDom().update(),a(window).on("load",function(){n.root.removeClass(t.classPrefix+"loading").addClass(t.classPrefix+"loaded"),n.loaded=!0}).on("scroll",function(){n._afterScroll()}).on("resize",function(){n._afterResize()}),this}}},function(e,t,n){function a(e){return!!e&&"object"==typeof e}function o(e,t,n,r,d){if(!l(e))return e;var p=s(t)&&(g(t)||m(t)),u=p?void 0:h(t);return c(u||t,function(s,l){if(u&&(l=s,s=t[l]),a(s))r||(r=[]),d||(d=[]),i(e,t,l,o,n,r,d);else{var c=e[l],g=n?n(c,s,l,e,t):void 0,f=void 0===g;f&&(g=s),(void 0!==g||p&&!(l in e))&&(f||(g===g?g!==c:c===c))&&(e[l]=g)}}),e}function i(e,t,n,a,o,i,r){for(var l=i.length,c=t[n];l--;)if(i[l]==c)return void(e[n]=r[l]);var p=e[n],h=o?o(p,c,n,e,t):void 0,x=h===void 0;x&&(h=c,s(c)&&(g(c)||m(c))?h=g(p)?p:s(p)?d(p):[]:f(c)||u(c)?h=u(p)?y(p):f(p)?p:{}:x=!1),i.push(c),r.push(h),x?e[n]=a(h,c,o,i,r):(h===h?h!==p:p===p)&&(e[n]=h)}function s(e){return null!=e&&r(x(e))}function r(e){return"number"==typeof e&&-1s?void 0:r,s=1);++i/g,">")}function n(e){return e.nodeName.toLowerCase()}function a(e,t){var n=e&&e.exec(t);return n&&0===n.index}function o(e){return C.test(e)}function i(e){var t=e.className+" ",n,a,s,r;if(t+=e.parentNode?e.parentNode.className:"",a=E.exec(t),a)return x(a[1])?a[1]:"no-highlight";for(t=t.split(/\s+/),n=0,s=t.length;n"}function r(e){c+=""}function l(e){("start"===e.event?s:r)(e.node)}for(var d=0,c="",p=[],u;e.length||a.length;)if(u=i(),c+=t(o.substring(d,u[0].offset)),d=u[0].offset,u===e){p.reverse().forEach(r);do l(u.splice(0,1)[0]),u=i();while(u===e&&u.length&&u[0].offset===d);p.reverse().forEach(s)}else"start"===u[0].event?p.push(u[0].node):p.pop(),l(u.splice(0,1)[0]);return c+t(o.substr(d))}function d(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return s(e,{variants:null},t)})),e.cached_variants||e.endsWithParent&&[s(e)]||[e]}function c(e){function t(e){return e&&e.source||e}function n(n,a){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(a?"g":""))}function a(o,i){if(!o.compiled){if(o.compiled=!0,o.keywords=o.keywords||o.beginKeywords,o.keywords){var s={},r=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");s[n[0]]=[t,n[1]?+n[1]:1]})};"string"==typeof o.keywords?r("keyword",o.keywords):v(o.keywords).forEach(function(e){r(e,o.keywords[e])}),o.keywords=s}o.lexemesRe=n(o.lexemes||/\w+/,!0),i&&(o.beginKeywords&&(o.begin="\\b("+o.beginKeywords.split(" ").join("|")+")\\b"),!o.begin&&(o.begin=/\B|\b/),o.beginRe=n(o.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(o.endRe=n(o.end)),o.terminator_end=t(o.end)||"",o.endsWithParent&&i.terminator_end&&(o.terminator_end+=(o.end?"|":"")+i.terminator_end)),o.illegal&&(o.illegalRe=n(o.illegal)),null==o.relevance&&(o.relevance=1),o.contains||(o.contains=[]),o.contains=Array.prototype.concat.apply([],o.contains.map(function(e){return d("self"===e?o:e)})),o.contains.forEach(function(e){a(e,o)}),o.starts&&a(o.starts,i);var l=o.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([o.terminator_end,o.illegal]).map(t).filter(Boolean);o.terminators=l.length?n(l.join("|"),!0):{exec:function(){return null}}}}a(e)}function p(e,n,o,i){function s(e,t){var n,o;for(n=0,o=t.contains.length;n";return i+=e+"\">",i+t+s}function f(){var e,n,a,o;if(!T.keywords)return t(k);for(o="",n=0,T.lexemesRe.lastIndex=0,a=T.lexemesRe.exec(k);a;)o+=t(k.substring(n,a.index)),e=d(T,a),e?(_+=e[1],o+=g(e[0],t(a[0]))):o+=t(a[0]),n=T.lexemesRe.lastIndex,a=T.lexemesRe.exec(k);return o+t(k.substr(n))}function m(){var e="string"==typeof T.subLanguage;if(e&&!w[T.subLanguage])return t(k);var n=e?p(T.subLanguage,k,!0,C[T.subLanguage]):u(k,T.subLanguage.length?T.subLanguage:void 0);return 0")+"\"");return k+=t,t.length||1}var v=x(e);if(!v)throw new Error("Unknown language: \""+e+"\"");c(v);var T=i||v,C={},E="",N;for(N=T;N!==v;N=N.parent)N.className&&(E=g(N.className,"",!0)+E);var k="",_=0;try{for(var j=0,A,D;T.terminators.lastIndex=j,A=T.terminators.exec(n),!!A;)D=b(n.substring(j,A.index),A[0]),j=A.index+D;for(b(n.substr(j)),N=T;N.parent;N=N.parent)N.className&&(E+="");return{relevance:_,value:E,language:e,top:T}}catch(a){if(a.message&&-1!==a.message.indexOf("Illegal"))return{relevance:0,value:t(n)};throw a}}function u(e,n){n=n||S.languages||v(w);var a={relevance:0,value:t(e)},o=a;return n.filter(x).forEach(function(t){var n=p(t,e,!1);n.language=t,n.relevance>o.relevance&&(o=n),n.relevance>a.relevance&&(o=a,a=n)}),o.language&&(a.second_best=o),a}function g(e){return S.tabReplace||S.useBR?e.replace(N,function(e,t){return S.useBR&&"\n"===e?"
":S.tabReplace?t.replace(/\t/g,S.tabReplace):""}):e}function f(e,t,n){var a=t?T[t]:n,o=[e.trim()];return e.match(/\bhljs\b/)||o.push("hljs"),-1===e.indexOf(a)&&o.push(a),o.join(" ").trim()}function m(e){var t=i(e),n,a,s,d,c;o(t)||(S.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,c=n.textContent,s=t?p(t,c,!0):u(c),a=r(n),a.length&&(d=document.createElementNS("http://www.w3.org/1999/xhtml","div"),d.innerHTML=s.value,s.value=l(a,r(d),c)),s.value=g(s.value),e.innerHTML=s.value,e.className=f(e.className,t,s.language),e.result={language:s.language,re:s.relevance},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.relevance}))}function h(e){S=s(S,e)}function y(){if(!y.called){y.called=!0;var e=document.querySelectorAll("pre code");b.forEach.call(e,m)}}function x(e){return e=(e||"").toLowerCase(),w[e]||w[T[e]]}var b=[],v=Object.keys,w={},T={},C=/^(no-?highlight|plain|text)$/i,E=/\blang(?:uage)?-([\w-]+)\b/i,N=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,S={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=p,e.highlightAuto=u,e.fixMarkup=g,e.highlightBlock=m,e.configure=h,e.initHighlighting=y,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",y,!1),addEventListener("load",y,!1)},e.registerLanguage=function(t,n){var a=w[t]=n(e);a.aliases&&a.aliases.forEach(function(e){T[e]=t})},e.listLanguages=function(){return v(w)},e.getLanguage=x,e.inherit=s,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:"\"",end:"\"",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,a){var o=e.inherit({className:"comment",begin:t,end:n,contains:[]},a||{});return o.contains.push(e.PHRASAL_WORDS_MODE),o.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),o},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0},e})},function(e){e.exports=function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},a={className:"string",begin:/'/,end:/'/};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,n,a,t]}}},function(e){e.exports=function(e){var t={begin:"\\$+[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*"},n={className:"meta",begin:/<\?(php)?|\?>/},a={className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"b\"",end:"\""},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},o={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{aliases:["php3","php4","php5","php6"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[n]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:e.UNDERSCORE_IDENT_RE}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},n,{className:"keyword",begin:/\$this\b/},t,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",t,e.C_BLOCK_COMMENT_MODE,a,o]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,o]}}},function(e){e.exports=function(e){var t={endsWithParent:!0,illegal:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0}]},{className:"tag",begin:"|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"meta",variants:[{begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?\w+/,end:/\?>/}]},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}}]); 2 | --------------------------------------------------------------------------------