From af0d34f2fa73383c37d2dbcb6d71502589271a45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rez?= <jpl@jesusperez.pro>
Date: Wed, 14 Aug 2024 19:09:13 +0100
Subject: [PATCH] Init repo

---
 CHANGELOG.md                                  | 1046 +++
 CODE_OF_CONDUCT.md                            |    3 +
 CONTRIBUTING.md                               |  175 +
 Cargo.toml                                    |   74 +
 LICENSE                                       |  362 +
 README.md                                     |   79 +
 ci/install-rust.sh                            |   30 +
 ci/make-release-asset.sh                      |   53 +
 examples/nop-preprocessor.rs                  |  160 +
 guide/book.toml                               |   33 +
 guide/src/404.md                              |    3 +
 guide/src/README.md                           |   41 +
 guide/src/SUMMARY.md                          |   43 +
 guide/src/cli/README.md                       |   14 +
 guide/src/cli/build.md                        |   40 +
 guide/src/cli/clean.md                        |   30 +
 guide/src/cli/completions.md                  |   20 +
 guide/src/cli/init.md                         |   82 +
 guide/src/cli/serve.md                        |   56 +
 guide/src/cli/test.md                         |   67 +
 guide/src/cli/watch.md                        |   40 +
 guide/src/continuous-integration.md           |  121 +
 guide/src/for_developers/README.md            |   47 +
 guide/src/for_developers/backends.md          |  346 +
 .../mdbook-wordcount/Cargo.toml               |    9 +
 .../mdbook-wordcount/src/main.rs              |   49 +
 guide/src/for_developers/preprocessors.md     |  134 +
 guide/src/format/README.md                    |    8 +
 guide/src/format/configuration/README.md      |   12 +
 .../configuration/environment-variables.md    |   38 +
 guide/src/format/configuration/general.md     |  118 +
 .../src/format/configuration/preprocessors.md |   87 +
 guide/src/format/configuration/renderers.md   |  317 +
 guide/src/format/example.rs                   |    6 +
 guide/src/format/images/rust-logo-blk.svg     |    1 +
 guide/src/format/markdown.md                  |  235 +
 guide/src/format/mathjax.md                   |   43 +
 guide/src/format/mdbook.md                    |  364 +
 guide/src/format/summary.md                   |   99 +
 guide/src/format/theme/README.md              |   52 +
 guide/src/format/theme/editor.md              |   48 +
 guide/src/format/theme/index-hbs.md           |  101 +
 guide/src/format/theme/syntax-highlighting.md |   90 +
 guide/src/guide/README.md                     |    7 +
 guide/src/guide/creating.md                   |  109 +
 guide/src/guide/installation.md               |   52 +
 guide/src/guide/reading.md                    |   74 +
 guide/src/misc/contributors.md                |   24 +
 release.toml                                  |    3 +
 sitefix-book/README.md                        |   34 +
 sitefix-book/book.toml                        |   40 +
 sitefix-book/context.toml                     |    1 +
 sitefix-book/my-theme/index.hbs               |  346 +
 sitefix-book/src/README.md                    |   12 +
 sitefix-book/src/SUMMARY.md                   |   33 +
 sitefix-book/src/individual/README.md         |   17 +
 sitefix-book/src/individual/blockquote.md     |   30 +
 sitefix-book/src/individual/code.md           |   31 +
 sitefix-book/src/individual/emphasis.md       |   13 +
 sitefix-book/src/individual/heading.md        |   21 +
 sitefix-book/src/individual/image.md          |   27 +
 sitefix-book/src/individual/linebreak.md      |    8 +
 sitefix-book/src/individual/link_hr.md        |   15 +
 sitefix-book/src/individual/list.md           |   35 +
 sitefix-book/src/individual/mixed.md          |   64 +
 sitefix-book/src/individual/paragraph.md      |   25 +
 sitefix-book/src/individual/strikethrough.md  |    5 +
 sitefix-book/src/individual/table.md          |   28 +
 sitefix-book/src/individual/task.md           |   11 +
 sitefix-book/src/languages/README.md          |   47 +
 sitefix-book/src/languages/highlight.md       |  930 +++
 sitefix-book/src/prefix.md                    |    3 +
 sitefix-book/src/rust/README.md               |    1 +
 sitefix-book/src/rust/rust_codeblock.md       |   27 +
 sitefix-book/src/suffix.md                    |    3 +
 src/book/book.rs                              |  638 ++
 src/book/init.rs                              |  221 +
 src/book/mod.rs                               |  877 ++
 src/book/summary.rs                           | 1098 +++
 src/cmd/build.rs                              |   38 +
 src/cmd/clean.rs                              |   32 +
 src/cmd/command_prelude.rs                    |   45 +
 src/cmd/init.rs                               |  120 +
 src/cmd/mod.rs                                |   11 +
 src/cmd/serve.rs                              |  164 +
 src/cmd/test.rs                               |   58 +
 src/cmd/watch.rs                              |  229 +
 src/config.rs                                 | 1323 +++
 src/lib.rs                                    |  108 +
 src/main.rs                                   |  146 +
 src/preprocess/cmd.rs                         |  208 +
 src/preprocess/index.rs                       |  105 +
 src/preprocess/links.rs                       |  940 +++
 src/preprocess/mod.rs                         |   69 +
 src/renderer/html_handlebars/hbs_renderer.rs  | 1292 +++
 src/renderer/html_handlebars/helpers/mod.rs   |    3 +
 .../html_handlebars/helpers/navigation.rs     |  302 +
 src/renderer/html_handlebars/helpers/theme.rs |   38 +
 src/renderer/html_handlebars/helpers/toc.rs   |  222 +
 src/renderer/html_handlebars/mod.rs           |    9 +
 src/renderer/html_handlebars/search.rs        |  287 +
 src/renderer/markdown_renderer.rs             |   52 +
 src/renderer/mod.rs                           |  266 +
 .../FontAwesome/css/font-awesome.min.css      |    4 +
 src/theme/FontAwesome/fonts/FontAwesome.otf   |  Bin 0 -> 134808 bytes
 .../FontAwesome/fonts/fontawesome-webfont.eot |  Bin 0 -> 165742 bytes
 .../FontAwesome/fonts/fontawesome-webfont.svg | 2671 ++++++
 .../FontAwesome/fonts/fontawesome-webfont.ttf |  Bin 0 -> 165548 bytes
 .../fonts/fontawesome-webfont.woff            |  Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2           |  Bin 0 -> 77160 bytes
 src/theme/ayu-highlight.css                   |   78 +
 src/theme/book.js                             |  697 ++
 src/theme/clipboard.min.js                    |    7 +
 src/theme/css/chrome.css                      |  606 ++
 src/theme/css/general.css                     |  234 +
 src/theme/css/print.css                       |   50 +
 src/theme/css/variables.css                   |  279 +
 src/theme/favicon.png                         |  Bin 0 -> 5679 bytes
 src/theme/favicon.svg                         |   22 +
 src/theme/fonts/OPEN-SANS-LICENSE.txt         |  202 +
 src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt   |   93 +
 src/theme/fonts/fonts.css                     |  100 +
 src/theme/fonts/mod.rs                        |   61 +
 .../open-sans-v17-all-charsets-300.woff2      |  Bin 0 -> 44352 bytes
 ...open-sans-v17-all-charsets-300italic.woff2 |  Bin 0 -> 40656 bytes
 .../open-sans-v17-all-charsets-600.woff2      |  Bin 0 -> 44936 bytes
 ...open-sans-v17-all-charsets-600italic.woff2 |  Bin 0 -> 42120 bytes
 .../open-sans-v17-all-charsets-700.woff2      |  Bin 0 -> 44988 bytes
 ...open-sans-v17-all-charsets-700italic.woff2 |  Bin 0 -> 40800 bytes
 .../open-sans-v17-all-charsets-800.woff2      |  Bin 0 -> 44536 bytes
 ...open-sans-v17-all-charsets-800italic.woff2 |  Bin 0 -> 40812 bytes
 .../open-sans-v17-all-charsets-italic.woff2   |  Bin 0 -> 41076 bytes
 .../open-sans-v17-all-charsets-regular.woff2  |  Bin 0 -> 43236 bytes
 ...source-code-pro-v11-all-charsets-500.woff2 |  Bin 0 -> 59140 bytes
 src/theme/head.hbs                            |    1 +
 src/theme/header.hbs                          |    1 +
 src/theme/highlight.css                       |   82 +
 src/theme/highlight.js                        |   53 +
 src/theme/index.hbs                           |  346 +
 src/theme/mod.rs                              |  300 +
 src/theme/playground_editor/ace.js            |   43 +
 src/theme/playground_editor/editor.js         |   29 +
 src/theme/playground_editor/mod.rs            |    7 +
 src/theme/playground_editor/mode-rust.js      |    7 +
 src/theme/playground_editor/theme-dawn.js     |    7 +
 .../playground_editor/theme-tomorrow_night.js |    7 +
 src/theme/redirect.hbs                        |   12 +
 src/theme/searcher/elasticlunr.min.js         |   10 +
 src/theme/searcher/mark.min.js                |    7 +
 src/theme/searcher/mod.rs                     |    6 +
 src/theme/searcher/searcher.js                |  483 ++
 src/theme/tomorrow-night.css                  |  102 +
 src/utils/fs.rs                               |  328 +
 src/utils/mod.rs                              |  489 ++
 src/utils/string.rs                           |  256 +
 src/utils/toml_ext.rs                         |  130 +
 test_book/book.toml                           |   27 +
 test_book/src/README.md                       |   12 +
 test_book/src/SUMMARY.md                      |   33 +
 test_book/src/individual/README.md            |   17 +
 test_book/src/individual/blockquote.md        |   30 +
 test_book/src/individual/code.md              |   33 +
 test_book/src/individual/emphasis.md          |   13 +
 test_book/src/individual/heading.md           |   21 +
 test_book/src/individual/image.md             |   27 +
 test_book/src/individual/linebreak.md         |    8 +
 test_book/src/individual/link_hr.md           |   15 +
 test_book/src/individual/list.md              |   35 +
 test_book/src/individual/mixed.md             |   64 +
 test_book/src/individual/paragraph.md         |   25 +
 test_book/src/individual/strikethrough.md     |    7 +
 test_book/src/individual/table.md             |   28 +
 test_book/src/individual/task.md              |   11 +
 test_book/src/languages/README.md             |   48 +
 test_book/src/languages/highlight.md          |  947 +++
 test_book/src/prefix.md                       |    3 +
 test_book/src/rust/README.md                  |    1 +
 test_book/src/rust/rust_codeblock.md          |   27 +
 test_book/src/suffix.md                       |    3 +
 tests/alternative_backends.rs                 |  164 +
 tests/build_process.rs                        |   78 +
 tests/cli/build.rs                            |   28 +
 tests/cli/cmd.rs                              |    7 +
 tests/cli/init.rs                             |   24 +
 tests/cli/mod.rs                              |    4 +
 tests/cli/test.rs                             |   34 +
 tests/cli_tests.rs                            |    2 +
 tests/custom_preprocessors.rs                 |   56 +
 tests/dummy_book/index_html_test/SUMMARY.md   |   11 +
 tests/dummy_book/index_html_test/chapter_1.md |    1 +
 tests/dummy_book/mod.rs                       |  145 +
 tests/dummy_book/src/README.md                |    5 +
 tests/dummy_book/src/SUMMARY.md               |   23 +
 tests/dummy_book/src/conclusion.md            |   20 +
 tests/dummy_book/src/example.rs               |    6 +
 .../dummy_book/src/first/duplicate-headers.md |    9 +
 .../src/first/heading-attributes.md           |    5 +
 tests/dummy_book/src/first/includes.md        |    3 +
 tests/dummy_book/src/first/index.md           |    5 +
 tests/dummy_book/src/first/markdown.md        |   29 +
 .../src/first/nested-test-with-anchors.rs     |   11 +
 tests/dummy_book/src/first/nested-test.rs     |    1 +
 tests/dummy_book/src/first/nested.md          |   31 +
 tests/dummy_book/src/first/no-headers.md      |    5 +
 .../partially-included-test-with-anchors.rs   |   11 +
 .../src/first/partially-included-test.rs      |    7 +
 tests/dummy_book/src/first/recursive.md       |    2 +
 tests/dummy_book/src/first/unicode.md         |   21 +
 tests/dummy_book/src/intro.md                 |    3 +
 tests/dummy_book/src/second.md                |    5 +
 tests/dummy_book/src/second/nested.md         |   16 +
 tests/dummy_book/src2/README.md               |    1 +
 tests/dummy_book/src2/SUMMARY.md              |    7 +
 tests/dummy_book/src2/first/README.md         |    1 +
 tests/dummy_book/src2/second/README.md        |    1 +
 tests/dummy_book/src2/second/index.md         |    1 +
 .../dummy_book/summary-formatting/SUMMARY.md  |    6 +
 tests/init.rs                                 |  159 +
 tests/parse_existing_summary_files.rs         |   43 +
 tests/rendered_output.rs                      |  970 +++
 tests/searchindex_fixture.json                | 7282 +++++++++++++++++
 tests/summary_md_files/example_book.md        |   20 +
 tests/summary_md_files/rust_by_example.md     |  191 +
 tests/summary_md_files/rust_ffi_guide.md      |   19 +
 .../summary_md_files/the_book-2nd_edition.md  |  130 +
 tests/testing.rs                              |   47 +
 triagebot.toml                                |   23 +
 227 files changed, 34671 insertions(+)
 create mode 100644 CHANGELOG.md
 create mode 100644 CODE_OF_CONDUCT.md
 create mode 100644 CONTRIBUTING.md
 create mode 100644 Cargo.toml
 create mode 100644 LICENSE
 create mode 100644 README.md
 create mode 100755 ci/install-rust.sh
 create mode 100755 ci/make-release-asset.sh
 create mode 100644 examples/nop-preprocessor.rs
 create mode 100644 guide/book.toml
 create mode 100644 guide/src/404.md
 create mode 100644 guide/src/README.md
 create mode 100644 guide/src/SUMMARY.md
 create mode 100644 guide/src/cli/README.md
 create mode 100644 guide/src/cli/build.md
 create mode 100644 guide/src/cli/clean.md
 create mode 100644 guide/src/cli/completions.md
 create mode 100644 guide/src/cli/init.md
 create mode 100644 guide/src/cli/serve.md
 create mode 100644 guide/src/cli/test.md
 create mode 100644 guide/src/cli/watch.md
 create mode 100644 guide/src/continuous-integration.md
 create mode 100644 guide/src/for_developers/README.md
 create mode 100644 guide/src/for_developers/backends.md
 create mode 100644 guide/src/for_developers/mdbook-wordcount/Cargo.toml
 create mode 100644 guide/src/for_developers/mdbook-wordcount/src/main.rs
 create mode 100644 guide/src/for_developers/preprocessors.md
 create mode 100644 guide/src/format/README.md
 create mode 100644 guide/src/format/configuration/README.md
 create mode 100644 guide/src/format/configuration/environment-variables.md
 create mode 100644 guide/src/format/configuration/general.md
 create mode 100644 guide/src/format/configuration/preprocessors.md
 create mode 100644 guide/src/format/configuration/renderers.md
 create mode 100644 guide/src/format/example.rs
 create mode 100644 guide/src/format/images/rust-logo-blk.svg
 create mode 100644 guide/src/format/markdown.md
 create mode 100644 guide/src/format/mathjax.md
 create mode 100644 guide/src/format/mdbook.md
 create mode 100644 guide/src/format/summary.md
 create mode 100644 guide/src/format/theme/README.md
 create mode 100644 guide/src/format/theme/editor.md
 create mode 100644 guide/src/format/theme/index-hbs.md
 create mode 100644 guide/src/format/theme/syntax-highlighting.md
 create mode 100644 guide/src/guide/README.md
 create mode 100644 guide/src/guide/creating.md
 create mode 100644 guide/src/guide/installation.md
 create mode 100644 guide/src/guide/reading.md
 create mode 100644 guide/src/misc/contributors.md
 create mode 100644 release.toml
 create mode 100644 sitefix-book/README.md
 create mode 100644 sitefix-book/book.toml
 create mode 100644 sitefix-book/context.toml
 create mode 100644 sitefix-book/my-theme/index.hbs
 create mode 100644 sitefix-book/src/README.md
 create mode 100644 sitefix-book/src/SUMMARY.md
 create mode 100644 sitefix-book/src/individual/README.md
 create mode 100644 sitefix-book/src/individual/blockquote.md
 create mode 100644 sitefix-book/src/individual/code.md
 create mode 100644 sitefix-book/src/individual/emphasis.md
 create mode 100644 sitefix-book/src/individual/heading.md
 create mode 100644 sitefix-book/src/individual/image.md
 create mode 100644 sitefix-book/src/individual/linebreak.md
 create mode 100644 sitefix-book/src/individual/link_hr.md
 create mode 100644 sitefix-book/src/individual/list.md
 create mode 100644 sitefix-book/src/individual/mixed.md
 create mode 100644 sitefix-book/src/individual/paragraph.md
 create mode 100644 sitefix-book/src/individual/strikethrough.md
 create mode 100644 sitefix-book/src/individual/table.md
 create mode 100644 sitefix-book/src/individual/task.md
 create mode 100644 sitefix-book/src/languages/README.md
 create mode 100644 sitefix-book/src/languages/highlight.md
 create mode 100644 sitefix-book/src/prefix.md
 create mode 100644 sitefix-book/src/rust/README.md
 create mode 100644 sitefix-book/src/rust/rust_codeblock.md
 create mode 100644 sitefix-book/src/suffix.md
 create mode 100644 src/book/book.rs
 create mode 100644 src/book/init.rs
 create mode 100644 src/book/mod.rs
 create mode 100644 src/book/summary.rs
 create mode 100644 src/cmd/build.rs
 create mode 100644 src/cmd/clean.rs
 create mode 100644 src/cmd/command_prelude.rs
 create mode 100644 src/cmd/init.rs
 create mode 100644 src/cmd/mod.rs
 create mode 100644 src/cmd/serve.rs
 create mode 100644 src/cmd/test.rs
 create mode 100644 src/cmd/watch.rs
 create mode 100644 src/config.rs
 create mode 100644 src/lib.rs
 create mode 100644 src/main.rs
 create mode 100644 src/preprocess/cmd.rs
 create mode 100644 src/preprocess/index.rs
 create mode 100644 src/preprocess/links.rs
 create mode 100644 src/preprocess/mod.rs
 create mode 100644 src/renderer/html_handlebars/hbs_renderer.rs
 create mode 100644 src/renderer/html_handlebars/helpers/mod.rs
 create mode 100644 src/renderer/html_handlebars/helpers/navigation.rs
 create mode 100644 src/renderer/html_handlebars/helpers/theme.rs
 create mode 100644 src/renderer/html_handlebars/helpers/toc.rs
 create mode 100644 src/renderer/html_handlebars/mod.rs
 create mode 100644 src/renderer/html_handlebars/search.rs
 create mode 100644 src/renderer/markdown_renderer.rs
 create mode 100644 src/renderer/mod.rs
 create mode 100644 src/theme/FontAwesome/css/font-awesome.min.css
 create mode 100644 src/theme/FontAwesome/fonts/FontAwesome.otf
 create mode 100644 src/theme/FontAwesome/fonts/fontawesome-webfont.eot
 create mode 100644 src/theme/FontAwesome/fonts/fontawesome-webfont.svg
 create mode 100644 src/theme/FontAwesome/fonts/fontawesome-webfont.ttf
 create mode 100644 src/theme/FontAwesome/fonts/fontawesome-webfont.woff
 create mode 100644 src/theme/FontAwesome/fonts/fontawesome-webfont.woff2
 create mode 100644 src/theme/ayu-highlight.css
 create mode 100644 src/theme/book.js
 create mode 100644 src/theme/clipboard.min.js
 create mode 100644 src/theme/css/chrome.css
 create mode 100644 src/theme/css/general.css
 create mode 100644 src/theme/css/print.css
 create mode 100644 src/theme/css/variables.css
 create mode 100644 src/theme/favicon.png
 create mode 100755 src/theme/favicon.svg
 create mode 100755 src/theme/fonts/OPEN-SANS-LICENSE.txt
 create mode 100644 src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt
 create mode 100644 src/theme/fonts/fonts.css
 create mode 100644 src/theme/fonts/mod.rs
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-300.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-300italic.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-600.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-600italic.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-700.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-700italic.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-800.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-800italic.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-italic.woff2
 create mode 100644 src/theme/fonts/open-sans-v17-all-charsets-regular.woff2
 create mode 100644 src/theme/fonts/source-code-pro-v11-all-charsets-500.woff2
 create mode 100644 src/theme/head.hbs
 create mode 100644 src/theme/header.hbs
 create mode 100644 src/theme/highlight.css
 create mode 100644 src/theme/highlight.js
 create mode 100644 src/theme/index.hbs
 create mode 100644 src/theme/mod.rs
 create mode 100644 src/theme/playground_editor/ace.js
 create mode 100644 src/theme/playground_editor/editor.js
 create mode 100644 src/theme/playground_editor/mod.rs
 create mode 100644 src/theme/playground_editor/mode-rust.js
 create mode 100644 src/theme/playground_editor/theme-dawn.js
 create mode 100644 src/theme/playground_editor/theme-tomorrow_night.js
 create mode 100644 src/theme/redirect.hbs
 create mode 100644 src/theme/searcher/elasticlunr.min.js
 create mode 100644 src/theme/searcher/mark.min.js
 create mode 100644 src/theme/searcher/mod.rs
 create mode 100644 src/theme/searcher/searcher.js
 create mode 100644 src/theme/tomorrow-night.css
 create mode 100644 src/utils/fs.rs
 create mode 100644 src/utils/mod.rs
 create mode 100644 src/utils/string.rs
 create mode 100644 src/utils/toml_ext.rs
 create mode 100644 test_book/book.toml
 create mode 100644 test_book/src/README.md
 create mode 100644 test_book/src/SUMMARY.md
 create mode 100644 test_book/src/individual/README.md
 create mode 100644 test_book/src/individual/blockquote.md
 create mode 100644 test_book/src/individual/code.md
 create mode 100644 test_book/src/individual/emphasis.md
 create mode 100644 test_book/src/individual/heading.md
 create mode 100644 test_book/src/individual/image.md
 create mode 100644 test_book/src/individual/linebreak.md
 create mode 100644 test_book/src/individual/link_hr.md
 create mode 100644 test_book/src/individual/list.md
 create mode 100644 test_book/src/individual/mixed.md
 create mode 100644 test_book/src/individual/paragraph.md
 create mode 100644 test_book/src/individual/strikethrough.md
 create mode 100644 test_book/src/individual/table.md
 create mode 100644 test_book/src/individual/task.md
 create mode 100644 test_book/src/languages/README.md
 create mode 100644 test_book/src/languages/highlight.md
 create mode 100644 test_book/src/prefix.md
 create mode 100644 test_book/src/rust/README.md
 create mode 100644 test_book/src/rust/rust_codeblock.md
 create mode 100644 test_book/src/suffix.md
 create mode 100644 tests/alternative_backends.rs
 create mode 100644 tests/build_process.rs
 create mode 100644 tests/cli/build.rs
 create mode 100644 tests/cli/cmd.rs
 create mode 100644 tests/cli/init.rs
 create mode 100644 tests/cli/mod.rs
 create mode 100644 tests/cli/test.rs
 create mode 100644 tests/cli_tests.rs
 create mode 100644 tests/custom_preprocessors.rs
 create mode 100644 tests/dummy_book/index_html_test/SUMMARY.md
 create mode 100644 tests/dummy_book/index_html_test/chapter_1.md
 create mode 100644 tests/dummy_book/mod.rs
 create mode 100644 tests/dummy_book/src/README.md
 create mode 100644 tests/dummy_book/src/SUMMARY.md
 create mode 100644 tests/dummy_book/src/conclusion.md
 create mode 100644 tests/dummy_book/src/example.rs
 create mode 100644 tests/dummy_book/src/first/duplicate-headers.md
 create mode 100644 tests/dummy_book/src/first/heading-attributes.md
 create mode 100644 tests/dummy_book/src/first/includes.md
 create mode 100644 tests/dummy_book/src/first/index.md
 create mode 100644 tests/dummy_book/src/first/markdown.md
 create mode 100644 tests/dummy_book/src/first/nested-test-with-anchors.rs
 create mode 100644 tests/dummy_book/src/first/nested-test.rs
 create mode 100644 tests/dummy_book/src/first/nested.md
 create mode 100644 tests/dummy_book/src/first/no-headers.md
 create mode 100644 tests/dummy_book/src/first/partially-included-test-with-anchors.rs
 create mode 100644 tests/dummy_book/src/first/partially-included-test.rs
 create mode 100644 tests/dummy_book/src/first/recursive.md
 create mode 100644 tests/dummy_book/src/first/unicode.md
 create mode 100644 tests/dummy_book/src/intro.md
 create mode 100644 tests/dummy_book/src/second.md
 create mode 100644 tests/dummy_book/src/second/nested.md
 create mode 100644 tests/dummy_book/src2/README.md
 create mode 100644 tests/dummy_book/src2/SUMMARY.md
 create mode 100644 tests/dummy_book/src2/first/README.md
 create mode 100644 tests/dummy_book/src2/second/README.md
 create mode 100644 tests/dummy_book/src2/second/index.md
 create mode 100644 tests/dummy_book/summary-formatting/SUMMARY.md
 create mode 100644 tests/init.rs
 create mode 100644 tests/parse_existing_summary_files.rs
 create mode 100644 tests/rendered_output.rs
 create mode 100644 tests/searchindex_fixture.json
 create mode 100644 tests/summary_md_files/example_book.md
 create mode 100644 tests/summary_md_files/rust_by_example.md
 create mode 100644 tests/summary_md_files/rust_ffi_guide.md
 create mode 100644 tests/summary_md_files/the_book-2nd_edition.md
 create mode 100644 tests/testing.rs
 create mode 100644 triagebot.toml

diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..8a515bc
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,1046 @@
+# Changelog
+
+## mdBook 0.4.36
+[v0.4.35...v0.4.36](https://github.com/rust-lang/mdBook/compare/v0.4.35...v0.4.36)
+
+### Added
+- Added Nim to the default highlighted languages.
+  [#2232](https://github.com/rust-lang/mdBook/pull/2232)
+- Added a small indicator for the sidebar resize handle.
+  [#2209](https://github.com/rust-lang/mdBook/pull/2209)
+
+### Changed
+- Updated dependencies. MSRV raised to 1.70.0.
+  [#2173](https://github.com/rust-lang/mdBook/pull/2173)
+  [#2250](https://github.com/rust-lang/mdBook/pull/2250)
+  [#2252](https://github.com/rust-lang/mdBook/pull/2252)
+
+### Fixed
+- Fixed blank column in print page when the sidebar was visible.
+  [#2235](https://github.com/rust-lang/mdBook/pull/2235)
+- Fixed indentation of code blocks when Javascript is disabled.
+  [#2162](https://github.com/rust-lang/mdBook/pull/2162)
+- Fixed a panic when `mdbook serve` or `mdbook watch` were given certain kinds of paths.
+  [#2229](https://github.com/rust-lang/mdBook/pull/2229)
+
+## mdBook 0.4.35
+[v0.4.34...v0.4.35](https://github.com/rust-lang/mdBook/compare/v0.4.34...v0.4.35)
+
+### Added
+- Added the `book.text-direction` setting for explicit support for right-to-left languages.
+  [#1641](https://github.com/rust-lang/mdBook/pull/1641)
+- Added `rel=prefetch` to the "next" links to potentially improve browser performance.
+  [#2168](https://github.com/rust-lang/mdBook/pull/2168)
+- Added a `.warning` CSS class which is styled for displaying warning blocks.
+  [#2187](https://github.com/rust-lang/mdBook/pull/2187)
+
+### Changed
+- Better support of the sidebar when JavaScript is disabled.
+  [#2175](https://github.com/rust-lang/mdBook/pull/2175)
+
+## mdBook 0.4.34
+[v0.4.33...v0.4.34](https://github.com/rust-lang/mdBook/compare/v0.4.33...v0.4.34)
+
+### Fixed
+- Fixed file change watcher failing on macOS with a large number of files.
+  [#2157](https://github.com/rust-lang/mdBook/pull/2157)
+
+## mdBook 0.4.33
+[v0.4.32...v0.4.33](https://github.com/rust-lang/mdBook/compare/v0.4.32...v0.4.33)
+
+### Added
+- The `color-scheme` CSS property is now set based on the light/dark theme, which applies some slight color differences in browser elements like scroll bars on some browsers.
+  [#2134](https://github.com/rust-lang/mdBook/pull/2134)
+
+### Fixed
+- Fixed watching of extra-watch-dirs when not running in the book root directory.
+  [#2146](https://github.com/rust-lang/mdBook/pull/2146)
+- Reverted the dependency update to the `toml` crate (again!). This was an unintentional breaking change in 0.4.32.
+  [#2021](https://github.com/rust-lang/mdBook/pull/2021)
+- Changed macOS change notifications to use the kqueue implementation which should fix some issues with repeated rebuilds when a file changed.
+  [#2152](https://github.com/rust-lang/mdBook/pull/2152)
+- Don't set a background color in the print page for code blocks in a header.
+  [#2150](https://github.com/rust-lang/mdBook/pull/2150)
+
+## mdBook 0.4.32
+[v0.4.31...v0.4.32](https://github.com/rust-lang/mdBook/compare/v0.4.31...v0.4.32)
+
+### Fixed
+- Fixed theme-color meta tag not syncing with the theme.
+  [#2118](https://github.com/rust-lang/mdBook/pull/2118)
+
+### Changed
+- Updated all dependencies.
+  [#2121](https://github.com/rust-lang/mdBook/pull/2121)
+  [#2122](https://github.com/rust-lang/mdBook/pull/2122)
+  [#2123](https://github.com/rust-lang/mdBook/pull/2123)
+  [#2124](https://github.com/rust-lang/mdBook/pull/2124)
+  [#2125](https://github.com/rust-lang/mdBook/pull/2125)
+  [#2126](https://github.com/rust-lang/mdBook/pull/2126)
+
+## mdBook 0.4.31
+[v0.4.30...v0.4.31](https://github.com/rust-lang/mdBook/compare/v0.4.30...v0.4.31)
+
+### Fixed
+- Fixed menu border render flash during page navigation.
+  [#2101](https://github.com/rust-lang/mdBook/pull/2101)
+- Fixed flicker setting sidebar scroll position.
+  [#2104](https://github.com/rust-lang/mdBook/pull/2104)
+- Fixed compile error with proc-macro2 on latest Rust nightly.
+  [#2109](https://github.com/rust-lang/mdBook/pull/2109)
+
+## mdBook 0.4.30
+[v0.4.29...v0.4.30](https://github.com/rust-lang/mdBook/compare/v0.4.29...v0.4.30)
+
+### Added
+- Added support for heading attributes.
+  Attributes are specified in curly braces just after the heading text.
+  An HTML ID can be specified with `#` and classes with `.`.
+  For example: `## My heading {#custom-id .class1 .class2}`
+  [#2013](https://github.com/rust-lang/mdBook/pull/2013)
+- Added support for hidden code lines for languages other than Rust.
+  The `output.html.code.hidelines` table allows you to define the prefix character that will be used to hide code lines based on the language.
+  [#2093](https://github.com/rust-lang/mdBook/pull/2093)
+
+### Fixed
+- Fixed a few minor markdown rendering issues.
+  [#2092](https://github.com/rust-lang/mdBook/pull/2092)
+
+## mdBook 0.4.29
+[v0.4.28...v0.4.29](https://github.com/rust-lang/mdBook/compare/v0.4.28...v0.4.29)
+
+### Changed
+- Built-in fonts are no longer copied when `fonts/fonts.css` is overridden in the theme directory.
+  Additionally, the warning about `copy-fonts` has been removed if `fonts/fonts.css` is specified.
+  [#2080](https://github.com/rust-lang/mdBook/pull/2080)
+- `mdbook init --force` now skips all interactive prompts as intended.
+  [#2057](https://github.com/rust-lang/mdBook/pull/2057)
+- Updated dependencies
+  [#2063](https://github.com/rust-lang/mdBook/pull/2063)
+  [#2086](https://github.com/rust-lang/mdBook/pull/2086)
+  [#2082](https://github.com/rust-lang/mdBook/pull/2082)
+  [#2084](https://github.com/rust-lang/mdBook/pull/2084)
+  [#2085](https://github.com/rust-lang/mdBook/pull/2085)
+
+### Fixed
+- Switched from the `gitignore` library to `ignore`. This should bring some improvements with gitignore handling.
+  [#2076](https://github.com/rust-lang/mdBook/pull/2076)
+
+## mdBook 0.4.28
+[v0.4.27...v0.4.28](https://github.com/rust-lang/mdBook/compare/v0.4.27...v0.4.28)
+
+### Changed
+- The sidebar is now shown on wide screens when localstorage is disabled.
+  [#2017](https://github.com/rust-lang/mdBook/pull/2017)
+- Preprocessors are now run with `mdbook test`.
+  [#1986](https://github.com/rust-lang/mdBook/pull/1986)
+
+### Fixed
+- Fixed regression in 0.4.26 that prevented the title bar from scrolling properly on smaller screens.
+  [#2039](https://github.com/rust-lang/mdBook/pull/2039)
+
+## mdBook 0.4.27
+[v0.4.26...v0.4.27](https://github.com/rust-lang/mdBook/compare/v0.4.26...v0.4.27)
+
+### Changed
+- Reverted the dependency update to the `toml` crate. This was an unintentional breaking change in 0.4.26.
+  [#2021](https://github.com/rust-lang/mdBook/pull/2021)
+
+## mdBook 0.4.26
+[v0.4.25...v0.4.26](https://github.com/rust-lang/mdBook/compare/v0.4.25...v0.4.26)
+
+**The 0.4.26 release has been yanked due to an unintentional breaking change.**
+
+### Changed
+- Removed custom scrollbars for webkit browsers
+  [#1961](https://github.com/rust-lang/mdBook/pull/1961)
+- Updated some dependencies
+  [#1998](https://github.com/rust-lang/mdBook/pull/1998)
+  [#2009](https://github.com/rust-lang/mdBook/pull/2009)
+  [#2011](https://github.com/rust-lang/mdBook/pull/2011)
+- Fonts are now part of the theme.
+  The `output.html.copy-fonts` option has been deprecated.
+  To define custom fonts, be sure to define `theme/fonts.css`.
+  [#1987](https://github.com/rust-lang/mdBook/pull/1987)
+
+### Fixed
+- Fixed overflow viewport issue with mobile Safari
+  [#1994](https://github.com/rust-lang/mdBook/pull/1994)
+
+## mdBook 0.4.25
+[e14d381...1ba74a3](https://github.com/rust-lang/mdBook/compare/e14d381...1ba74a3)
+
+### Fixed
+- Fixed a regression where `mdbook test -L deps path-to-book` would not work.
+  [#1959](https://github.com/rust-lang/mdBook/pull/1959)
+
+## mdBook 0.4.24
+[eb77083...8767ebf](https://github.com/rust-lang/mdBook/compare/eb77083...8767ebf)
+
+### Fixed
+- The precompiled linux-gnu mdbook binary available on [GitHub Releases](https://github.com/rust-lang/mdBook/releases) inadvertently switched to a newer version of glibc. This release goes back to an older version that should be more compatible on older versions of Linux.
+  [#1955](https://github.com/rust-lang/mdBook/pull/1955)
+
+## mdBook 0.4.23
+[678b469...68a75da](https://github.com/rust-lang/mdBook/compare/678b469...68a75da)
+
+### Changed
+- Updated all dependencies
+  [#1951](https://github.com/rust-lang/mdBook/pull/1951)
+  [#1952](https://github.com/rust-lang/mdBook/pull/1952)
+  [#1844](https://github.com/rust-lang/mdBook/pull/1844)
+- Updated minimum Rust version to 1.60.
+  [#1951](https://github.com/rust-lang/mdBook/pull/1951)
+
+### Fixed
+- Fixed a regression where playground code was missing hidden lines, preventing it from compiling correctly.
+  [#1950](https://github.com/rust-lang/mdBook/pull/1950)
+
+## mdBook 0.4.22
+[40c06f5...4844f72](https://github.com/rust-lang/mdBook/compare/40c06f5...4844f72)
+
+### Added
+- Added a `--chapter` option to `mdbook test` to specify a specific chapter to test.
+  [#1741](https://github.com/rust-lang/mdBook/pull/1741)
+- Added CSS styling for `<kbd>` tags.
+  [#1906](https://github.com/rust-lang/mdBook/pull/1906)
+- Added pre-compiled binaries for `x86_64-unknown-linux-musl` and `aarch64-unknown-linux-musl` (see [Releases](https://github.com/rust-lang/mdBook/releases)).
+  [#1862](https://github.com/rust-lang/mdBook/pull/1862)
+- Added `build.extra-watch-dirs` which is an array of additional directories to watch for changes when running `mdbook serve`.
+  [#1884](https://github.com/rust-lang/mdBook/pull/1884)
+
+### Changed
+- Removed the `type="text/javascript"` attribute from `<script>` tags.
+  [#1881](https://github.com/rust-lang/mdBook/pull/1881)
+- Switched to building with Rust Edition 2021.
+  This raises the minimum supported Rust version to 1.56.
+  [#1887](https://github.com/rust-lang/mdBook/pull/1887)
+- When hidden code is hidden, the hidden parts are no longer copied to the clipboard via the copy button.
+  [#1911](https://github.com/rust-lang/mdBook/pull/1911)
+- Various HTML changes and fixes to be more compliant with HTML5.
+  [#1924](https://github.com/rust-lang/mdBook/pull/1924)
+- The theme picker now shows which theme is currently selected.
+  [#1935](https://github.com/rust-lang/mdBook/pull/1935)
+
+### Fixed
+- Avoid blank line at the end of an ACE code block
+  [#1836](https://github.com/rust-lang/mdBook/pull/1836)
+
+
+## mdBook 0.4.21
+[92afe9b...8f01d02](https://github.com/rust-lang/mdBook/compare/92afe9b...8f01d02)
+
+### Fixed
+- Fixed an issue where mdBook would fail to compile with Rust nightly-2022-07-22.
+  [#1861](https://github.com/rust-lang/mdBook/pull/1861)
+
+## mdBook 0.4.20
+[53055e0...da166e0](https://github.com/rust-lang/mdBook/compare/53055e0...da166e0)
+
+### Fixed
+- Fixed a regression in 0.4.19 where inline code would have excessive padding
+  in some situations such as headings.
+  [#1855](https://github.com/rust-lang/mdBook/pull/1855)
+
+## mdBook 0.4.19
+[ae275ad...53055e0](https://github.com/rust-lang/mdBook/compare/ae275ad...53055e0)
+
+### Added
+- The `serve` command now supports HEAD requests.
+  [#1825](https://github.com/rust-lang/mdBook/pull/1825)
+
+### Changed
+- An error is now generated when a custom theme directory does not exist.
+  [#1791](https://github.com/rust-lang/mdBook/pull/1791)
+- Very wide tables now have independent horizontal scrolling so that scrolling
+  to see the rest of the table will not scroll the entire page.
+  [#1617](https://github.com/rust-lang/mdBook/pull/1617)
+- The buttons on code blocks are now only shown when the mouse cursor hovers
+  over them (or tapped on mobile). There is also some extra spacing to reduce
+  the overlap with the code.
+  [#1806](https://github.com/rust-lang/mdBook/pull/1806)
+- The first chapter always generates an `index.html` file. Previously it would
+  only generate the index file for prefix chapters.
+  [#1829](https://github.com/rust-lang/mdBook/pull/1829)
+
+### Fixed
+- `mdbook serve --open` now properly handles the case if the first chapter is a draft.
+  [#1714](https://github.com/rust-lang/mdBook/pull/1714)
+  [#1830](https://github.com/rust-lang/mdBook/pull/1830)
+- Very long words (over 80 characters) are no longer indexed to avoid a stack overflow.
+  [#1833](https://github.com/rust-lang/mdBook/pull/1833)
+
+## mdBook 0.4.18
+[981b79b...ae275ad](https://github.com/rust-lang/mdBook/compare/981b79b...ae275ad)
+
+### Fixed
+- Fixed rendering of SUMMARY links that contain markdown escapes or other
+  markdown elements.
+  [#1785](https://github.com/rust-lang/mdBook/pull/1785)
+
+## mdBook 0.4.17
+[a5fddfa...981b79b](https://github.com/rust-lang/mdBook/compare/a5fddfa...981b79b)
+
+### Fixed
+- Fixed parsing of `output.html.print` configuration table.
+  [#1775](https://github.com/rust-lang/mdBook/pull/1775)
+
+## mdBook 0.4.16
+[68a5c09...a5fddfa](https://github.com/rust-lang/mdBook/compare/68a5c09...a5fddfa)
+
+### Added
+- Added `output.html.print.page-break` config option to control whether or not
+  there is a page break between chapters in the print output.
+  [#1728](https://github.com/rust-lang/mdBook/pull/1728)
+- Added `output.html.playground.runnable` config option to globally disable
+  the run button in code blocks.
+  [#1546](https://github.com/rust-lang/mdBook/pull/1546)
+
+### Changed
+- The `mdbook serve` live reload websocket now uses the protocol, host, and
+  port of the current page, allowing access through a proxy.
+  [#1771](https://github.com/rust-lang/mdBook/pull/1771)
+- The 404 not-found page now includes the books title in the HTML title tag.
+  [#1693](https://github.com/rust-lang/mdBook/pull/1693)
+- Migrated to clap 3.0 which handles CLI option parsing.
+  [#1731](https://github.com/rust-lang/mdBook/pull/1731)
+
+### Fixed
+- Minor fixes to the markdown parser.
+  [#1729](https://github.com/rust-lang/mdBook/pull/1729)
+- Fixed incorrect parsing in `SUMMARY.md` when it didn't start with a title.
+  [#1744](https://github.com/rust-lang/mdBook/pull/1744)
+- Fixed duplicate anchor IDs for links in search results.
+  [#1749](https://github.com/rust-lang/mdBook/pull/1749)
+
+## mdBook 0.4.15
+[5eb7d46...68a5c09](https://github.com/rust-lang/mdBook/compare/5eb7d46...68a5c09)
+
+### Changed
+- Major update to expand the documentation located at <https://rust-lang.github.io/mdBook/>.
+  [#1709](https://github.com/rust-lang/mdBook/pull/1709)
+  [#1710](https://github.com/rust-lang/mdBook/pull/1710)
+- Updated the markdown parser with various fixes for common-mark compliance.
+  [#1712](https://github.com/rust-lang/mdBook/pull/1712)
+
+## mdBook 0.4.14
+[ffa8284...c9b6be8](https://github.com/rust-lang/mdBook/compare/ffa8284...c9b6be8)
+
+### Added
+- The 2021 Rust edition option has been stabilized.
+  [#1642](https://github.com/rust-lang/mdBook/pull/1642)
+
+### Changed
+- Header anchors no longer include any HTML tags. Previously only a small
+  subset were excluded.
+  [#1683](https://github.com/rust-lang/mdBook/pull/1683)
+- Deprecated the google-analytics option. Books using this option should place
+  the appropriate code in the `theme/head.hbs` file instead.
+  [#1675](https://github.com/rust-lang/mdBook/pull/1675)
+
+### Fixed
+- Updated the markdown parser which brings in a few small fixes and removes
+  the custom smart quote handling.
+  [#1668](https://github.com/rust-lang/mdBook/pull/1668)
+- Fixed iOS Safari enlarging text when going into landscape mode.
+  [#1685](https://github.com/rust-lang/mdBook/pull/1685)
+
+## mdBook 0.4.13
+[e6629cd...f55028b](https://github.com/rust-lang/mdBook/compare/e6629cd...f55028b)
+
+### Added
+
+- Added the ability to specify the preprocessor order.
+  [#1607](https://github.com/rust-lang/mdBook/pull/1607)
+
+### Fixed
+
+- Include chapters with no headers in the search index
+  [#1637](https://github.com/rust-lang/mdBook/pull/1637)
+- Switched to the `opener` crate for opening a web browser, which should fix
+  some issues with blocking.
+  [#1656](https://github.com/rust-lang/mdBook/pull/1656)
+- Fixed clicking the border of the theme switcher breaking the theme selection.
+  [#1651](https://github.com/rust-lang/mdBook/pull/1651)
+
+## mdBook 0.4.12
+[14add9c...8b4e488](https://github.com/rust-lang/mdBook/compare/14add9c...8b4e488)
+
+### Changed
+- Reverted the change to update to highlight.js 11, as it broke hidden code lines.
+  [#1597](https://github.com/rust-lang/mdBook/pull/1621)
+ 
+## mdBook 0.4.11
+[e440094...2cf00d0](https://github.com/rust-lang/mdBook/compare/e440094...2cf00d0)
+
+### Added
+- Added support for Rust 2021 edition.
+  [#1596](https://github.com/rust-lang/mdBook/pull/1596)
+- Added `mdbook completions` subcommand which provides shell completions.
+  [#1425](https://github.com/rust-lang/mdBook/pull/1425)
+- Added `--title` and `--ignore` flags to `mdbook init` to avoid the
+  interactive input.
+  [#1559](https://github.com/rust-lang/mdBook/pull/1559)
+
+### Changed
+- If running a Rust example does not have any output, it now displays the text
+  "No output" instead of not showing anything.
+  [#1599](https://github.com/rust-lang/mdBook/pull/1599)
+- Code block language tags can now be separated by space or tab (along with
+  commas) to match the behavior of other sites like GitHub and rustdoc.
+  [#1469](https://github.com/rust-lang/mdBook/pull/1469)
+- Updated `warp` (the web server) to the latest version.
+  This also updates the minimum supported Rust version to 1.46.
+  [#1612](https://github.com/rust-lang/mdBook/pull/1612)
+- Updated to highlight.js 11. This has various highlighting improvements.
+  [#1597](https://github.com/rust-lang/mdBook/pull/1597)
+
+### Fixed
+- Inline code blocks inside a header are no longer highlighted when
+  `output.html.playground.editable` is `true`.
+  [#1613](https://github.com/rust-lang/mdBook/pull/1613)
+
+## mdBook 0.4.10
+[2f7293a...dc2062a](https://github.com/rust-lang/mdBook/compare/2f7293a...dc2062a)
+
+### Changed
+- Reverted breaking change in 0.4.9 that removed the `__non_exhaustive` marker
+  on the `Book` struct.
+  [#1572](https://github.com/rust-lang/mdBook/pull/1572)
+- Updated handlebars to 4.0.
+  [#1550](https://github.com/rust-lang/mdBook/pull/1550)
+- Removed the `chapter_begin` id on the print page's chapter separators.
+  [#1541](https://github.com/rust-lang/mdBook/pull/1541)
+
+## mdBook 0.4.9
+[7e01cf9...d325c60](https://github.com/rust-lang/mdBook/compare/7e01cf9...d325c60)
+
+### Changed
+- Updated all dependencies and raised the minimum Rust version to 1.42.
+  [#1528](https://github.com/rust-lang/mdBook/pull/1528)
+- Added more detail to error message when a preprocessor fails.
+  [#1526](https://github.com/rust-lang/mdBook/pull/1526)
+- Set max-width of HTML video tags to 100% to match img tags.
+  [#1542](https://github.com/rust-lang/mdBook/pull/1542)
+
+### Fixed
+- Type errors when parsing `book.toml` are no longer ignored.
+  [#1539](https://github.com/rust-lang/mdBook/pull/1539)
+- Better handling if `mdbook serve` fails to start the http server.
+  [#1555](https://github.com/rust-lang/mdBook/pull/1555)
+- Fixed the path for `edit-url-template` if the book used a source directory
+  other than `src`.
+  [#1554](https://github.com/rust-lang/mdBook/pull/1554)
+
+## mdBook 0.4.8
+[fcceee4...b592b10](https://github.com/rust-lang/mdBook/compare/fcceee4...b592b10)
+
+### Added
+- Added the option `output.html.edit-url-template` which can be a URL which is
+  linked on each page to direct the user to a site (such as GitHub) where the
+  user can directly suggest an edit for the page they are currently reading.
+  [#1506](https://github.com/rust-lang/mdBook/pull/1506)
+
+### Changed
+- Printed output now includes a page break between chapters.
+  [#1485](https://github.com/rust-lang/mdBook/pull/1485)
+
+### Fixed
+- HTML, such as HTML comments, is now ignored if it appears above the title line
+  in `SUMMARY.md`.
+  [#1437](https://github.com/rust-lang/mdBook/pull/1437)
+
+## mdBook 0.4.7
+[9a9eb01...c83bbd6](https://github.com/rust-lang/mdBook/compare/9a9eb01...c83bbd6)
+
+### Changed
+- Updated shlex parser to fix a minor parsing issue (used by the
+  preprocessor/backend custom command config).
+  [#1471](https://github.com/rust-lang/mdBook/pull/1471)
+- Enhanced text contrast of `light` theme to improve accessibility.
+  [#1470](https://github.com/rust-lang/mdBook/pull/1470)
+
+### Fixed
+- Fixed some issues with fragment scrolling and linking.
+  [#1463](https://github.com/rust-lang/mdBook/pull/1463)
+
+## mdBook 0.4.6
+[eaa6914...1a0c296](https://github.com/rust-lang/mdBook/compare/eaa6914...1a0c296)
+
+### Changed
+- The chapter name is now included in the search breadcrumbs.
+  [#1389](https://github.com/rust-lang/mdBook/pull/1389)
+- Pressing Escape will remove the `?highlight` argument from the URL.
+  [#1427](https://github.com/rust-lang/mdBook/pull/1427)
+- `mdbook init --theme` will now place the theme in the root of the book
+  directory instead of in the `src` directory.
+  [#1432](https://github.com/rust-lang/mdBook/pull/1432)
+- A custom renderer that sets the `command` to a relative path now interprets
+  the relative path relative to the book root. Previously it was inconsistent
+  based on the platform (either relative to the current directory, or relative
+  to the renderer output directory). Paths relative to the output directory
+  are still supported with a deprecation warning.
+  [#1418](https://github.com/rust-lang/mdBook/pull/1418)
+- The `theme` directory in the config is now interpreted as relative to the
+  book root, instead of the current directory.
+  [#1405](https://github.com/rust-lang/mdBook/pull/1405)
+- Handle UTF-8 BOM for chapter sources.
+  [#1285](https://github.com/rust-lang/mdBook/pull/1285)
+- Removed extra whitespace added to `{{#playground}}` snippets.
+  [#1375](https://github.com/rust-lang/mdBook/pull/1375)
+
+### Fixed
+- Clicking on a search result with multiple search words will now correctly
+  highlight all of the words.
+  [#1426](https://github.com/rust-lang/mdBook/pull/1426)
+- Properly handle `<` and `>` characters in the table of contents.
+  [#1376](https://github.com/rust-lang/mdBook/pull/1376)
+- Fixed to properly serialize the `build` table in the config, which prevented
+  setting it in the API.
+  [#1378](https://github.com/rust-lang/mdBook/pull/1378)
+
+## mdBook 0.4.5
+[eaa6914...f66df09](https://github.com/rust-lang/mdBook/compare/eaa6914...f66df09)
+
+### Fixed
+
+- Fixed XSS in the search page.
+  [CVE-2020-26297](https://groups.google.com/g/rustlang-security-announcements/c/3-sO6of29O0)
+  [648c9ae](https://github.com/rust-lang/mdBook/commit/648c9ae772bec83f0a5954d17b4287d5bb1d6606)
+
+## mdBook 0.4.4
+[4df9ec9...01836ba](https://github.com/rust-lang/mdBook/compare/4df9ec9...01836ba)
+
+### Added
+- Added the `output.html.print.enable` configuration value to disable the
+  "print" page.
+  [#1169](https://github.com/rust-lang/mdBook/pull/1169)
+- Added a list of supported languages for syntax-highlighting to the
+  documentation.
+  [#1345](https://github.com/rust-lang/mdBook/pull/1345)
+
+### Fixed
+- Now supports symbolic links for files in the `src` directory.
+  [#1323](https://github.com/rust-lang/mdBook/pull/1323)
+
+## mdBook 0.4.3
+[9278b83...4df9ec9](https://github.com/rust-lang/mdBook/compare/9278b83...4df9ec9)
+
+### Added
+- Added `output.html.cname` option to emit a `CNAME` file which is used by
+  GitHub Pages to know which domain is being used.
+  [#1311](https://github.com/rust-lang/mdBook/pull/1311)
+
+### Changed
+- `mdbook test` no longer stops on the first test failure, but instead will
+  run all the tests.
+  [#1313](https://github.com/rust-lang/mdBook/pull/1313)
+- Removed the `local` font source for Source Code Pro, as the locally
+  installed font may not render properly on FireFox on macOS.
+  [#1307](https://github.com/rust-lang/mdBook/pull/1307)
+
+### Fixed
+- Added newline to end of `.nojekyll` file.
+  [#1310](https://github.com/rust-lang/mdBook/pull/1310)
+- Fixed missing space before draft chapter titles.
+  [#1309](https://github.com/rust-lang/mdBook/pull/1309)
+
+## mdBook 0.4.2
+[649f355...9278b83](https://github.com/rust-lang/mdBook/compare/649f355...9278b83)
+
+### Changed
+- The "show hidden lines" icon has changed from the "expand" icon to an "eye".
+  [#1281](https://github.com/rust-lang/mdBook/pull/1281)
+- Updated highlight.js. This adds several languages: c, c-like (effectively
+  cpp), csharp (replaces cs), kotlin, less, lua, php-template, plaintext,
+  python-repl, r, scss, typescript.
+  [#1277](https://github.com/rust-lang/mdBook/pull/1277)
+
+### Fixed
+- Fixed SUMMARY links that contained newlines.
+  [#1291](https://github.com/rust-lang/mdBook/pull/1291)
+- Fixed SUMMARY links that contain `%20` spaces.
+  [#1293](https://github.com/rust-lang/mdBook/pull/1293)
+- Fixed favicon so that if only the png or svg is overridden, the other is not
+  automatically included in the `<link>` tag.
+  [#1272](https://github.com/rust-lang/mdBook/pull/1272)
+
+## mdBook 0.4.1
+[d4df7e7...649f355](https://github.com/rust-lang/mdBook/compare/d4df7e7...649f355)
+
+### Changed
+- Removed several outdated dev-dependencies.
+  [#1267](https://github.com/rust-lang/mdBook/pull/1267)
+
+### Fixed
+- Fixed sidebar scrolling if the book includes part titles.
+  [#1265](https://github.com/rust-lang/mdBook/pull/1265)
+- Don't include the default favicon if only one of the PNG or SVG is overridden.
+  [#1266](https://github.com/rust-lang/mdBook/pull/1266)
+
+## mdBook 0.4.0
+[99ecd4f...d4df7e7](https://github.com/rust-lang/mdBook/compare/99ecd4f...d4df7e7)
+
+### Breaking Changes
+- Several of the changes in the release have altered the public API of the
+  mdbook library.
+- Many dependencies have been updated or replaced.
+  This also removes the `--websocket-hostname` and `--websocket-port` from
+  the `serve` command.
+  [#1211](https://github.com/rust-lang/mdBook/pull/1211)
+- A new "404" page is now automatically rendered. This requires knowledge of
+  the base URL of your site to work properly. If you decide to use this as
+  your 404 page, you should set the `site-url` setting in the book
+  configuration so mdbook can generate the links correctly. Alternatively you
+  can disable the 404 page generation, or set up your own 404 handling in your
+  web server.
+  [#1221](https://github.com/rust-lang/mdBook/pull/1221)
+- The `debug` and `output` features have been removed as they were unused.
+  [#1211](https://github.com/rust-lang/mdBook/pull/1211)
+- If you are using customized themes, you may want to consider setting the
+  `preferred-dark-theme` config setting, as it now defaults to "navy".
+  [#1199](https://github.com/rust-lang/mdBook/pull/1199)
+- "Playpen" has been renamed to "playground". This is generally backwards
+  compatible for users, but `{{#playpen}}` will now display warnings. This may
+  impact books that have modified the "playpen" elements in the theme.
+  [#1241](https://github.com/rust-lang/mdBook/pull/1241)
+- If a renderer is not installed, it is now treated as an error. If you want
+  the old behavior of ignoring missing renderers, set the `optional` setting
+  for that renderer.
+  [#1122](https://github.com/rust-lang/mdBook/pull/1122)
+- If you have a custom favicon, you may need to look into adding an SVG
+  version, otherwise the default SVG icon will be displayed.
+  [#1230](https://github.com/rust-lang/mdBook/pull/1230)
+
+### Added
+- Added a new `[rust]` configuration section to `book.toml`, which allows
+  setting the default edition with `edition = "2018"`.
+  [#1163](https://github.com/rust-lang/mdBook/pull/1163)
+- Renderers can now be marked as `optional`, so that they will be ignored if
+  the renderer is not installed.
+  [#1122](https://github.com/rust-lang/mdBook/pull/1122)
+- Added `head.hbs` to allow adding content to the `<head>` section in HTML.
+  [#1206](https://github.com/rust-lang/mdBook/pull/1206)
+- Added "draft chapters". These are chapters listed without a link to indicate
+  content yet to be written.
+  [#1153](https://github.com/rust-lang/mdBook/pull/1153)
+- Added "parts" to split a book into different sections. Headers can be added
+  to `SUMMARY.md` to signify different sections.
+  [#1171](https://github.com/rust-lang/mdBook/pull/1171)
+- Added generation of a "404" page for handling missing pages and broken links.
+  [#1221](https://github.com/rust-lang/mdBook/pull/1221)
+- Added configuration section for specifying URL redirects.
+  [#1237](https://github.com/rust-lang/mdBook/pull/1237)
+- Added an SVG favicon that works with light and dark colors schemes.
+  [#1230](https://github.com/rust-lang/mdBook/pull/1230)
+
+### Changed
+- Changed default Rust attribute of `allow(unused_variables)` to `allow(unused)`.
+  [#1195](https://github.com/rust-lang/mdBook/pull/1195)
+- Fonts are now served locally instead of from the Google Fonts CDN. The
+  `copy-fonts` option was added to disable this if you want to supply your own
+  fonts.
+  [#1188](https://github.com/rust-lang/mdBook/pull/1188)
+- Switched the built-in webserver for the `serve` command to a new
+  implementation. This results in some internal differences in how websockets
+  are handled, which removes the separate websocket options. This should also
+  make it easier to serve multiple books at once.
+  [#1211](https://github.com/rust-lang/mdBook/pull/1211)
+- The default dark theme is now "navy".
+  [#1199](https://github.com/rust-lang/mdBook/pull/1199)
+- "Playpen" has been renamed to "playground", matching the actual name of the
+  service which was renamed many years ago.
+  [#1241](https://github.com/rust-lang/mdBook/pull/1241)
+
+### Fixed
+- Links with the `+` symbol should now work.
+  [#1208](https://github.com/rust-lang/mdBook/pull/1208)
+- The `MDBOOK_BOOK` environment variable now correctly allows overriding the
+  entire book configuration.
+  [#1207](https://github.com/rust-lang/mdBook/pull/1207)
+- The sidebar can no longer be dragged outside of the window.
+  [#1229](https://github.com/rust-lang/mdBook/pull/1229)
+- Hide the Rust Playground "play" button for `no_run` code samples.
+  [#1249](https://github.com/rust-lang/mdBook/pull/1249)
+- Fixed the `--dest-dir` command-line option for the `serve` and `watch`
+  commands.
+  [#1228](https://github.com/rust-lang/mdBook/pull/1228)
+- Hotkey handlers are now disabled in `text` input fields (for example, typing
+  `S` in a custom text input field).
+  [#1244](https://github.com/rust-lang/mdBook/pull/1244)
+
+## mdBook 0.3.7
+[88684d8...99ecd4f](https://github.com/rust-lang/mdBook/compare/88684d8...99ecd4f)
+
+### Changed
+- Code spans in headers are no longer highlighted as code.
+  [#1162](https://github.com/rust-lang/mdBook/pull/1162)
+- The sidebar will now scroll the activate page to the middle instead of the top.
+  [#1161](https://github.com/rust-lang/mdBook/pull/1161)
+- Reverted change to reject build output within the `src` directory, and
+  instead add a check that prevents infinite copies.
+  [#1181](https://github.com/rust-lang/mdBook/pull/1181)
+  [#1026](https://github.com/rust-lang/mdBook/pull/1026)
+
+### Fixed
+- Fixed sidebar line-height jumping for collapsed chapters.
+  [#1182](https://github.com/rust-lang/mdBook/pull/1182)
+- Fixed theme selector focus.
+  [#1170](https://github.com/rust-lang/mdBook/pull/1170)
+
+## mdBook 0.3.6
+[efdb832...88684d8](https://github.com/rust-lang/mdBook/compare/efdb832...88684d8)
+
+### Added
+- `MDBook::execute_build_process` is now publicly accessible in the API so
+  that plugins can more easily initiate the build process.
+  [#1099](https://github.com/rust-lang/mdBook/pull/1099)
+
+### Changed
+- Use a different color for Ayu theme's highlighting for Rust attributes (uses
+  a bright color instead of the comment color).
+  [#1133](https://github.com/rust-lang/mdBook/pull/1133)
+- Adjusted spacing of sidebar entries.
+  [#1137](https://github.com/rust-lang/mdBook/pull/1137)
+- Slightly adjusted line-height of `<p>`, `<ul>`, and `<ol>`.
+  [#1136](https://github.com/rust-lang/mdBook/pull/1136)
+- Handlebars updated to 3.0.
+  [#1130](https://github.com/rust-lang/mdBook/pull/1130)
+
+### Fixed
+- Fix an issue with sidebar scroll position on reload.
+  [#1108](https://github.com/rust-lang/mdBook/pull/1108)
+- `mdbook serve` will retain the current scroll position when the page is reloaded.
+  [#1097](https://github.com/rust-lang/mdBook/pull/1097)
+- Fixed the page name if the book didn't have a title to not be prefixed with ` - `.
+  [#1145](https://github.com/rust-lang/mdBook/pull/1145)
+- HTML attributes `rel=next` and `rel=previous` are now supported in "wide"
+  mode (previously they were only set in narrow mode).
+  [#1150](https://github.com/rust-lang/mdBook/pull/1150)
+- Prevent recursive copies when the destination directory is contained in the
+  source directory.
+  [#1135](https://github.com/rust-lang/mdBook/pull/1135)
+- Adjusted the menu bar animation to not immediately obscure the top content.
+  [#989](https://github.com/rust-lang/mdBook/pull/989)
+- Fix for comments in SUMMARY.md that appear between items.
+  [#1167](https://github.com/rust-lang/mdBook/pull/1167)
+
+## mdBook 0.3.5
+[6e0d0fa...efdb832](https://github.com/rust-lang/mdBook/compare/6e0d0fa...efdb832)
+
+### Changed
+- The `default-theme` config setting is now case-insensitive.
+  [#1079](https://github.com/rust-lang/mdBook/pull/1079)
+
+### Fixed
+- Fixed `#` hidden Rust code lines not rendering properly.
+  [#1088](https://github.com/rust-lang/mdBook/pull/1088)
+- Updated pulldown-cmark to 0.6.1, fixing several issues.
+  [#1021](https://github.com/rust-lang/mdBook/pull/1021)
+
+## mdBook 0.3.4
+[e5f77aa...6e0d0fa](https://github.com/rust-lang/mdBook/compare/e5f77aa...6e0d0fa)
+
+### Changed
+- Switch to relative `rem` font sizes from `px`.
+  [#894](https://github.com/rust-lang/mdBook/pull/894)
+- Migrated repository to https://github.com/rust-lang/mdBook/
+  [#1083](https://github.com/rust-lang/mdBook/pull/1083)
+
+## mdBook 0.3.3
+[2b649fe...e5f77aa](https://github.com/rust-lang/mdBook/compare/2b649fe...e5f77aa)
+
+### Changed
+- Improvements to the automatic dark theme selection.
+  [#1069](https://github.com/rust-lang/mdBook/pull/1069)
+- Fragment links now prevent scrolling the header behind the menu bar.
+  [#1077](https://github.com/rust-lang/mdBook/pull/1077)
+
+### Fixed
+- Fixed error when building a book that has a spacer immediately after the
+  first chapter.
+  [#1075](https://github.com/rust-lang/mdBook/pull/1075)
+
+## mdBook 0.3.2
+[9cd47eb...2b649fe](https://github.com/rust-lang/mdBook/compare/9cd47eb...2b649fe)
+
+### Added
+- Added a markdown renderer, which is off by default. This may be useful for
+  debugging preprocessors.
+  [#1018](https://github.com/rust-lang/mdBook/pull/1018)
+- Code samples may now include line numbers with the
+  `output.html.playpen.line-numbers` configuration value.
+  [#1035](https://github.com/rust-lang/mdBook/pull/1035)
+- The `watch` and `serve` commands will now ignore files listed in
+  `.gitignore`.
+  [#1044](https://github.com/rust-lang/mdBook/pull/1044)
+- Added automatic dark-theme detection based on the CSS `prefers-color-scheme`
+  feature. This may be enabled by setting `output.html.preferred-dark-theme`
+  to your preferred dark theme.
+  [#1037](https://github.com/rust-lang/mdBook/pull/1037)
+- Added `rustdoc_include` preprocessor. This makes it easier to include
+  portions of an external Rust source file. The rest of the file is hidden,
+  but the user may expand it to see the entire file, and will continue to work
+  with `mdbook test`.
+  [#1003](https://github.com/rust-lang/mdBook/pull/1003)
+- Added Ctrl-Enter shortcut to the playpen editor to automatically run the
+  sample.
+  [#1066](https://github.com/rust-lang/mdBook/pull/1066)
+- Added `output.html.playpen.copyable` configuration option to disable
+  the copy button.
+  [#1050](https://github.com/rust-lang/mdBook/pull/1050)
+- Added ability to dynamically expand and fold sections within the sidebar.
+  See the `output.html.fold` configuration to enable this feature.
+  [#1027](https://github.com/rust-lang/mdBook/pull/1027)
+
+### Changed
+- Use standard `scrollbar-color` CSS along with webkit extension
+  [#816](https://github.com/rust-lang/mdBook/pull/816)
+- The renderer build directory is no longer deleted before the renderer is
+  run. This allows a backend to cache results between runs.
+  [#985](https://github.com/rust-lang/mdBook/pull/985)
+- Next/prev links now highlight on hover to indicate it is clickable.
+  [#994](https://github.com/rust-lang/mdBook/pull/994)
+- Increase padding of table headers.
+  [#824](https://github.com/rust-lang/mdBook/pull/824)
+- Errors in `[output.html]` config are no longer ignored.
+  [#1033](https://github.com/rust-lang/mdBook/pull/1033)
+- Updated highlight.js for syntax highlighting updates (primarily to add
+  async/await to Rust highlighting).
+  [#1041](https://github.com/rust-lang/mdBook/pull/1041)
+- Raised minimum supported rust version to 1.35.
+  [#1003](https://github.com/rust-lang/mdBook/pull/1003)
+- Hidden code lines are no longer dynamically removed via JavaScript, but
+  instead managed with CSS.
+  [#846](https://github.com/rust-lang/mdBook/pull/846)
+  [#1065](https://github.com/rust-lang/mdBook/pull/1065)
+- Changed the default font set for the ACE editor, giving preference to
+  "Source Code Pro".
+  [#1062](https://github.com/rust-lang/mdBook/pull/1062)
+- Windows 32-bit releases are no longer published.
+  [#1071](https://github.com/rust-lang/mdBook/pull/1071)
+
+### Fixed
+- Fixed sidebar auto-scrolling.
+  [#1052](https://github.com/rust-lang/mdBook/pull/1052)
+- Fixed error message when running `clean` multiple times.
+  [#1055](https://github.com/rust-lang/mdBook/pull/1055)
+- Actually fix the "next" link on index.html. The previous fix didn't work.
+  [#1005](https://github.com/rust-lang/mdBook/pull/1005)
+- Stop using `inline-block` for `inline code`, fixing selection highlighting
+  and some rendering issues.
+  [#1058](https://github.com/rust-lang/mdBook/pull/1058)
+- Fix header auto-hide on browsers with momentum scrolling that allows
+  negative `scrollTop`.
+  [#1070](https://github.com/rust-lang/mdBook/pull/1070)
+
+## mdBook 0.3.1
+[69a08ef...9cd47eb](https://github.com/rust-lang/mdBook/compare/69a08ef...9cd47eb)
+
+### Added
+- 🔥 Added ability to include files using anchor points instead of line numbers.
+  [#851](https://github.com/rust-lang/mdBook/pull/851)
+- Added `language` configuration value to set the language of the book, which
+  will affect things like the `<html lang="en">` tag.
+  [#941](https://github.com/rust-lang/mdBook/pull/941)
+
+### Changed
+- Updated to handlebars 2.0.
+  [#977](https://github.com/rust-lang/mdBook/pull/977)
+
+### Fixed
+- Fixed memory leak warning.
+  [#967](https://github.com/rust-lang/mdBook/pull/967)
+- Fix more print.html links.
+  [#963](https://github.com/rust-lang/mdBook/pull/963)
+- Fixed crash on some unicode input.
+  [#978](https://github.com/rust-lang/mdBook/pull/978)
+
+## mdBook 0.3.0
+[6cbc41d...69a08ef](https://github.com/rust-lang/mdBook/compare/6cbc41d...69a08ef)
+
+### Added
+- Added ability to resize the sidebar.
+  [#849](https://github.com/rust-lang/mdBook/pull/849)
+- Added `load_with_config_and_summary` function to `MDBook` to be able to
+  build a book with a custom `Summary`.
+  [#883](https://github.com/rust-lang/mdBook/pull/883)
+- Set `noindex` on `print.html` page to prevent robots from indexing it.
+  [#844](https://github.com/rust-lang/mdBook/pull/844)
+- Added support for ~~strikethrough~~ and GitHub-style tasklists.
+  [#952](https://github.com/rust-lang/mdBook/pull/952)
+
+### Changed
+- Command-line help output is now colored.
+  [#861](https://github.com/rust-lang/mdBook/pull/861)
+- The build directory is now deleted before rendering starts, instead of after
+  if finishes.
+  [#878](https://github.com/rust-lang/mdBook/pull/878)
+- Removed dependency on `same-file` crate.
+  [#903](https://github.com/rust-lang/mdBook/pull/903)
+- 💥 Renamed `with_preprecessor` to `with_preprocessor`.
+  [#906](https://github.com/rust-lang/mdBook/pull/906)
+- Updated ACE editor to 1.4.4, should remove a JavaScript console warning.
+  [#935](https://github.com/rust-lang/mdBook/pull/935)
+- Dependencies have been updated.
+  [#934](https://github.com/rust-lang/mdBook/pull/934)
+  [#945](https://github.com/rust-lang/mdBook/pull/945)
+- Highlight.js has been updated. This fixes some TOML highlighting, and adds
+  Julia support.
+  [#942](https://github.com/rust-lang/mdBook/pull/942)
+- 🔥 Updated to pulldown-cmark 0.5. This may have significant changes to the
+  formatting of existing books, as the newer version has more accurate
+  interpretation of the CommonMark spec and a large number of bug fixes and
+  changes.
+  [#898](https://github.com/rust-lang/mdBook/pull/898)
+- The `diff` language should now highlight correctly.
+  [#943](https://github.com/rust-lang/mdBook/pull/943)
+- Make the blank region of a header not clickable.
+  [#948](https://github.com/rust-lang/mdBook/pull/948)
+- Rustdoc tests now use the preprocessed content instead of the raw,
+  unpreprocessed content.
+  [#891](https://github.com/rust-lang/mdBook/pull/891)
+
+### Fixed
+- Fixed file change detection so that `mdbook serve` only reloads once when
+  multiple files are changed at once.
+  [#870](https://github.com/rust-lang/mdBook/pull/870)
+- Fixed on-hover color highlighting for links in sidebar.
+  [#834](https://github.com/rust-lang/mdBook/pull/834)
+- Fixed loss of focus when clicking the "Copy" button in code blocks.
+  [#867](https://github.com/rust-lang/mdBook/pull/867)
+- Fixed incorrectly stripping the path for `additional-js` files.
+  [#796](https://github.com/rust-lang/mdBook/pull/796)
+- Fixed color of `code spans` that are links.
+  [#905](https://github.com/rust-lang/mdBook/pull/905)
+- Fixed "next" navigation on index.html.
+  [#916](https://github.com/rust-lang/mdBook/pull/916)
+- Fixed keyboard chapter navigation for `file` urls.
+  [#915](https://github.com/rust-lang/mdBook/pull/915)
+- Fixed bad wrapping for inline code on some browsers.
+  [#818](https://github.com/rust-lang/mdBook/pull/818)
+- Properly load an existing `SUMMARY.md` in `mdbook init`.
+  [#841](https://github.com/rust-lang/mdBook/pull/841)
+- Fixed some broken links in `print.html`.
+  [#871](https://github.com/rust-lang/mdBook/pull/871)
+- The Rust Playground link now supports the 2018 edition.
+  [#946](https://github.com/rust-lang/mdBook/pull/946)
+
+## mdBook 0.2.3 (2018-01-18)
+[2c20c99...6cbc41d](https://github.com/rust-lang/mdBook/compare/2c20c99...6cbc41d)
+
+### Added
+- Added an optional button to the top of the page which will link to a git
+  repository. Use the `git-repository-url` and `git-repository-icon` options
+  in the `[output.html]` section to enable it and set its appearance.
+  [#802](https://github.com/rust-lang/mdBook/pull/802)
+- Added a `default-theme` option to the `[output.html]` section.
+  [#804](https://github.com/rust-lang/mdBook/pull/804)
+
+### Changed
+- 💥 Header ID anchors no longer add an arbitrary `a` character for headers
+  that start with a non-ascii-alphabetic character.
+  [#788](https://github.com/rust-lang/mdBook/pull/788)
+
+### Fixed
+- Fix websocket hostname usage
+  [#865](https://github.com/rust-lang/mdBook/pull/865)
+- Fixing links in print.html
+  [#866](https://github.com/rust-lang/mdBook/pull/866)
+
+## mdBook 0.2.2 (2018-10-19)
+[7e2e095...2c20c99](https://github.com/rust-lang/mdBook/compare/7e2e095...2c20c99)
+
+### Added
+- 🎉 Process-based custom preprocessors. See [the
+  docs](https://rust-lang.github.io/mdBook/for_developers/preprocessors.html)
+  for more.
+  [#792](https://github.com/rust-lang/mdBook/pull/792)
+
+- 🎉 Configurable preprocessors.
+
+  Added `build.use-default-preprocessors` boolean TOML key to allow disabling
+  the built-in `links` and `index` preprocessors.
+
+  Added `[preprocessor]` TOML tables to configure each preprocessor.
+
+  Specifying `[preprocessor.links]` or `[preprocessor.index]` will enable the
+  respective built-in preprocessor if `build.use-default-preprocessors` is
+  `false`.
+
+  Added `fn supports_renderer(&self, renderer: &str) -> bool` to the
+  `Preprocessor` trait to specify if the preprocessor supports the given
+  renderer. The default implementation always returns `true`.
+
+  `Preprocessor::run` now takes a book by value instead of a mutable
+  reference. It should return a `Book` value with the intended modifications.
+
+  Added `PreprocessorContext::renderer` to indicate the renderer being used.
+
+  [#658](https://github.com/rust-lang/mdBook/pull/658)
+  [#787](https://github.com/rust-lang/mdBook/pull/787)
+
+### Fixed
+- Fix paths to additional CSS and JavaScript files
+  [#777](https://github.com/rust-lang/mdBook/pull/777)
+- Ensure section numbers are correctly incremented after a horizontal
+  separator
+  [#790](https://github.com/rust-lang/mdBook/pull/790)
+
+## mdBook 0.2.1 (2018-08-22)
+[91ffca1...7e2e095](https://github.com/rust-lang/mdBook/compare/91ffca1...7e2e095)
+
+### Changed
+- Update to handlebars-rs 1.0
+  [#761](https://github.com/rust-lang/mdBook/pull/761)
+
+### Fixed
+- Fix table colors, broken by Stylus -> CSS transition
+  [#765](https://github.com/rust-lang/mdBook/pull/765)
+
+## mdBook 0.2.0 (2018-08-02)
+
+### Changed
+- 💥 This release changes how links are handled in mdBook. Previously, relative
+  links were interpreted relative to the book's root. In `0.2.0`+ links are
+  relative to the page they are in, and use the `.md` extension. This has [several
+  advantages](https://github.com/rust-lang/mdBook/pull/603#issue-166701447),
+  such as making links work in other markdown viewers like GitHub. You will
+  likely have to change links in your book to accommodate this change. For
+  example, a book with this layout:
+
+  ```
+  chapter_1/
+      section_1.md
+      section_2.md
+  SUMMARY.md
+  ```
+
+  Previously a link in `section_1.md` to `section_2.md` would look like this:
+  ```markdown
+  [section_2](chapter_1/section_2.html)
+  ```
+
+  Now it must be changed to this:
+  ```markdown
+  [section_2](section_2.md)
+  ```
+
+- 💥 `mdbook test --library-path` now accepts a comma-delimited list of
+  arguments rather than taking all following arguments. This makes it easier
+  to handle the trailing book directory argument without always needing to put
+  ` -- ` before it. Multiple instances of the option continue to be accepted:
+  `mdbook test -L foo -L bar`.
+
+- 💥 `mdbook serve` has some of its options renamed for clarity. See `mdbook
+  help serve` for details.
+
+- Embedded rust playpens now use the "stable" playground API.
+  [#754](https://github.com/rust-lang/mdBook/pull/754)
+
+### Fixed
+- Escaped includes (`\{{#include file.rs}}`) will now render correctly.
+  [f30ce01](https://github.com/rust-lang/mdBook/commit/f30ce0184d71e342141145472bf816419d30a2c5)
+- `index.html` will now render correctly when the book's first section is
+  inside a subdirectory.
+  [#756](https://github.com/rust-lang/mdBook/pull/756)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..e3708bc
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,3 @@
+# The Rust Code of Conduct
+
+The Code of Conduct for this repository [can be found online](https://www.rust-lang.org/conduct.html).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ec8f29c
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,175 @@
+# Contributing
+
+Welcome stranger!
+
+If you have come here to learn how to contribute to mdBook, we have some tips for you!
+
+First of all, don't hesitate to ask questions!
+Use the [issue tracker](https://github.com/rust-lang/mdBook/issues), no question is too simple.
+
+### Issue assignment
+
+**:warning: Important :warning:**
+
+Before working on pull request, please ping us on the corresponding issue.
+The current PR backlog is beyond what we can process at this time.
+Only issues that have an [`E-Help-wanted`](https://github.com/rust-lang/mdBook/labels/E-Help-wanted) or [`Feature accepted`](https://github.com/rust-lang/mdBook/labels/Feature%20accepted) label will likely receive reviews.
+If there isn't already an open issue for what you want to work on, please open one first to see if it is something we would be available to review.
+
+### Issues to work on
+
+If you are starting out, you might be interested in the
+[E-Easy issues](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AE-Easy).
+Those are issues that are considered more straightforward for beginners to Rust or the codebase itself.
+These issues can be a good launching pad for more involved issues.
+Easy tasks for a first time contribution include documentation improvements, new tests, examples, updating dependencies, etc.
+
+If you come from a web development background, you might be interested in issues related to web technologies tagged
+[A-JavaScript](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-JavaScript),
+[A-Style](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-Style),
+[A-HTML](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-HTML) or
+[A-Mobile](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-Mobile).
+
+When you decide you want to work on a specific issue, and it isn't already assigned to someone else, assign the issue to yourself by leaving a comment with the text `@rustbot claim`.
+Again, do not hesitate to ask questions. We will gladly mentor anyone that want to tackle an issue.
+
+Issues on the issue tracker are categorized with the following labels:
+
+- **A**-prefixed labels state which area of the project an issue relates to.
+- **E**-prefixed labels show an estimate of the experience necessary to fix the issue.
+- **M**-prefixed labels are meta-issues regarding the management of the mdBook project itself
+- **S**-prefixed labels show the status of the issue
+- **C**-prefixed labels show the category of issue
+
+### Building mdBook
+
+mdBook builds on stable Rust, if you want to build mdBook from source, here are the steps to follow:
+
+1. Navigate to the directory of your choice
+0. Clone this repository with git.
+
+   ```
+   git clone https://github.com/rust-lang/mdBook.git
+   ```
+0. Navigate into the newly created `mdBook` directory
+0. Run `cargo build`
+
+The resulting binary can be found in `mdBook/target/debug/` under the name `mdbook` or `mdbook.exe`.
+
+### Code Quality
+
+We love code quality and Rust has some excellent tools to assist you with contributions.
+
+#### Formatting Code with rustfmt
+
+Before you make your Pull Request to the project, please run it through the `rustfmt` utility.
+This will ensure we have good quality source code that is better for us all to maintain.
+
+[rustfmt](https://github.com/rust-lang/rustfmt) has a lot more information on the project.
+The quick guide is
+
+1. Install it (`rustfmt` is usually installed by default via [rustup](https://rustup.rs/)):
+    ```
+    rustup component add rustfmt
+    ```
+1. You can now run `rustfmt` on a single file simply by...
+    ```
+    rustfmt src/path/to/your/file.rs
+    ```
+   ... or you can format the entire project with
+   ```
+   cargo fmt
+   ```
+   When run through `cargo` it will format all bin and lib files in the current package.
+
+For more information, such as running it from your favourite editor, please see the `rustfmt` project. [rustfmt](https://github.com/rust-lang/rustfmt)
+
+
+#### Finding Issues with Clippy
+
+[Clippy](https://doc.rust-lang.org/clippy/) is a code analyser/linter detecting mistakes, and therefore helps to improve your code.
+Like formatting your code with `rustfmt`, running clippy regularly and before your Pull Request will help us maintain awesome code.
+
+1. To install
+    ```
+    rustup component add clippy
+    ```
+2. Running clippy
+    ```
+    cargo clippy
+    ```
+
+### Change requirements
+
+Please consider the following when making a change:
+
+* Almost all changes that modify the Rust code must be accompanied with a test.
+
+* Almost all features and changes must update the documentation.
+  mdBook has the [mdBook Guide](https://rust-lang.github.io/mdBook/) whose source is at <https://github.com/rust-lang/mdBook/tree/master/guide>.
+
+* Almost all Rust items should be documented with doc comments.
+  See the [Rustdoc Book](https://doc.rust-lang.org/rustdoc/) for more information on writing doc comments.
+
+* Breaking the API can only be done in major SemVer releases.
+  These are done very infrequently, so it is preferred to avoid these when possible.
+  See [SemVer Compatibility](https://doc.rust-lang.org/cargo/reference/semver.html) for more information on what a SemVer breaking change is.
+
+  (Note: At this time, some SemVer breaking changes are inevitable due to the current code structure.
+  An example is adding new fields to the config structures.
+  These are intended to be fixed in the next major release.)
+
+* Similarly, the CLI interface is considered to be stable.
+  Care should be taken to avoid breaking existing workflows.
+
+* Check out the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/) for guidelines on designing the API.
+
+### Making a pull-request
+
+When you feel comfortable that your changes could be integrated into mdBook, you can create a pull-request on GitHub.
+One of the core maintainers will then approve the changes or request some changes before it gets merged.
+
+That's it, happy contributions! :tada: :tada: :tada:
+
+## Browser compatibility and testing
+
+Currently we don't have a strict browser compatibility matrix due to our limited resources.
+We generally strive to keep mdBook compatible with a relatively recent browser on all of the most major platforms.
+That is, supporting Chrome, Safari, Firefox, Edge on Windows, macOS, Linux, iOS, and Android.
+If possible, do your best to avoid breaking older browser releases.
+
+Any change to the HTML or styling is encouraged to manually check on as many browsers and platforms that you can.
+Unfortunately at this time we don't have any automated UI or browser testing, so your assistance in testing is appreciated.
+
+## Updating highlight.js
+
+The following are instructions for updating [highlight.js](https://highlightjs.org/).
+
+1. Clone the repository at <https://github.com/highlightjs/highlight.js>
+1. Check out a tagged release (like `10.1.1`).
+1. Run `npm install`
+1. Run `node tools/build.js :common apache armasm coffeescript d handlebars haskell http julia nginx nim properties r scala x86asm yaml`
+1. Compare the language list that it spits out to the one in [`syntax-highlighting.md`](https://github.com/camelid/mdBook/blob/master/guide/src/format/theme/syntax-highlighting.md). If any are missing, add them to the list and rebuild (and update these docs). If any are added to the common set, add them to `syntax-highlighting.md`.
+1. Copy `build/highlight.min.js` to mdbook's directory [`highlight.js`](https://github.com/rust-lang/mdBook/blob/master/src/theme/highlight.js).
+1. Be sure to check the highlight.js [CHANGES](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md) for any breaking changes. Breaking changes that would affect users will need to wait until the next major release.
+1. Build mdbook with the new file and build some books with the new version and compare the output with a variety of languages to see if anything changes. The [test_book](https://github.com/rust-lang/mdBook/tree/master/test_book) contains a chapter with many languages to examine.
+
+## Publishing new releases
+
+Instructions for mdBook maintainers to publish a new release:
+
+1. Create a PR to update the version and update the CHANGELOG:
+    1. Update the version in `Cargo.toml`
+    2. Run `cargo test` to verify that everything is passing, and to update `Cargo.lock`.
+    3. Double-check for any SemVer breaking changes.
+       Try [`cargo-semver-checks`](https://crates.io/crates/cargo-semver-checks), though beware that the current version of mdBook isn't properly adhering to SemVer due to the lack of `#[non_exhaustive]` and other issues. See https://github.com/rust-lang/mdBook/issues/1835.
+    4. Update `CHANGELOG.md` with any changes that users may be interested in.
+    5. Update `continuous-integration.md` to update the version number for the installation instructions.
+    6. Commit the changes, and open a PR.
+2. After the PR has been merged, create a release in GitHub. This can either be done in the GitHub web UI, or on the command-line:
+   ```bash
+   MDBOOK_VERS="`cargo read-manifest | jq -r .version`" ; \
+    gh release create -R rust-lang/mdbook v$MDBOOK_VERS \
+        --title v$MDBOOK_VERS \
+        --notes "See https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-${MDBOOK_VERS//.} for a complete list of changes."
+   ```
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..44fc88e
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,74 @@
+[package]
+name = "mdbook"
+version = "0.4.36"
+authors = [
+    "Mathieu David <mathieudavid@mathieudavid.org>",
+    "Michael-F-Bryan <michaelfbryan@gmail.com>",
+    "Matt Ickstadt <mattico8@gmail.com>"
+]
+documentation = "https://rust-lang.github.io/mdBook/index.html"
+edition = "2021"
+exclude = ["/guide/*"]
+keywords = ["book", "gitbook", "rustbook", "markdown"]
+license = "MPL-2.0"
+readme = "README.md"
+repository = "https://github.com/rust-lang/mdBook"
+description = "Creates a book from markdown files"
+rust-version = "1.70"
+
+[dependencies]
+anyhow = "1.0.71"
+chrono = { version = "0.4.24", default-features = false, features = ["clock"] }
+clap = { version = "4.3.12", features = ["cargo", "wrap_help"] }
+clap_complete = "4.3.2"
+once_cell = "1.17.1"
+env_logger = "0.10.0"
+handlebars = "5.0"
+log = "0.4.17"
+memchr = "2.5.0"
+opener = "0.6.1"
+pulldown-cmark = { version = "0.9.3", default-features = false }
+pathdiff = "0.2.1"
+regex = "1.8.1"
+serde = { version = "1.0.163", features = ["derive"] }
+serde_json = "1.0.96"
+shlex = "1.1.0"
+tempfile = "3.4.0"
+toml = "0.5.11" # Do not update, see https://github.com/rust-lang/mdBook/issues/2037
+topological-sort = "0.2.2"
+
+# Watch feature
+notify = { version = "6.1.1", optional = true }
+notify-debouncer-mini = { version = "0.4.1", optional = true }
+ignore = { version = "0.4.20", optional = true }
+
+# Serve feature
+futures-util = { version = "0.3.28", optional = true }
+tokio = { version = "1.28.1", features = ["macros", "rt-multi-thread"], optional = true }
+warp = { version = "0.3.6", default-features = false, features = ["websocket"], optional = true }
+
+# Search feature
+elasticlunr-rs = { version = "3.0.2", optional = true }
+ammonia = { version = "3.3.0", optional = true }
+
+[dev-dependencies]
+assert_cmd = "2.0.11"
+predicates = "3.0.3"
+select = "0.6.0"
+semver = "1.0.17"
+pretty_assertions = "1.3.0"
+walkdir = "2.3.3"
+
+[features]
+default = ["watch", "serve", "search"]
+watch = ["dep:notify", "dep:notify-debouncer-mini", "dep:ignore"]
+serve = ["dep:futures-util", "dep:tokio", "dep:warp"]
+search = ["dep:elasticlunr-rs", "dep:ammonia"]
+
+[[bin]]
+doc = false
+name = "mdbook"
+
+[[example]]
+name = "nop-preprocessor"
+test = true
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..be2cc4d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,362 @@
+Mozilla Public License, version 2.0
+
+1. Definitions
+
+1.1. "Contributor"
+
+     means each individual or legal entity that creates, contributes to the
+     creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+
+     means the combination of the Contributions of others (if any) used by a
+     Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+
+     means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+
+     means Source Code Form to which the initial Contributor has attached the
+     notice in Exhibit A, the Executable Form of such Source Code Form, and
+     Modifications of such Source Code Form, in each case including portions
+     thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+     means
+
+     a. that the initial Contributor has attached the notice described in
+        Exhibit B to the Covered Software; or
+
+     b. that the Covered Software was made available under the terms of
+        version 1.1 or earlier of the License, but not also under the terms of
+        a Secondary License.
+
+1.6. "Executable Form"
+
+     means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+
+     means a work that combines Covered Software with other material, in a
+     separate file or files, that is not Covered Software.
+
+1.8. "License"
+
+     means this document.
+
+1.9. "Licensable"
+
+     means having the right to grant, to the maximum extent possible, whether
+     at the time of the initial grant or subsequently, any and all of the
+     rights conveyed by this License.
+
+1.10. "Modifications"
+
+     means any of the following:
+
+     a. any file in Source Code Form that results from an addition to,
+        deletion from, or modification of the contents of Covered Software; or
+
+     b. any new file in Source Code Form that contains any Covered Software.
+
+1.11. "Patent Claims" of a Contributor
+
+      means any patent claim(s), including without limitation, method,
+      process, and apparatus claims, in any patent Licensable by such
+      Contributor that would be infringed, but for the grant of the License,
+      by the making, using, selling, offering for sale, having made, import,
+      or transfer of either its Contributions or its Contributor Version.
+
+1.12. "Secondary License"
+
+      means either the GNU General Public License, Version 2.0, the GNU Lesser
+      General Public License, Version 2.1, the GNU Affero General Public
+      License, Version 3.0, or any later versions of those licenses.
+
+1.13. "Source Code Form"
+
+      means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+
+      means an individual or a legal entity exercising rights under this
+      License. For legal entities, "You" includes any entity that controls, is
+      controlled by, or is under common control with You. For purposes of this
+      definition, "control" means (a) the power, direct or indirect, to cause
+      the direction or management of such entity, whether by contract or
+      otherwise, or (b) ownership of more than fifty percent (50%) of the
+      outstanding shares or beneficial ownership of such entity.
+
+
+2. License Grants and Conditions
+
+2.1. Grants
+
+     Each Contributor hereby grants You a world-wide, royalty-free,
+     non-exclusive license:
+
+     a. under intellectual property rights (other than patent or trademark)
+        Licensable by such Contributor to use, reproduce, make available,
+        modify, display, perform, distribute, and otherwise exploit its
+        Contributions, either on an unmodified basis, with Modifications, or
+        as part of a Larger Work; and
+
+     b. under Patent Claims of such Contributor to make, use, sell, offer for
+        sale, have made, import, and otherwise transfer either its
+        Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+     The licenses granted in Section 2.1 with respect to any Contribution
+     become effective for each Contribution on the date the Contributor first
+     distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+     The licenses granted in this Section 2 are the only rights granted under
+     this License. No additional rights or licenses will be implied from the
+     distribution or licensing of Covered Software under this License.
+     Notwithstanding Section 2.1(b) above, no patent license is granted by a
+     Contributor:
+
+     a. for any code that a Contributor has removed from Covered Software; or
+
+     b. for infringements caused by: (i) Your and any other third party's
+        modifications of Covered Software, or (ii) the combination of its
+        Contributions with other software (except as part of its Contributor
+        Version); or
+
+     c. under Patent Claims infringed by Covered Software in the absence of
+        its Contributions.
+
+     This License does not grant any rights in the trademarks, service marks,
+     or logos of any Contributor (except as may be necessary to comply with
+     the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+     No Contributor makes additional grants as a result of Your choice to
+     distribute the Covered Software under a subsequent version of this
+     License (see Section 10.2) or under the terms of a Secondary License (if
+     permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+     Each Contributor represents that the Contributor believes its
+     Contributions are its original creation(s) or it has sufficient rights to
+     grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+     This License is not intended to limit any rights You have under
+     applicable copyright doctrines of fair use, fair dealing, or other
+     equivalents.
+
+2.7. Conditions
+
+     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
+     Section 2.1.
+
+
+3. Responsibilities
+
+3.1. Distribution of Source Form
+
+     All distribution of Covered Software in Source Code Form, including any
+     Modifications that You create or to which You contribute, must be under
+     the terms of this License. You must inform recipients that the Source
+     Code Form of the Covered Software is governed by the terms of this
+     License, and how they can obtain a copy of this License. You may not
+     attempt to alter or restrict the recipients' rights in the Source Code
+     Form.
+
+3.2. Distribution of Executable Form
+
+     If You distribute Covered Software in Executable Form then:
+
+     a. such Covered Software must also be made available in Source Code Form,
+        as described in Section 3.1, and You must inform recipients of the
+        Executable Form how they can obtain a copy of such Source Code Form by
+        reasonable means in a timely manner, at a charge no more than the cost
+        of distribution to the recipient; and
+
+     b. You may distribute such Executable Form under the terms of this
+        License, or sublicense it under different terms, provided that the
+        license for the Executable Form does not attempt to limit or alter the
+        recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+     You may create and distribute a Larger Work under terms of Your choice,
+     provided that You also comply with the requirements of this License for
+     the Covered Software. If the Larger Work is a combination of Covered
+     Software with a work governed by one or more Secondary Licenses, and the
+     Covered Software is not Incompatible With Secondary Licenses, this
+     License permits You to additionally distribute such Covered Software
+     under the terms of such Secondary License(s), so that the recipient of
+     the Larger Work may, at their option, further distribute the Covered
+     Software under the terms of either this License or such Secondary
+     License(s).
+
+3.4. Notices
+
+     You may not remove or alter the substance of any license notices
+     (including copyright notices, patent notices, disclaimers of warranty, or
+     limitations of liability) contained within the Source Code Form of the
+     Covered Software, except that You may alter any license notices to the
+     extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+     You may choose to offer, and to charge a fee for, warranty, support,
+     indemnity or liability obligations to one or more recipients of Covered
+     Software. However, You may do so only on Your own behalf, and not on
+     behalf of any Contributor. You must make it absolutely clear that any
+     such warranty, support, indemnity, or liability obligation is offered by
+     You alone, and You hereby agree to indemnify every Contributor for any
+     liability incurred by such Contributor as a result of warranty, support,
+     indemnity or liability terms You offer. You may include additional
+     disclaimers of warranty and limitations of liability specific to any
+     jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+
+   If it is impossible for You to comply with any of the terms of this License
+   with respect to some or all of the Covered Software due to statute,
+   judicial order, or regulation then You must: (a) comply with the terms of
+   this License to the maximum extent possible; and (b) describe the
+   limitations and the code they affect. Such description must be placed in a
+   text file included with all distributions of the Covered Software under
+   this License. Except to the extent prohibited by statute or regulation,
+   such description must be sufficiently detailed for a recipient of ordinary
+   skill to be able to understand it.
+
+5. Termination
+
+5.1. The rights granted under this License will terminate automatically if You
+     fail to comply with any of its terms. However, if You become compliant,
+     then the rights granted under this License from a particular Contributor
+     are reinstated (a) provisionally, unless and until such Contributor
+     explicitly and finally terminates Your grants, and (b) on an ongoing
+     basis, if such Contributor fails to notify You of the non-compliance by
+     some reasonable means prior to 60 days after You have come back into
+     compliance. Moreover, Your grants from a particular Contributor are
+     reinstated on an ongoing basis if such Contributor notifies You of the
+     non-compliance by some reasonable means, this is the first time You have
+     received notice of non-compliance with this License from such
+     Contributor, and You become compliant prior to 30 days after Your receipt
+     of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+     infringement claim (excluding declaratory judgment actions,
+     counter-claims, and cross-claims) alleging that a Contributor Version
+     directly or indirectly infringes any patent, then the rights granted to
+     You by any and all Contributors for the Covered Software under Section
+     2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
+     license agreements (excluding distributors and resellers) which have been
+     validly granted by You or Your distributors under this License prior to
+     termination shall survive termination.
+
+6. Disclaimer of Warranty
+
+   Covered Software is provided under this License on an "as is" basis,
+   without warranty of any kind, either expressed, implied, or statutory,
+   including, without limitation, warranties that the Covered Software is free
+   of defects, merchantable, fit for a particular purpose or non-infringing.
+   The entire risk as to the quality and performance of the Covered Software
+   is with You. Should any Covered Software prove defective in any respect,
+   You (not any Contributor) assume the cost of any necessary servicing,
+   repair, or correction. This disclaimer of warranty constitutes an essential
+   part of this License. No use of  any Covered Software is authorized under
+   this License except under this disclaimer.
+
+7. Limitation of Liability
+
+   Under no circumstances and under no legal theory, whether tort (including
+   negligence), contract, or otherwise, shall any Contributor, or anyone who
+   distributes Covered Software as permitted above, be liable to You for any
+   direct, indirect, special, incidental, or consequential damages of any
+   character including, without limitation, damages for lost profits, loss of
+   goodwill, work stoppage, computer failure or malfunction, or any and all
+   other commercial damages or losses, even if such party shall have been
+   informed of the possibility of such damages. This limitation of liability
+   shall not apply to liability for death or personal injury resulting from
+   such party's negligence to the extent applicable law prohibits such
+   limitation. Some jurisdictions do not allow the exclusion or limitation of
+   incidental or consequential damages, so this exclusion and limitation may
+   not apply to You.
+
+8. Litigation
+
+   Any litigation relating to this License may be brought only in the courts
+   of a jurisdiction where the defendant maintains its principal place of
+   business and such litigation shall be governed by laws of that
+   jurisdiction, without reference to its conflict-of-law provisions. Nothing
+   in this Section shall prevent a party's ability to bring cross-claims or
+   counter-claims.
+
+9. Miscellaneous
+
+   This License represents the complete agreement concerning the subject
+   matter hereof. If any provision of this License is held to be
+   unenforceable, such provision shall be reformed only to the extent
+   necessary to make it enforceable. Any law or regulation which provides that
+   the language of a contract shall be construed against the drafter shall not
+   be used to construe this License against a Contributor.
+
+
+10. Versions of the License
+
+10.1. New Versions
+
+      Mozilla Foundation is the license steward. Except as provided in Section
+      10.3, no one other than the license steward has the right to modify or
+      publish new versions of this License. Each version will be given a
+      distinguishing version number.
+
+10.2. Effect of New Versions
+
+      You may distribute the Covered Software under the terms of the version
+      of the License under which You originally received the Covered Software,
+      or under the terms of any subsequent version published by the license
+      steward.
+
+10.3. Modified Versions
+
+      If you create software not governed by this License, and you want to
+      create a new license for such software, you may create and use a
+      modified version of this License if you rename the license and remove
+      any references to the name of the license steward (except to note that
+      such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+      Licenses If You choose to distribute Source Code Form that is
+      Incompatible With Secondary Licenses under the terms of this version of
+      the License, the notice described in Exhibit B of this License must be
+      attached.
+
+Exhibit A - Source Code Form License Notice
+
+      This Source Code Form is subject to the
+      terms of the Mozilla Public License, v.
+      2.0. If a copy of the MPL was not
+      distributed with this file, You can
+      obtain one at
+      http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular file,
+then You may include the notice in a location (such as a LICENSE file in a
+relevant directory) where a recipient would be likely to look for such a
+notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+
+      This Source Code Form is "Incompatible
+      With Secondary Licenses", as defined by
+      the Mozilla Public License, v. 2.0.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..92ab523
--- /dev/null
+++ b/README.md
@@ -0,0 +1,79 @@
+# mdBook with absolute links via site-url
+
+[![Build Status](https://github.com/rust-lang/mdBook/workflows/CI/badge.svg?event=push)](https://github.com/rust-lang/mdBook/actions?workflow=CI)
+[![crates.io](https://img.shields.io/crates/v/mdbook.svg)](https://crates.io/crates/mdbook)
+[![LICENSE](https://img.shields.io/github/license/rust-lang/mdBook.svg)](LICENSE)
+
+**mdBook** is a utility to create modern online books from Markdown files.
+
+> Code here is a [fix](#how-to-use-it) for Absolute Links with [**site-url**](https://rust-lang.github.io/mdBook/format/configuration/renderers.html?highlight=site-url#html-renderer-options) value setting in **book.toml** config.
+
+> This [fix](https://github.com/JesusPerez/mdBook) version has been reported to [mdBook source](https://github.com/rust-lang/mdBook/)  as [comment to issue 10802](https://github.com/rust-lang/mdBook/pull/1802#issuecomment-1552874669)
+
+Check out the **[User Guide]** for a list of features and installation and usage information.
+The User Guide also serves as a demonstration to showcase what a book looks like.
+
+If you are interested in contributing to the development of mdBook, check out the [Contribution Guide].
+
+## How to use it
+
+**mdBook** has to be build and optionally installed
+
+> Try **sitefix-book** as book example using **/doc/** as **site-url**  
+> or use full absolute URL complete with hostnames and schemas ends with **/**
+> for example: http://localhost:3000/doc/
+
+In [sitefix-book/book.toml](sitefix-book/book.toml) add **base_url** (base href) to rendered files with **site-url** value, ends with **/**
+
+In case relative path in **TOC** and **SUMMARY** is not fixed with **site-url** value:  
+
+- Replace **SUMMARY.md** entries to include **site-url**
+- Replace **TOC** entries for each sidebar **chapter-item** to include **site-url**
+
+<small>see example below</small>
+
+To complement this fix:
+
+- [mdBook Tera](https://github.com/avitex/mdbook-tera) preprocessor should be added (installed) and activated in [book.toml](sitefix-book/book.toml)
+- [context.toml](sitefix-book/context.toml) for [mdBook Tera](https://github.com/avitex/mdbook-tera) preprocessor has to include **urlbase** with same **site-url** value  
+- Markdown **URLS** or **SRC** in book files has to start with **{{urlbase}}** prefix  
+
+```markdown  
+[Introduction]({{urlbase}}introduction.md)
+![Image]({{urlbase}}image.jpg)
+```
+
+[my-theme/index.hbs](sitefix-book/my-theme/index.hbs) is used to set **urlbase** in **previous** and **next** navigation
+
+You can use a script to automate builds:
+
+- Take care of: **paths**, **book.toml**, **index.hbs**, etc.
+- Use [mdBook](https://github.com/rust-lang/mdBook.git) to build rendered result to **dist** path rather than default **book**
+
+if not installed add build target path to **mdbook** (../target/debug/)
+
+```bash
+mkdir -p /tmp/site/doc
+mdbook build --dest-dir /tmp/site/doc
+```
+
+IMPORTANT: **site-url** only works with **mdbook build** with **serve** option has no sense as it is for development and **site-url** is overwritten with local path.
+
+By using these procedures **sitefix-book** distribution build can be tested with
+
+```bash
+cd /tmp/site/doc
+python3 -m http.server
+```
+
+Use a web-browser for: http://localhost:3000/doc
+
+> For distribution or publish [mdBooks](https://github.com/rust-lang/mdBook.git) follow above instructions or use a script to set **<u>absolute_path</u>** in **book.toml** and **context.toml**
+
+## License
+
+All the code in this repository is released under the ***Mozilla Public License v2.0***, for more information take a look at the [LICENSE] file.
+
+[User Guide]: https://rust-lang.github.io/mdBook/
+[contribution guide]: https://github.com/rust-lang/mdBook/blob/master/CONTRIBUTING.md
+[LICENSE]: https://github.com/rust-lang/mdBook/blob/master/LICENSE
diff --git a/ci/install-rust.sh b/ci/install-rust.sh
new file mode 100755
index 0000000..d97e45a
--- /dev/null
+++ b/ci/install-rust.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Install/update rust.
+# The first argument should be the toolchain to install.
+
+set -ex
+if [ -z "$1" ]
+then
+    echo "First parameter must be toolchain to install."
+    exit 1
+fi
+TOOLCHAIN="$1"
+
+rustup set profile minimal
+rustup component remove --toolchain=$TOOLCHAIN rust-docs || echo "already removed"
+rustup update --no-self-update $TOOLCHAIN
+if [ -n "$2" ]
+then
+    TARGET="$2"
+    HOST=$(rustc -Vv | grep ^host: | sed -e "s/host: //g")
+    if [ "$HOST" != "$TARGET" ]
+    then
+        rustup component add llvm-tools-preview --toolchain=$TOOLCHAIN
+        rustup component add rust-std-$TARGET --toolchain=$TOOLCHAIN
+    fi
+fi
+
+rustup default $TOOLCHAIN
+rustup -V
+rustc -Vv
+cargo -V
diff --git a/ci/make-release-asset.sh b/ci/make-release-asset.sh
new file mode 100755
index 0000000..1fb06ce
--- /dev/null
+++ b/ci/make-release-asset.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+# Builds the release and creates an archive and optionally deploys to GitHub.
+set -ex
+
+if [[ -z "$GITHUB_REF" ]]
+then
+  echo "GITHUB_REF must be set"
+  exit 1
+fi
+# Strip mdbook-refs/tags/ from the start of the ref.
+TAG=${GITHUB_REF#*/tags/}
+
+host=$(rustc -Vv | grep ^host: | sed -e "s/host: //g")
+target=$2
+if [ "$host" != "$target" ]
+then
+  export "CARGO_TARGET_$(echo $target | tr a-z- A-Z_)_LINKER"=rust-lld
+fi
+export CARGO_PROFILE_RELEASE_LTO=true
+cargo build --locked --bin mdbook --release --target $target
+cd target/$target/release
+case $1 in
+  ubuntu*)
+    asset="mdbook-$TAG-$target.tar.gz"
+    tar czf ../../$asset mdbook
+    ;;
+  macos*)
+    asset="mdbook-$TAG-$target.tar.gz"
+    # There is a bug with BSD tar on macOS where the first 8MB of the file are
+    # sometimes all NUL bytes. See https://github.com/actions/cache/issues/403
+    # and https://github.com/rust-lang/cargo/issues/8603 for some more
+    # information. An alternative solution here is to install GNU tar, but
+    # flushing the disk cache seems to work, too.
+    sudo /usr/sbin/purge
+    tar czf ../../$asset mdbook
+    ;;
+  windows*)
+    asset="mdbook-$TAG-$target.zip"
+    7z a ../../$asset mdbook.exe
+    ;;
+  *)
+    echo "OS should be first parameter, was: $1"
+    ;;
+esac
+cd ../..
+
+if [[ -z "$GITHUB_ENV" ]]
+then
+  echo "GITHUB_ENV not set, run: gh release upload $TAG target/$asset"
+else
+  echo "MDBOOK_TAG=$TAG" >> $GITHUB_ENV
+  echo "MDBOOK_ASSET=target/$asset" >> $GITHUB_ENV
+fi
diff --git a/examples/nop-preprocessor.rs b/examples/nop-preprocessor.rs
new file mode 100644
index 0000000..398d7fc
--- /dev/null
+++ b/examples/nop-preprocessor.rs
@@ -0,0 +1,160 @@
+use crate::nop_lib::Nop;
+use clap::{Arg, ArgMatches, Command};
+use mdbook::book::Book;
+use mdbook::errors::Error;
+use mdbook::preprocess::{CmdPreprocessor, Preprocessor, PreprocessorContext};
+use semver::{Version, VersionReq};
+use std::io;
+use std::process;
+
+pub fn make_app() -> Command {
+    Command::new("nop-preprocessor")
+        .about("A mdbook preprocessor which does precisely nothing")
+        .subcommand(
+            Command::new("supports")
+                .arg(Arg::new("renderer").required(true))
+                .about("Check whether a renderer is supported by this preprocessor"),
+        )
+}
+
+fn main() {
+    let matches = make_app().get_matches();
+
+    // Users will want to construct their own preprocessor here
+    let preprocessor = Nop::new();
+
+    if let Some(sub_args) = matches.subcommand_matches("supports") {
+        handle_supports(&preprocessor, sub_args);
+    } else if let Err(e) = handle_preprocessing(&preprocessor) {
+        eprintln!("{}", e);
+        process::exit(1);
+    }
+}
+
+fn handle_preprocessing(pre: &dyn Preprocessor) -> Result<(), Error> {
+    let (ctx, book) = CmdPreprocessor::parse_input(io::stdin())?;
+
+    let book_version = Version::parse(&ctx.mdbook_version)?;
+    let version_req = VersionReq::parse(mdbook::MDBOOK_VERSION)?;
+
+    if !version_req.matches(&book_version) {
+        eprintln!(
+            "Warning: The {} plugin was built against version {} of mdbook, \
+             but we're being called from version {}",
+            pre.name(),
+            mdbook::MDBOOK_VERSION,
+            ctx.mdbook_version
+        );
+    }
+
+    let processed_book = pre.run(&ctx, book)?;
+    serde_json::to_writer(io::stdout(), &processed_book)?;
+
+    Ok(())
+}
+
+fn handle_supports(pre: &dyn Preprocessor, sub_args: &ArgMatches) -> ! {
+    let renderer = sub_args
+        .get_one::<String>("renderer")
+        .expect("Required argument");
+    let supported = pre.supports_renderer(renderer);
+
+    // Signal whether the renderer is supported by exiting with 1 or 0.
+    if supported {
+        process::exit(0);
+    } else {
+        process::exit(1);
+    }
+}
+
+/// The actual implementation of the `Nop` preprocessor. This would usually go
+/// in your main `lib.rs` file.
+mod nop_lib {
+    use super::*;
+
+    /// A no-op preprocessor.
+    pub struct Nop;
+
+    impl Nop {
+        pub fn new() -> Nop {
+            Nop
+        }
+    }
+
+    impl Preprocessor for Nop {
+        fn name(&self) -> &str {
+            "nop-preprocessor"
+        }
+
+        fn run(&self, ctx: &PreprocessorContext, book: Book) -> Result<Book, Error> {
+            // In testing we want to tell the preprocessor to blow up by setting a
+            // particular config value
+            if let Some(nop_cfg) = ctx.config.get_preprocessor(self.name()) {
+                if nop_cfg.contains_key("blow-up") {
+                    anyhow::bail!("Boom!!1!");
+                }
+            }
+
+            // we *are* a no-op preprocessor after all
+            Ok(book)
+        }
+
+        fn supports_renderer(&self, renderer: &str) -> bool {
+            renderer != "not-supported"
+        }
+    }
+
+    #[cfg(test)]
+    mod test {
+        use super::*;
+
+        #[test]
+        fn nop_preprocessor_run() {
+            let input_json = r##"[
+                {
+                    "root": "/path/to/book",
+                    "config": {
+                        "book": {
+                            "authors": ["AUTHOR"],
+                            "language": "en",
+                            "multilingual": false,
+                            "src": "src",
+                            "title": "TITLE"
+                        },
+                        "preprocessor": {
+                            "nop": {}
+                        }
+                    },
+                    "renderer": "html",
+                    "mdbook_version": "0.4.21"
+                },
+                {
+                    "sections": [
+                        {
+                            "Chapter": {
+                                "name": "Chapter 1",
+                                "content": "# Chapter 1\n",
+                                "number": [1],
+                                "sub_items": [],
+                                "path": "chapter_1.md",
+                                "source_path": "chapter_1.md",
+                                "parent_names": []
+                            }
+                        }
+                    ],
+                    "__non_exhaustive": null
+                }
+            ]"##;
+            let input_json = input_json.as_bytes();
+
+            let (ctx, book) = mdbook::preprocess::CmdPreprocessor::parse_input(input_json).unwrap();
+            let expected_book = book.clone();
+            let result = Nop::new().run(&ctx, book);
+            assert!(result.is_ok());
+
+            // The nop-preprocessor should not have made any changes to the book content.
+            let actual_book = result.unwrap();
+            assert_eq!(actual_book, expected_book);
+        }
+    }
+}
diff --git a/guide/book.toml b/guide/book.toml
new file mode 100644
index 0000000..7ef29f1
--- /dev/null
+++ b/guide/book.toml
@@ -0,0 +1,33 @@
+[book]
+title = "mdBook Documentation"
+description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+authors = ["Mathieu David", "Michael-F-Bryan"]
+language = "en"
+
+[rust]
+edition = "2018"
+
+[output.html]
+mathjax-support = true
+site-url = "/mdBook/"
+git-repository-url = "https://github.com/rust-lang/mdBook/tree/master/guide"
+edit-url-template = "https://github.com/rust-lang/mdBook/edit/master/guide/{path}"
+
+[output.html.playground]
+editable = true
+line-numbers = true
+
+[output.html.code.hidelines]
+python = "~"
+
+[output.html.search]
+limit-results = 20
+use-boolean-and = true
+boost-title = 2
+boost-hierarchy = 2
+boost-paragraph = 1
+expand = true
+heading-split-level = 2
+
+[output.html.redirect]
+"/format/config.html" = "configuration/index.html"
diff --git a/guide/src/404.md b/guide/src/404.md
new file mode 100644
index 0000000..a55db44
--- /dev/null
+++ b/guide/src/404.md
@@ -0,0 +1,3 @@
+# Document not found (404)
+
+This URL is invalid, sorry. Try the search instead!
\ No newline at end of file
diff --git a/guide/src/README.md b/guide/src/README.md
new file mode 100644
index 0000000..a3aeb68
--- /dev/null
+++ b/guide/src/README.md
@@ -0,0 +1,41 @@
+# Introduction
+
+**mdBook** is a command line tool to create books with Markdown.
+It is ideal for creating product or API documentation, tutorials, course materials or anything that requires a clean,
+easily navigable and customizable presentation.
+
+* Lightweight [Markdown] syntax helps you focus more on your content
+* Integrated [search] support
+* Color [syntax highlighting] for code blocks for many different languages
+* [Theme] files allow customizing the formatting of the output
+* [Preprocessors] can provide extensions for custom syntax and modifying content
+* [Backends] can render the output to multiple formats
+* Written in [Rust] for speed, safety, and simplicity
+* Automated testing of [Rust code samples]
+
+This guide is an example of what mdBook produces.
+mdBook is used by the Rust programming language project, and [The Rust Programming Language][trpl] book is another fine example of mdBook in action.
+
+[Markdown]: format/markdown.md
+[search]: guide/reading.md#search
+[syntax highlighting]: format/theme/syntax-highlighting.md
+[theme]: format/theme/index.html
+[preprocessors]: format/configuration/preprocessors.md
+[backends]: format/configuration/renderers.md
+[Rust]: https://www.rust-lang.org/
+[trpl]: https://doc.rust-lang.org/book/
+[Rust code samples]: cli/test.md
+
+## Contributing
+
+mdBook is free and open source. You can find the source code on
+[GitHub](https://github.com/rust-lang/mdBook) and issues and feature requests can be posted on
+the [GitHub issue tracker](https://github.com/rust-lang/mdBook/issues). mdBook relies on the community to fix bugs and
+add features: if you'd like to contribute, please read
+the [CONTRIBUTING](https://github.com/rust-lang/mdBook/blob/master/CONTRIBUTING.md) guide and consider opening
+a [pull request](https://github.com/rust-lang/mdBook/pulls).
+
+## License
+
+The mdBook source and documentation are released under
+the [Mozilla Public License v2.0](https://www.mozilla.org/MPL/2.0/).
diff --git a/guide/src/SUMMARY.md b/guide/src/SUMMARY.md
new file mode 100644
index 0000000..974d65f
--- /dev/null
+++ b/guide/src/SUMMARY.md
@@ -0,0 +1,43 @@
+# Summary
+
+[Introduction](README.md)
+
+# User Guide
+
+- [Installation](guide/installation.md)
+- [Reading Books](guide/reading.md)
+- [Creating a Book](guide/creating.md)
+
+# Reference Guide
+
+- [Command Line Tool](cli/README.md)
+    - [init](cli/init.md)
+    - [build](cli/build.md)
+    - [watch](cli/watch.md)
+    - [serve](cli/serve.md)
+    - [test](cli/test.md)
+    - [clean](cli/clean.md)
+    - [completions](cli/completions.md)
+- [Format](format/README.md)
+    - [SUMMARY.md](format/summary.md)
+        - [Draft chapter]()
+    - [Configuration](format/configuration/README.md)
+        - [General](format/configuration/general.md)
+        - [Preprocessors](format/configuration/preprocessors.md)
+        - [Renderers](format/configuration/renderers.md)
+        - [Environment Variables](format/configuration/environment-variables.md)
+    - [Theme](format/theme/README.md)
+        - [index.hbs](format/theme/index-hbs.md)
+        - [Syntax highlighting](format/theme/syntax-highlighting.md)
+        - [Editor](format/theme/editor.md)
+    - [MathJax Support](format/mathjax.md)
+    - [mdBook-specific features](format/mdbook.md)
+    - [Markdown](format/markdown.md)
+- [Continuous Integration](continuous-integration.md)
+- [For Developers](for_developers/README.md)
+    - [Preprocessors](for_developers/preprocessors.md)
+    - [Alternative Backends](for_developers/backends.md)
+
+-----------
+
+[Contributors](misc/contributors.md)
diff --git a/guide/src/cli/README.md b/guide/src/cli/README.md
new file mode 100644
index 0000000..2fbe378
--- /dev/null
+++ b/guide/src/cli/README.md
@@ -0,0 +1,14 @@
+# Command Line Tool
+
+The `mdbook` command-line tool is used to create and build books.
+After you have [installed](../guide/installation.md) `mdbook`, you can run the `mdbook help` command in your terminal to view the available commands.
+
+This following sections provide in-depth information on the different commands available.
+
+* [`mdbook init <directory>`](init.md) — Creates a new book with minimal boilerplate to start with.
+* [`mdbook build`](build.md) — Renders the book.
+* [`mdbook watch`](watch.md) — Rebuilds the book any time a source file changes.
+* [`mdbook serve`](serve.md) — Runs a web server to view the book, and rebuilds on changes.
+* [`mdbook test`](test.md) — Tests Rust code samples.
+* [`mdbook clean`](clean.md) — Deletes the rendered output.
+* [`mdbook completions`](completions.md) — Support for shell auto-completion.
diff --git a/guide/src/cli/build.md b/guide/src/cli/build.md
new file mode 100644
index 0000000..71f1c48
--- /dev/null
+++ b/guide/src/cli/build.md
@@ -0,0 +1,40 @@
+# The build command
+
+The build command is used to render your book:
+
+```bash
+mdbook build
+```
+
+It will try to parse your `SUMMARY.md` file to understand the structure of your
+book and fetch the corresponding files. Note that files mentioned in `SUMMARY.md`
+but not present will be created.
+
+The rendered output will maintain the same directory structure as the source for
+convenience. Large books will therefore remain structured when rendered.
+
+#### Specify a directory
+
+The `build` command can take a directory as an argument to use as the book's
+root instead of the current working directory.
+
+```bash
+mdbook build path/to/book
+```
+
+#### --open
+
+When you use the `--open` (`-o`) flag, mdbook will open the rendered book in
+your default web browser after building it.
+
+#### --dest-dir
+
+The `--dest-dir` (`-d`) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the book's root directory. If
+not specified it will default to the value of the `build.build-dir` key in
+`book.toml`, or to `./book`.
+
+-------------------
+
+***Note:*** *The build command copies all files (excluding files with `.md` extension) from the source directory
+into the build directory.*
diff --git a/guide/src/cli/clean.md b/guide/src/cli/clean.md
new file mode 100644
index 0000000..23efc45
--- /dev/null
+++ b/guide/src/cli/clean.md
@@ -0,0 +1,30 @@
+# The clean command
+
+The clean command is used to delete the generated book and any other build
+artifacts.
+
+```bash
+mdbook clean
+```
+
+#### Specify a directory
+
+The `clean` command can take a directory as an argument to use as the book's
+root instead of the current working directory.
+
+```bash
+mdbook clean path/to/book
+```
+
+#### --dest-dir
+
+The `--dest-dir` (`-d`) option allows you to override the book's output
+directory, which will be deleted by this command. Relative paths are interpreted
+relative to the book's root directory. If not specified it will default to the
+value of the `build.build-dir` key in `book.toml`, or to `./book`.
+
+```bash
+mdbook clean --dest-dir=path/to/book
+```
+
+`path/to/book` could be absolute or relative.
\ No newline at end of file
diff --git a/guide/src/cli/completions.md b/guide/src/cli/completions.md
new file mode 100644
index 0000000..1ca2124
--- /dev/null
+++ b/guide/src/cli/completions.md
@@ -0,0 +1,20 @@
+# The completions command
+
+The completions command is used to generate auto-completions for some common shells.
+This means when you type `mdbook` in your shell, you can then press your shell's auto-complete key (usually the Tab key) and it may display what the valid options are, or finish partial input.
+
+The completions first need to be installed for your shell:
+
+```bash
+# bash
+mdbook completions bash > ~/.local/share/bash-completion/completions/mdbook
+# oh-my-zsh
+mdbook completions zsh > ~/.oh-my-zsh/completions/_mdbook
+autoload -U compinit && compinit
+```
+
+The command prints a completion script for the given shell.
+Run `mdbook completions --help` for a list of supported shells.
+
+Where to place the completions depend on which shell you are using and your operating system.
+Consult your shell's documentation for more information one where to place the script.
diff --git a/guide/src/cli/init.md b/guide/src/cli/init.md
new file mode 100644
index 0000000..962f564
--- /dev/null
+++ b/guide/src/cli/init.md
@@ -0,0 +1,82 @@
+# The init command
+
+There is some minimal boilerplate that is the same for every new book. It's for
+this purpose that mdBook includes an `init` command.
+
+The `init` command is used like this:
+
+```bash
+mdbook init
+```
+
+When using the `init` command for the first time, a couple of files will be set
+up for you:
+```bash
+book-test/
+├── book
+└── src
+    ├── chapter_1.md
+    └── SUMMARY.md
+```
+
+- The `src` directory is where you write your book in markdown. It contains all
+  the source files, configuration files, etc.
+
+- The `book` directory is where your book is rendered. All the output is ready
+  to be uploaded to a server to be seen by your audience.
+
+- The `SUMMARY.md` is the skeleton of your
+  book, and is discussed in more detail [in another
+  chapter](../format/summary.md).
+
+#### Tip: Generate chapters from SUMMARY.md
+
+When a `SUMMARY.md` file already exists, the `init` command will first parse it
+and generate the missing files according to the paths used in the `SUMMARY.md`.
+This allows you to think and create the whole structure of your book and then
+let mdBook generate it for you.
+
+#### Specify a directory
+
+The `init` command can take a directory as an argument to use as the book's root
+instead of the current working directory.
+
+```bash
+mdbook init path/to/book
+```
+
+#### --theme
+
+When you use the `--theme` flag, the default theme will be copied into a
+directory called `theme` in your source directory so that you can modify it.
+
+The theme is selectively overwritten, this means that if you don't want to
+overwrite a specific file, just delete it and the default file will be used.
+
+#### --title
+
+Specify a title for the book. If not supplied, an interactive prompt will ask for 
+a title. 
+
+```bash
+mdbook init --title="my amazing book"
+```
+
+#### --ignore
+
+Create a `.gitignore` file configured to ignore the `book` directory created when [building] a book. 
+If not supplied, an interactive prompt will ask whether it should be created.
+
+```bash
+mdbook init --ignore=none
+```
+
+```bash
+mdbook init --ignore=git
+```
+
+[building]: build.md
+
+#### --force
+
+Skip the prompts to create a `.gitignore` and for the title for the book.
diff --git a/guide/src/cli/serve.md b/guide/src/cli/serve.md
new file mode 100644
index 0000000..62ea26c
--- /dev/null
+++ b/guide/src/cli/serve.md
@@ -0,0 +1,56 @@
+# The serve command
+
+The serve command is used to preview a book by serving it via HTTP at
+`localhost:3000` by default: 
+
+```bash
+mdbook serve
+```
+
+The `serve` command  watches the book's `src` directory for
+changes, rebuilding the book and refreshing clients for each change; this includes
+re-creating deleted files still mentioned in `SUMMARY.md`! A websocket
+connection is used to trigger the client-side refresh.
+
+***Note:*** *The `serve` command is for testing a book's HTML output, and is not
+intended to be a complete HTTP server for a website.*
+
+#### Specify a directory
+
+The `serve` command can take a directory as an argument to use as the book's
+root instead of the current working directory.
+
+```bash
+mdbook serve path/to/book
+```
+
+### Server options
+
+The `serve` hostname defaults to `localhost`, and the port defaults to `3000`. Either option can be specified on the command line:
+
+```bash
+mdbook serve path/to/book -p 8000 -n 127.0.0.1 
+```
+
+#### --open
+
+When you use the `--open` (`-o`) flag, mdbook will open the book in your
+default web browser after starting the server.
+
+#### --dest-dir
+
+The `--dest-dir` (`-d`) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the book's root directory. If
+not specified it will default to the value of the `build.build-dir` key in
+`book.toml`, or to `./book`.
+
+#### Specify exclude patterns
+
+The `serve` command will not automatically trigger a build for files listed in
+the `.gitignore` file in the book root directory. The `.gitignore` file may
+contain file patterns described in the [gitignore
+documentation](https://git-scm.com/docs/gitignore). This can be useful for
+ignoring temporary files created by some editors.
+
+***Note:*** *Only the `.gitignore` from the book root directory is used. Global
+`$HOME/.gitignore` or `.gitignore` files in parent directories are not used.*
diff --git a/guide/src/cli/test.md b/guide/src/cli/test.md
new file mode 100644
index 0000000..d143948
--- /dev/null
+++ b/guide/src/cli/test.md
@@ -0,0 +1,67 @@
+# The test command
+
+When writing a book, you sometimes need to automate some tests. For example,
+[The Rust Programming Book](https://doc.rust-lang.org/stable/book/) uses a lot
+of code examples that could get outdated. Therefore it is very important for
+them to be able to automatically test these code examples.
+
+mdBook supports a `test` command that will run all available tests in a book. At
+the moment, only Rust tests are supported.
+
+#### Disable tests on a code block
+
+rustdoc doesn't test code blocks which contain the `ignore` attribute:
+
+    ```rust,ignore
+    fn main() {}
+    ```
+
+rustdoc also doesn't test code blocks which specify a language other than Rust:
+
+    ```markdown
+    **Foo**: _bar_
+    ```
+
+rustdoc *does* test code blocks which have no language specified:
+
+    ```
+    This is going to cause an error!
+    ```
+
+#### Specify a directory
+
+The `test` command can take a directory as an argument to use as the book's root
+instead of the current working directory.
+
+```bash
+mdbook test path/to/book
+```
+
+#### --library-path
+
+The `--library-path` (`-L`) option allows you to add directories to the library
+search path used by `rustdoc` when it builds and tests the examples. Multiple
+directories can be specified with multiple options (`-L foo -L bar`) or with a
+comma-delimited list (`-L foo,bar`). The path should point to the Cargo
+[build cache](https://doc.rust-lang.org/cargo/guide/build-cache.html) `deps` directory that
+contains the build output of your project. For example, if your Rust project's book is in a directory
+named `my-book`, the following command would include the crate's dependencies when running `test`:
+
+```shell
+mdbook test my-book -L target/debug/deps/
+```
+
+See the `rustdoc` command-line [documentation](https://doc.rust-lang.org/rustdoc/command-line-arguments.html#-l--library-path-where-to-look-for-dependencies)
+for more information.
+
+#### --dest-dir
+
+The `--dest-dir` (`-d`) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the book's root directory. If
+not specified it will default to the value of the `build.build-dir` key in
+`book.toml`, or to `./book`.
+
+#### --chapter
+
+The `--chapter` (`-c`) option allows you to test a specific chapter of the
+book using the chapter name or the relative path to the chapter.
diff --git a/guide/src/cli/watch.md b/guide/src/cli/watch.md
new file mode 100644
index 0000000..3522f43
--- /dev/null
+++ b/guide/src/cli/watch.md
@@ -0,0 +1,40 @@
+# The watch command
+
+The `watch` command is useful when you want your book to be rendered on every
+file change. You could repeatedly issue `mdbook build` every time a file is
+changed. But using `mdbook watch` once will watch your files and will trigger a
+build automatically whenever you modify a file; this includes re-creating
+deleted files still mentioned in `SUMMARY.md`!
+
+#### Specify a directory
+
+The `watch` command can take a directory as an argument to use as the book's
+root instead of the current working directory.
+
+```bash
+mdbook watch path/to/book
+```
+
+#### --open
+
+When you use the `--open` (`-o`) option, mdbook will open the rendered book in
+your default web browser.
+
+#### --dest-dir
+
+The `--dest-dir` (`-d`) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the book's root directory. If
+not specified it will default to the value of the `build.build-dir` key in
+`book.toml`, or to `./book`.
+
+
+#### Specify exclude patterns
+
+The `watch` command will not automatically trigger a build for files listed in
+the `.gitignore` file in the book root directory. The `.gitignore` file may
+contain file patterns described in the [gitignore
+documentation](https://git-scm.com/docs/gitignore). This can be useful for
+ignoring temporary files created by some editors.
+
+_Note: Only `.gitignore` from book root directory is used. Global
+`$HOME/.gitignore` or `.gitignore` files in parent directories are not used._
diff --git a/guide/src/continuous-integration.md b/guide/src/continuous-integration.md
new file mode 100644
index 0000000..27e7851
--- /dev/null
+++ b/guide/src/continuous-integration.md
@@ -0,0 +1,121 @@
+# Running `mdbook` in Continuous Integration
+
+There are a variety of services such as [GitHub Actions] or [GitLab CI/CD] which can be used to test and deploy your book automatically.
+
+The following provides some general guidelines on how to configure your service to run mdBook.
+Specific recipes can be found at the [Automated Deployment] wiki page.
+
+[GitHub Actions]: https://docs.github.com/en/actions
+[GitLab CI/CD]: https://docs.gitlab.com/ee/ci/
+[Automated Deployment]: https://github.com/rust-lang/mdBook/wiki/Automated-Deployment
+
+## Installing mdBook
+
+There are several different strategies for installing mdBook.
+The particular method depends on your needs and preferences.
+
+### Pre-compiled binaries
+
+Perhaps the easiest method is to use the pre-compiled binaries found on the [GitHub Releases page][releases].
+A simple approach would be to use the popular `curl` CLI tool to download the executable:
+
+```sh
+mkdir bin
+curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.36/mdbook-v0.4.36-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
+bin/mdbook build
+```
+
+Some considerations for this approach:
+
+* This is relatively fast, and does not necessarily require dealing with caching.
+* This does not require installing Rust.
+* Specifying a specific URL means you have to manually update your script to get a new version.
+  This may be a benefit if you want to lock to a specific version.
+  However, some users prefer to automatically get a newer version when they are published.
+* You are reliant on the GitHub CDN being available.
+
+[releases]: https://github.com/rust-lang/mdBook/releases
+
+### Building from source
+
+Building from source will require having Rust installed.
+Some services have Rust pre-installed, but if your service does not, you will need to add a step to install it.
+
+After Rust is installed, `cargo install` can be used to build and install mdBook.
+We recommend using a SemVer version specifier so that you get the latest **non-breaking** version of mdBook.
+For example:
+
+```sh
+cargo install mdbook --no-default-features --features search --vers "^0.4" --locked
+```
+
+This includes several recommended options:
+
+* `--no-default-features` — Disables features like the HTTP server used by `mdbook serve` that is likely not needed on CI.
+  This will speed up the build time significantly.
+* `--features search` — Disabling default features means you should then manually enable features that you want, such as the built-in [search] capability.
+* `--vers "^0.4"` — This will install the most recent version of the `0.4` series.
+  However, versions after like `0.5.0` won't be installed, as they may break your build.
+  Cargo will automatically upgrade mdBook if you have an older version already installed.
+* `--locked` — This will use the dependencies that were used when mdBook was released.
+  Without `--locked`, it will use the latest version of all dependencies, which may include some fixes since the last release, but may also (rarely) cause build problems.
+
+You will likely want to investigate caching options, as building mdBook can be somewhat slow.
+
+[search]: guide/reading.md#search
+
+## Running tests
+
+You may want to run tests using [`mdbook test`] every time you push a change or create a pull request.
+This can be used to validate Rust code examples in the book.
+
+This will require having Rust installed.
+Some services have Rust pre-installed, but if your service does not, you will need to add a step to install it.
+
+Other than making sure the appropriate version of Rust is installed, there's not much more than just running `mdbook test` from the book directory.
+
+You may also want to consider running other kinds of tests, like [mdbook-linkcheck] which will check for broken links.
+Or if you have your own style checks, spell checker, or any other tests it might be good to run them in CI.
+
+[`mdbook test`]: cli/test.md
+[mdbook-linkcheck]: https://github.com/Michael-F-Bryan/mdbook-linkcheck#continuous-integration
+
+## Deploying
+
+You may want to automatically deploy your book.
+Some may want to do this every time a change is pushed, and others may want to only deploy when a specific release is tagged.
+
+You'll also need to understand the specifics on how to push a change to your web service.
+For example, [GitHub Pages] just requires committing the output onto a specific git branch.
+Other services may require using something like SSH to connect to a remote server.
+
+The basic outline is that you need to run `mdbook build` to generate the output, and then transfer the files (which are in the `book` directory) to the correct location.
+
+You may then want to consider if you need to invalidate any caches on your web service.
+
+See the [Automated Deployment] wiki page for examples of various different services.
+
+[GitHub Pages]: https://docs.github.com/en/pages
+
+### 404 handling
+
+mdBook automatically generates a 404 page to be used for broken links.
+The default output is a file named `404.html` at the root of the book.
+Some services like [GitHub Pages] will automatically use this page for broken links.
+For other services, you may want to consider configuring the web server to use this page as it will provide the reader navigation to get back to the book.
+
+If your book is not deployed at the root of the domain, then you should set the [`output.html.site-url`] setting so that the 404 page works correctly.
+It needs to know where the book is deployed in order to load the static files (like CSS) correctly.
+For example, this guide is deployed at <https://rust-lang.github.io/mdBook/>, and the `site-url` setting is configured like this:
+
+```toml
+# book.toml
+[output.html]
+site-url = "/mdBook/"
+```
+
+You can customize the look of the 404 page by creating a file named `src/404.md` in your book.
+If you want to use a different filename, you can set [`output.html.input-404`] to a different filename.
+
+[`output.html.site-url`]: format/configuration/renderers.md#html-renderer-options
+[`output.html.input-404`]: format/configuration/renderers.md#html-renderer-options
diff --git a/guide/src/for_developers/README.md b/guide/src/for_developers/README.md
new file mode 100644
index 0000000..d8b9770
--- /dev/null
+++ b/guide/src/for_developers/README.md
@@ -0,0 +1,47 @@
+# For Developers
+
+While `mdbook` is mainly used as a command line tool, you can also import the
+underlying library directly and use that to manage a book. It also has a fairly
+flexible plugin mechanism, allowing you to create your own custom tooling and
+consumers (often referred to as *backends*) if you need to do some analysis of
+the book or render it in a different format.
+
+The *For Developers* chapters are here to show you the more advanced usage of
+`mdbook`.
+
+The two main ways a developer can hook into the book's build process is via,
+
+- [Preprocessors](preprocessors.md)
+- [Alternative Backends](backends.md)
+
+
+## The Build Process
+
+The process of rendering a book project goes through several steps.
+
+1. Load the book
+    - Parse the `book.toml`, falling back to the default `Config` if it doesn't
+       exist
+    - Load the book chapters into memory
+    - Discover which preprocessors/backends should be used
+2. For each backend:
+   1. Run all the preprocessors.
+   2. Call the backend to render the processed result.
+
+
+## Using `mdbook` as a Library
+
+The `mdbook` binary is just a wrapper around the `mdbook` crate, exposing its
+functionality as a command-line program. As such it is quite easy to create your
+own programs which use `mdbook` internally, adding your own functionality (e.g.
+a custom preprocessor) or tweaking the build process.
+
+The easiest way to find out how to use the `mdbook` crate is by looking at the
+[API Docs]. The top level documentation explains how one would use the
+[`MDBook`] type to load and build a book, while the [config] module gives a good
+explanation on the configuration system.
+
+
+[`MDBook`]: https://docs.rs/mdbook/*/mdbook/book/struct.MDBook.html
+[API Docs]: https://docs.rs/mdbook/*/mdbook/
+[config]: https://docs.rs/mdbook/*/mdbook/config/index.html
diff --git a/guide/src/for_developers/backends.md b/guide/src/for_developers/backends.md
new file mode 100644
index 0000000..78326a3
--- /dev/null
+++ b/guide/src/for_developers/backends.md
@@ -0,0 +1,346 @@
+# Alternative Backends
+
+A "backend" is simply a program which `mdbook` will invoke during the book
+rendering process. This program is passed a JSON representation of the book and
+configuration information via `stdin`. Once the backend receives this
+information it is free to do whatever it wants.
+
+See [Configuring Renderers](../format/configuration/renderers.md) for more information about using backends.
+
+The community has developed several backends.
+See the [Third Party Plugins] wiki page for a list of available backends.
+
+## Setting Up
+
+This page will step you through creating your own alternative backend in the form
+of a simple word counting program. Although it will be written in Rust, there's
+no reason why it couldn't be accomplished using something like Python or Ruby.
+
+First you'll want to create a new binary program and add `mdbook` as a
+dependency.
+
+```shell
+$ cargo new --bin mdbook-wordcount
+$ cd mdbook-wordcount
+$ cargo add mdbook
+```
+
+When our `mdbook-wordcount` plugin is invoked, `mdbook` will send it a JSON
+version of [`RenderContext`] via our plugin's `stdin`. For convenience, there's
+a [`RenderContext::from_json()`] constructor which will load a `RenderContext`.
+
+This is all the boilerplate necessary for our backend to load the book.
+
+```rust
+// src/main.rs
+extern crate mdbook;
+
+use std::io;
+use mdbook::renderer::RenderContext;
+
+fn main() {
+    let mut stdin = io::stdin();
+    let ctx = RenderContext::from_json(&mut stdin).unwrap();
+}
+```
+
+> **Note:** The `RenderContext` contains a `version` field. This lets backends
+  figure out whether they are compatible with the version of `mdbook` it's being
+  called by. This `version` comes directly from the corresponding field in
+  `mdbook`'s `Cargo.toml`.
+
+  It is recommended that backends use the [`semver`] crate to inspect this field
+  and emit a warning if there may be a compatibility issue.
+
+
+## Inspecting the Book
+
+Now our backend has a copy of the book, lets count how many words are in each
+chapter!
+
+Because the `RenderContext` contains a [`Book`] field (`book`), and a `Book` has
+the [`Book::iter()`] method for iterating over all items in a `Book`, this step
+turns out to be just as easy as the first.
+
+```rust
+
+fn main() {
+    let mut stdin = io::stdin();
+    let ctx = RenderContext::from_json(&mut stdin).unwrap();
+
+    for item in ctx.book.iter() {
+        if let BookItem::Chapter(ref ch) = *item {
+            let num_words = count_words(ch);
+            println!("{}: {}", ch.name, num_words);
+        }
+    }
+}
+
+fn count_words(ch: &Chapter) -> usize {
+    ch.content.split_whitespace().count()
+}
+```
+
+
+## Enabling the Backend
+
+Now we've got the basics running, we want to actually use it. First, install the
+program.
+
+```shell
+$ cargo install --path .
+```
+
+Then `cd` to the particular book you'd like to count the words of and update its
+`book.toml` file.
+
+```diff
+  [book]
+  title = "mdBook Documentation"
+  description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+  authors = ["Mathieu David", "Michael-F-Bryan"]
+
++ [output.html]
+
++ [output.wordcount]
+```
+
+When it loads a book into memory, `mdbook` will inspect your `book.toml` file to
+try and figure out which backends to use by looking for all `output.*` tables.
+If none are provided it'll fall back to using the default HTML renderer.
+
+Notably, this means if you want to add your own custom backend you'll also need
+to make sure to add the HTML backend, even if its table just stays empty.
+
+Now you just need to build your book like normal, and everything should *Just
+Work*.
+
+```shell
+$ mdbook build
+...
+2018-01-16 07:31:15 [INFO] (mdbook::renderer): Invoking the "mdbook-wordcount" renderer
+mdBook: 126
+Command Line Tool: 224
+init: 283
+build: 145
+watch: 146
+serve: 292
+test: 139
+Format: 30
+SUMMARY.md: 259
+Configuration: 784
+Theme: 304
+index.hbs: 447
+Syntax highlighting: 314
+MathJax Support: 153
+Rust code specific features: 148
+For Developers: 788
+Alternative Backends: 710
+Contributors: 85
+```
+
+The reason we didn't need to specify the full name/path of our `wordcount`
+backend is because `mdbook` will try to *infer* the program's name via
+convention. The executable for the `foo` backend is typically called
+`mdbook-foo`, with an associated `[output.foo]` entry in the `book.toml`. To
+explicitly tell `mdbook` what command to invoke (it may require command-line
+arguments or be an interpreted script), you can use the `command` field.
+
+```diff
+  [book]
+  title = "mdBook Documentation"
+  description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+  authors = ["Mathieu David", "Michael-F-Bryan"]
+
+  [output.html]
+
+  [output.wordcount]
++ command = "python /path/to/wordcount.py"
+```
+
+
+## Configuration
+
+Now imagine you don't want to count the number of words on a particular chapter
+(it might be generated text/code, etc). The canonical way to do this is via the
+usual `book.toml` configuration file by adding items to your `[output.foo]`
+table.
+
+The `Config` can be treated roughly as a nested hashmap which lets you call
+methods like `get()` to access the config's contents, with a
+`get_deserialized()` convenience method for retrieving a value and automatically
+deserializing to some arbitrary type `T`.
+
+To implement this, we'll create our own serializable `WordcountConfig` struct
+which will encapsulate all configuration for this backend.
+
+First add `serde` and `serde_derive` to your `Cargo.toml`,
+
+```
+$ cargo add serde serde_derive
+```
+
+And then you can create the config struct,
+
+```rust
+extern crate serde;
+#[macro_use]
+extern crate serde_derive;
+
+...
+
+#[derive(Debug, Default, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct WordcountConfig {
+  pub ignores: Vec<String>,
+}
+```
+
+Now we just need to deserialize the `WordcountConfig` from our `RenderContext`
+and then add a check to make sure we skip ignored chapters.
+
+```diff
+  fn main() {
+      let mut stdin = io::stdin();
+      let ctx = RenderContext::from_json(&mut stdin).unwrap();
++     let cfg: WordcountConfig = ctx.config
++         .get_deserialized("output.wordcount")
++         .unwrap_or_default();
+
+      for item in ctx.book.iter() {
+          if let BookItem::Chapter(ref ch) = *item {
++             if cfg.ignores.contains(&ch.name) {
++                 continue;
++             }
++
+              let num_words = count_words(ch);
+              println!("{}: {}", ch.name, num_words);
+          }
+      }
+  }
+```
+
+
+## Output and Signalling Failure
+
+While it's nice to print word counts to the terminal when a book is built, it
+might also be a good idea to output them to a file somewhere. `mdbook` tells a
+backend where it should place any generated output via the `destination` field
+in [`RenderContext`].
+
+```diff
++ use std::fs::{self, File};
++ use std::io::{self, Write};
+- use std::io;
+  use mdbook::renderer::RenderContext;
+  use mdbook::book::{BookItem, Chapter};
+
+  fn main() {
+    ...
+
++     let _ = fs::create_dir_all(&ctx.destination);
++     let mut f = File::create(ctx.destination.join("wordcounts.txt")).unwrap();
++
+      for item in ctx.book.iter() {
+          if let BookItem::Chapter(ref ch) = *item {
+              ...
+
+              let num_words = count_words(ch);
+              println!("{}: {}", ch.name, num_words);
++             writeln!(f, "{}: {}", ch.name, num_words).unwrap();
+          }
+      }
+  }
+```
+
+> **Note:** There is no guarantee that the destination directory exists or is
+> empty (`mdbook` may leave the previous contents to let backends do caching),
+> so it's always a good idea to create it with `fs::create_dir_all()`.
+>
+> If the destination directory already exists, don't assume it will be empty.
+> To allow backends to cache the results from previous runs, `mdbook` may leave
+> old content in the directory.
+
+There's always the possibility that an error will occur while processing a book
+(just look at all the `unwrap()`'s we've written already), so `mdbook` will
+interpret a non-zero exit code as a rendering failure.
+
+For example, if we wanted to make sure all chapters have an *even* number of
+words, erroring out if an odd number is encountered, then you may do something
+like this:
+
+```diff
++ use std::process;
+  ...
+
+  fn main() {
+      ...
+
+      for item in ctx.book.iter() {
+          if let BookItem::Chapter(ref ch) = *item {
+              ...
+
+              let num_words = count_words(ch);
+              println!("{}: {}", ch.name, num_words);
+              writeln!(f, "{}: {}", ch.name, num_words).unwrap();
+
++             if cfg.deny_odds && num_words % 2 == 1 {
++               eprintln!("{} has an odd number of words!", ch.name);
++               process::exit(1);
+              }
+          }
+      }
+  }
+
+  #[derive(Debug, Default, Serialize, Deserialize)]
+  #[serde(default, rename_all = "kebab-case")]
+  pub struct WordcountConfig {
+      pub ignores: Vec<String>,
++     pub deny_odds: bool,
+  }
+```
+
+Now, if we reinstall the backend and build a book,
+
+```shell
+$ cargo install --path . --force
+$ mdbook build /path/to/book
+...
+2018-01-16 21:21:39 [INFO] (mdbook::renderer): Invoking the "wordcount" renderer
+mdBook: 126
+Command Line Tool: 224
+init: 283
+init has an odd number of words!
+2018-01-16 21:21:39 [ERROR] (mdbook::renderer): Renderer exited with non-zero return code.
+2018-01-16 21:21:39 [ERROR] (mdbook::utils): Error: Rendering failed
+2018-01-16 21:21:39 [ERROR] (mdbook::utils):    Caused By: The "mdbook-wordcount" renderer failed
+```
+
+As you've probably already noticed, output from the plugin's subprocess is
+immediately passed through to the user. It is encouraged for plugins to follow
+the "rule of silence" and only generate output when necessary (e.g. an error in
+generation or a warning).
+
+All environment variables are passed through to the backend, allowing you to use
+the usual `RUST_LOG` to control logging verbosity.
+
+## Wrapping Up
+
+Although contrived, hopefully this example was enough to show how you'd create
+an alternative backend for `mdbook`. If you feel it's missing something, don't
+hesitate to create an issue in the [issue tracker] so we can improve the user
+guide.
+
+The existing backends mentioned towards the start of this chapter should serve
+as a good example of how it's done in real life, so feel free to skim through
+the source code or ask questions.
+
+
+[Third Party Plugins]: https://github.com/rust-lang/mdBook/wiki/Third-party-plugins
+[`RenderContext`]: https://docs.rs/mdbook/*/mdbook/renderer/struct.RenderContext.html
+[`RenderContext::from_json()`]: https://docs.rs/mdbook/*/mdbook/renderer/struct.RenderContext.html#method.from_json
+[`semver`]: https://crates.io/crates/semver
+[`Book`]: https://docs.rs/mdbook/*/mdbook/book/struct.Book.html
+[`Book::iter()`]: https://docs.rs/mdbook/*/mdbook/book/struct.Book.html#method.iter
+[`Config`]: https://docs.rs/mdbook/*/mdbook/config/struct.Config.html
+[issue tracker]: https://github.com/rust-lang/mdBook/issues
diff --git a/guide/src/for_developers/mdbook-wordcount/Cargo.toml b/guide/src/for_developers/mdbook-wordcount/Cargo.toml
new file mode 100644
index 0000000..e58e73b
--- /dev/null
+++ b/guide/src/for_developers/mdbook-wordcount/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "mdbook-wordcount"
+version = "0.1.0"
+authors = ["Michael Bryan <michaelfbryan@gmail.com>"]
+
+[dependencies]
+mdbook = { path = "../../../..", version = "*" }
+serde = "1.0"
+serde_derive = "1.0"
diff --git a/guide/src/for_developers/mdbook-wordcount/src/main.rs b/guide/src/for_developers/mdbook-wordcount/src/main.rs
new file mode 100644
index 0000000..607338d
--- /dev/null
+++ b/guide/src/for_developers/mdbook-wordcount/src/main.rs
@@ -0,0 +1,49 @@
+extern crate mdbook;
+extern crate serde;
+#[macro_use]
+extern crate serde_derive;
+
+use std::process;
+use std::fs::{self, File};
+use std::io::{self, Write};
+use mdbook::renderer::RenderContext;
+use mdbook::book::{BookItem, Chapter};
+
+fn main() {
+    let mut stdin = io::stdin();
+    let ctx = RenderContext::from_json(&mut stdin).unwrap();
+    let cfg: WordcountConfig = ctx.config
+        .get_deserialized("output.wordcount")
+        .unwrap_or_default();
+
+    let _ = fs::create_dir_all(&ctx.destination);
+    let mut f = File::create(ctx.destination.join("wordcounts.txt")).unwrap();
+
+    for item in ctx.book.iter() {
+        if let BookItem::Chapter(ref ch) = *item {
+            if cfg.ignores.contains(&ch.name) {
+                continue;
+            }
+
+            let num_words = count_words(ch);
+            println!("{}: {}", ch.name, num_words);
+            writeln!(f, "{}: {}", ch.name, num_words).unwrap();
+
+            if cfg.deny_odds && num_words % 2 == 1 {
+                eprintln!("{} has an odd number of words!", ch.name);
+                process::exit(1);
+            }
+        }
+    }
+}
+
+fn count_words(ch: &Chapter) -> usize {
+    ch.content.split_whitespace().count()
+}
+
+#[derive(Debug, Default, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct WordcountConfig {
+    pub ignores: Vec<String>,
+    pub deny_odds: bool,
+}
diff --git a/guide/src/for_developers/preprocessors.md b/guide/src/for_developers/preprocessors.md
new file mode 100644
index 0000000..1ac4625
--- /dev/null
+++ b/guide/src/for_developers/preprocessors.md
@@ -0,0 +1,134 @@
+# Preprocessors
+
+A *preprocessor* is simply a bit of code which gets run immediately after the
+book is loaded and before it gets rendered, allowing you to update and mutate
+the book. Possible use cases are:
+
+- Creating custom helpers like `\{{#include /path/to/file.md}}`
+- Substituting in latex-style expressions (`$$ \frac{1}{3} $$`) with their
+  mathjax equivalents
+
+See [Configuring Preprocessors](../format/configuration/preprocessors.md) for more information about using preprocessors.
+
+## Hooking Into MDBook
+
+MDBook uses a fairly simple mechanism for discovering third party plugins.
+A new table is added to `book.toml` (e.g. `[preprocessor.foo]` for the `foo`
+preprocessor) and then `mdbook` will try to invoke the `mdbook-foo` program as
+part of the build process.
+
+Once the preprocessor has been defined and the build process starts, mdBook executes the command defined in the `preprocessor.foo.command` key twice.
+The first time it runs the preprocessor to determine if it supports the given renderer.
+mdBook passes two arguments to the process: the first argument is the string `supports` and the second argument is the renderer name.
+The preprocessor should exit with a status code 0 if it supports the given renderer, or return a non-zero exit code if it does not.
+
+If the preprocessor supports the renderer, then mdbook runs it a second time, passing JSON data into stdin.
+The JSON consists of an array of `[context, book]` where `context` is the serialized object [`PreprocessorContext`] and `book` is a [`Book`] object containing the content of the book.
+
+The preprocessor should return the JSON format of the [`Book`] object to stdout, with any modifications it wishes to perform.
+
+The easiest way to get started is by creating your own implementation of the
+`Preprocessor` trait (e.g. in `lib.rs`) and then creating a shell binary which
+translates inputs to the correct `Preprocessor` method. For convenience, there
+is [an example no-op preprocessor] in the `examples/` directory which can easily
+be adapted for other preprocessors.
+
+<details>
+<summary>Example no-op preprocessor</summary>
+
+```rust
+// nop-preprocessors.rs
+
+{{#include ../../../examples/nop-preprocessor.rs}}
+```
+</details>
+
+## Hints For Implementing A Preprocessor
+
+By pulling in `mdbook` as a library, preprocessors can have access to the
+existing infrastructure for dealing with books.
+
+For example, a custom preprocessor could use the
+[`CmdPreprocessor::parse_input()`] function to deserialize the JSON written to
+`stdin`. Then each chapter of the `Book` can be mutated in-place via
+[`Book::for_each_mut()`], and then written to `stdout` with the `serde_json`
+crate.
+
+Chapters can be accessed either directly (by recursively iterating over
+chapters) or via the `Book::for_each_mut()` convenience method.
+
+The `chapter.content` is just a string which happens to be markdown. While it's
+entirely possible to use regular expressions or do a manual find & replace,
+you'll probably want to process the input into something more computer-friendly.
+The [`pulldown-cmark`][pc] crate implements a production-quality event-based
+Markdown parser, with the [`pulldown-cmark-to-cmark`][pctc] crate allowing you to
+translate events back into markdown text.
+
+The following code block shows how to remove all emphasis from markdown,
+without accidentally breaking the document.
+
+```rust
+fn remove_emphasis(
+    num_removed_items: &mut usize,
+    chapter: &mut Chapter,
+) -> Result<String> {
+    let mut buf = String::with_capacity(chapter.content.len());
+
+    let events = Parser::new(&chapter.content).filter(|e| {
+        let should_keep = match *e {
+            Event::Start(Tag::Emphasis)
+            | Event::Start(Tag::Strong)
+            | Event::End(Tag::Emphasis)
+            | Event::End(Tag::Strong) => false,
+            _ => true,
+        };
+        if !should_keep {
+            *num_removed_items += 1;
+        }
+        should_keep
+    });
+
+    cmark(events, &mut buf, None).map(|_| buf).map_err(|err| {
+        Error::from(format!("Markdown serialization failed: {}", err))
+    })
+}
+```
+
+For everything else, have a look [at the complete example][example].
+
+## Implementing a preprocessor with a different language
+
+The fact that mdBook utilizes stdin and stdout to communicate with the preprocessors makes it easy to implement them in a language other than Rust.
+The following code shows how to implement a simple preprocessor in Python, which will modify the content of the first chapter.
+The example below follows the configuration shown above with `preprocessor.foo.command` actually pointing to a Python script.
+
+```python
+import json
+import sys
+
+
+if __name__ == '__main__':
+    if len(sys.argv) > 1: # we check if we received any argument
+        if sys.argv[1] == "supports": 
+            # then we are good to return an exit status code of 0, since the other argument will just be the renderer's name
+            sys.exit(0)
+
+    # load both the context and the book representations from stdin
+    context, book = json.load(sys.stdin)
+    # and now, we can just modify the content of the first chapter
+    book['sections'][0]['Chapter']['content'] = '# Hello'
+    # we are done with the book's modification, we can just print it to stdout, 
+    print(json.dumps(book))
+```
+
+
+
+[preprocessor-docs]: https://docs.rs/mdbook/latest/mdbook/preprocess/trait.Preprocessor.html
+[pc]: https://crates.io/crates/pulldown-cmark
+[pctc]: https://crates.io/crates/pulldown-cmark-to-cmark
+[example]: https://github.com/rust-lang/mdBook/blob/master/examples/nop-preprocessor.rs
+[an example no-op preprocessor]: https://github.com/rust-lang/mdBook/blob/master/examples/nop-preprocessor.rs
+[`CmdPreprocessor::parse_input()`]: https://docs.rs/mdbook/latest/mdbook/preprocess/trait.Preprocessor.html#method.parse_input
+[`Book::for_each_mut()`]: https://docs.rs/mdbook/latest/mdbook/book/struct.Book.html#method.for_each_mut
+[`PreprocessorContext`]: https://docs.rs/mdbook/latest/mdbook/preprocess/struct.PreprocessorContext.html
+[`Book`]: https://docs.rs/mdbook/latest/mdbook/book/struct.Book.html
diff --git a/guide/src/format/README.md b/guide/src/format/README.md
new file mode 100644
index 0000000..3575725
--- /dev/null
+++ b/guide/src/format/README.md
@@ -0,0 +1,8 @@
+# Format
+
+In this section you will learn how to:
+
+- Structure your book correctly
+- Format your `SUMMARY.md` file
+- Configure your book using `book.toml`
+- Customize your theme
diff --git a/guide/src/format/configuration/README.md b/guide/src/format/configuration/README.md
new file mode 100644
index 0000000..4dcb585
--- /dev/null
+++ b/guide/src/format/configuration/README.md
@@ -0,0 +1,12 @@
+# Configuration
+
+This section details the configuration options available in the ***book.toml***:
+- **[General]** configuration including the `book`, `rust`, `build` sections
+- **[Preprocessor]** configuration for default and custom book preprocessors
+- **[Renderer]** configuration for the HTML, Markdown and custom renderers
+- **[Environment Variable]** configuration for overriding configuration options in your environment
+
+[General]: general.md
+[Preprocessor]: preprocessors.md
+[Renderer]: renderers.md
+[Environment Variable]: environment-variables.md
\ No newline at end of file
diff --git a/guide/src/format/configuration/environment-variables.md b/guide/src/format/configuration/environment-variables.md
new file mode 100644
index 0000000..8799c54
--- /dev/null
+++ b/guide/src/format/configuration/environment-variables.md
@@ -0,0 +1,38 @@
+# Environment Variables
+
+All configuration values can be overridden from the command line by setting the
+corresponding environment variable. Because many operating systems restrict
+environment variables to be alphanumeric characters or `_`, the configuration
+key needs to be formatted slightly differently to the normal `foo.bar.baz` form.
+
+Variables starting with `MDBOOK_` are used for configuration. The key is created
+by removing the `MDBOOK_` prefix and turning the resulting string into
+`kebab-case`. Double underscores (`__`) separate nested keys, while a single
+underscore (`_`) is replaced with a dash (`-`).
+
+For example:
+
+- `MDBOOK_foo` -> `foo`
+- `MDBOOK_FOO` -> `foo`
+- `MDBOOK_FOO__BAR` -> `foo.bar`
+- `MDBOOK_FOO_BAR` -> `foo-bar`
+- `MDBOOK_FOO_bar__baz` -> `foo-bar.baz`
+
+So by setting the `MDBOOK_BOOK__TITLE` environment variable you can override the
+book's title without needing to touch your `book.toml`.
+
+> **Note:** To facilitate setting more complex config items, the value of an
+> environment variable is first parsed as JSON, falling back to a string if the
+> parse fails.
+>
+> This means, if you so desired, you could override all book metadata when
+> building the book with something like
+>
+> ```shell
+> $ export MDBOOK_BOOK='{"title": "My Awesome Book", "authors": ["Michael-F-Bryan"]}'
+> $ mdbook build
+> ```
+
+The latter case may be useful in situations where `mdbook` is invoked from a
+script or CI, where it sometimes isn't possible to update the `book.toml` before
+building.
diff --git a/guide/src/format/configuration/general.md b/guide/src/format/configuration/general.md
new file mode 100644
index 0000000..fefd715
--- /dev/null
+++ b/guide/src/format/configuration/general.md
@@ -0,0 +1,118 @@
+# General Configuration
+
+You can configure the parameters for your book in the ***book.toml*** file.
+
+Here is an example of what a ***book.toml*** file might look like:
+
+```toml
+[book]
+title = "Example book"
+authors = ["John Doe"]
+description = "The example book covers examples."
+
+[rust]
+edition = "2018"
+
+[build]
+build-dir = "my-example-book"
+create-missing = false
+
+[preprocessor.index]
+
+[preprocessor.links]
+
+[output.html]
+additional-css = ["custom.css"]
+
+[output.html.search]
+limit-results = 15
+```
+
+## Supported configuration options
+
+It is important to note that **any** relative path specified in the
+configuration will always be taken relative from the root of the book where the
+configuration file is located.
+
+### General metadata
+
+This is general information about your book.
+
+- **title:** The title of the book
+- **authors:** The author(s) of the book
+- **description:** A description for the book, which is added as meta
+  information in the html `<head>` of each page
+- **src:** By default, the source directory is found in the directory named
+  `src` directly under the root folder. But this is configurable with the `src`
+  key in the configuration file.
+- **language:** The main language of the book, which is used as a language attribute `<html lang="en">` for example.
+  This is also used to derive the direction of text (RTL, LTR) within the book.
+- **text-direction**: The direction of text in the book: Left-to-right (LTR) or Right-to-left (RTL). Possible values: `ltr`, `rtl`.
+  When not specified, the text direction is derived from the book's `language` attribute.
+
+**book.toml**
+```toml
+[book]
+title = "Example book"
+authors = ["John Doe", "Jane Doe"]
+description = "The example book covers examples."
+src = "my-src"  # the source files will be found in `root/my-src` instead of `root/src`
+language = "en"
+text-direction = "ltr"
+```
+
+### Rust options
+
+Options for the Rust language, relevant to running tests and playground
+integration.
+
+```toml
+[rust]
+edition = "2015"   # the default edition for code blocks
+```
+
+- **edition**: Rust edition to use by default for the code snippets. Default
+  is "2015". Individual code blocks can be controlled with the `edition2015`, 
+  `edition2018` or `edition2021` annotations, such as:
+
+  ~~~text
+  ```rust,edition2015
+  // This only works in 2015.
+  let try = true;
+  ```
+  ~~~
+
+### Build options
+
+This controls the build process of your book.
+
+```toml
+[build]
+build-dir = "book"                # the directory where the output is placed
+create-missing = true             # whether or not to create missing pages
+use-default-preprocessors = true  # use the default preprocessors
+extra-watch-dirs = []             # directories to watch for triggering builds
+```
+
+- **build-dir:** The directory to put the rendered book in. By default this is
+  `book/` in the book's root directory.
+  This can overridden with the `--dest-dir` CLI option.
+- **create-missing:** By default, any missing files specified in `SUMMARY.md`
+  will be created when the book is built (i.e. `create-missing = true`). If this
+  is `false` then the build process will instead exit with an error if any files
+  do not exist.
+- **use-default-preprocessors:** Disable the default preprocessors (of `links` &
+  `index`) by setting this option to `false`.
+
+  If you have the same, and/or other preprocessors declared via their table
+  of configuration, they will run instead.
+
+  - For clarity, with no preprocessor configuration, the default `links` and
+    `index` will run.
+  - Setting `use-default-preprocessors = false` will disable these
+    default preprocessors from running.
+  - Adding `[preprocessor.links]`, for example, will ensure, regardless of
+    `use-default-preprocessors` that `links` it will run.
+- **extra-watch-dirs**: A list of paths to directories that will be watched in
+  the `watch` and `serve` commands. Changes to files under these directories will
+  trigger rebuilds. Useful if your book depends on files outside its `src` directory.
diff --git a/guide/src/format/configuration/preprocessors.md b/guide/src/format/configuration/preprocessors.md
new file mode 100644
index 0000000..26a786b
--- /dev/null
+++ b/guide/src/format/configuration/preprocessors.md
@@ -0,0 +1,87 @@
+# Configuring Preprocessors
+
+Preprocessors are extensions that can modify the raw Markdown source before it gets sent to the renderer.
+
+The following preprocessors are built-in and included by default:
+
+- `links`: Expands the `{{ #playground }}`, `{{ #include }}`, and `{{ #rustdoc_include }}` handlebars
+  helpers in a chapter to include the contents of a file.
+  See [Including files] for more.
+- `index`: Convert all chapter files named `README.md` into `index.md`. That is
+  to say, all `README.md` would be rendered to an index file `index.html` in the
+  rendered book.
+
+The built-in preprocessors can be disabled with the [`build.use-default-preprocessors`] config option.
+
+The community has developed several preprocessors.
+See the [Third Party Plugins] wiki page for a list of available preprocessors.
+
+For information on how to create a new preprocessor, see the [Preprocessors for Developers] chapter.
+
+[Including files]: ../mdbook.md#including-files
+[`build.use-default-preprocessors`]: general.md#build-options
+[Third Party Plugins]: https://github.com/rust-lang/mdBook/wiki/Third-party-plugins
+[Preprocessors for Developers]: ../../for_developers/preprocessors.md
+
+## Custom Preprocessor Configuration
+
+Preprocessors can be added by including a `preprocessor` table in `book.toml` with the name of the preprocessor.
+For example, if you have a preprocessor called `mdbook-example`, then you can include it with:
+
+```toml
+[preprocessor.example]
+```
+
+With this table, mdBook will execute the `mdbook-example` preprocessor.
+
+This table can include additional key-value pairs that are specific to the preprocessor.
+For example, if our example preprocessor needed some extra configuration options:
+
+```toml
+[preprocessor.example]
+some-extra-feature = true
+```
+
+## Locking a Preprocessor dependency to a renderer
+
+You can explicitly specify that a preprocessor should run for a renderer by
+binding the two together.
+
+```toml
+[preprocessor.example]
+renderers = ["html"]  # example preprocessor only runs with the HTML renderer
+```
+
+## Provide Your Own Command
+
+By default when you add a `[preprocessor.foo]` table to your `book.toml` file,
+`mdbook` will try to invoke the `mdbook-foo` executable. If you want to use a
+different program name or pass in command-line arguments, this behaviour can
+be overridden by adding a `command` field.
+
+```toml
+[preprocessor.random]
+command = "python random.py"
+```
+
+## Require A Certain Order
+
+The order in which preprocessors are run can be controlled with the `before` and `after` fields.
+For example, suppose you want your `linenos` preprocessor to process lines that may have been `{{#include}}`d; then you want it to run after the built-in `links` preprocessor, which you can require using either the `before` or `after` field:
+
+```toml
+[preprocessor.linenos]
+after = [ "links" ]
+```
+
+or
+
+```toml
+[preprocessor.links]
+before = [ "linenos" ]
+```
+
+It would also be possible, though redundant, to specify both of the above in the same config file.
+
+Preprocessors having the same priority specified through `before` and `after` are sorted by name.
+Any infinite loops will be detected and produce an error.
diff --git a/guide/src/format/configuration/renderers.md b/guide/src/format/configuration/renderers.md
new file mode 100644
index 0000000..7e74301
--- /dev/null
+++ b/guide/src/format/configuration/renderers.md
@@ -0,0 +1,317 @@
+# Configuring Renderers
+
+Renderers (also called "backends") are responsible for creating the output of the book.
+
+The following backends are built-in:
+
+* [`html`](#html-renderer-options) — This renders the book to HTML.
+  This is enabled by default if no other `[output]` tables are defined in `book.toml`.
+* [`markdown`](#markdown-renderer) — This outputs the book as markdown after running the preprocessors.
+  This is useful for debugging preprocessors.
+
+The community has developed several backends.
+See the [Third Party Plugins] wiki page for a list of available backends.
+
+For information on how to create a new backend, see the [Backends for Developers] chapter.
+
+[Third Party Plugins]: https://github.com/rust-lang/mdBook/wiki/Third-party-plugins
+[Backends for Developers]: ../../for_developers/backends.md
+
+## Output tables
+
+Backends can be added by including a `output` table in `book.toml` with the name of the backend.
+For example, if you have a backend called `mdbook-wordcount`, then you can include it with:
+
+```toml
+[output.wordcount]
+```
+
+With this table, mdBook will execute the `mdbook-wordcount` backend.
+
+This table can include additional key-value pairs that are specific to the backend.
+For example, if our example backend needed some extra configuration options:
+
+```toml
+[output.wordcount]
+ignores = ["Example Chapter"]
+```
+
+If you define any `[output]` tables, then the `html` backend is not enabled by default.
+If you want to keep the `html` backend running, then just include it in the `book.toml` file.
+For example:
+
+```toml
+[book]
+title = "My Awesome Book"
+
+[output.wordcount]
+
+[output.html]
+```
+
+If more than one `output` table is included, this changes the behavior for the layout of the output directory.
+If there is only one backend, then it places its output directly in the `book` directory (see [`build.build-dir`] to override this location).
+If there is more than one backend, then each backend is placed in a separate directory underneath `book`.
+For example, the above would have directories `book/html` and `book/wordcount`.
+
+[`build.build-dir`]: general.md#build-options
+
+### Custom backend commands
+
+By default when you add an `[output.foo]` table to your `book.toml` file,
+`mdbook` will try to invoke the `mdbook-foo` executable.
+If you want to use a different program name or pass in command-line arguments,
+this behaviour can be overridden by adding a `command` field.
+
+```toml
+[output.random]
+command = "python random.py"
+```
+
+### Optional backends
+
+If you enable a backend that isn't installed, the default behavior is to throw an error.
+This behavior can be changed by marking the backend as optional:
+
+```toml
+[output.wordcount]
+optional = true
+```
+
+This demotes the error to a warning.
+
+
+## HTML renderer options
+
+The HTML renderer has a variety of options detailed below.
+They should be specified in the `[output.html]` table of the `book.toml` file.
+
+```toml
+# Example book.toml file with all output options.
+[book]
+title = "Example book"
+authors = ["John Doe", "Jane Doe"]
+description = "The example book covers examples."
+
+[output.html]
+theme = "my-theme"
+default-theme = "light"
+preferred-dark-theme = "navy"
+curly-quotes = true
+mathjax-support = false
+copy-fonts = true
+additional-css = ["custom.css", "custom2.css"]
+additional-js = ["custom.js"]
+no-section-label = false
+git-repository-url = "https://github.com/rust-lang/mdBook"
+git-repository-icon = "fa-github"
+edit-url-template = "https://github.com/rust-lang/mdBook/edit/master/guide/{path}"
+site-url = "/example-book/"
+cname = "myproject.rs"
+input-404 = "not-found.md"
+```
+
+The following configuration options are available:
+
+- **theme:** mdBook comes with a default theme and all the resource files needed
+  for it. But if this option is set, mdBook will selectively overwrite the theme
+  files with the ones found in the specified folder.
+- **default-theme:** The theme color scheme to select by default in the
+  'Change Theme' dropdown. Defaults to `light`.
+- **preferred-dark-theme:** The default dark theme. This theme will be used if
+  the browser requests the dark version of the site via the
+  ['prefers-color-scheme'](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)
+  CSS media query. Defaults to `navy`.
+- **curly-quotes:** Convert straight quotes to curly quotes, except for those
+  that occur in code blocks and code spans. Defaults to `false`.
+- **mathjax-support:** Adds support for [MathJax](../mathjax.md). Defaults to
+  `false`.
+- **copy-fonts:** (**Deprecated**) If `true` (the default), mdBook uses its built-in fonts which are copied to the output directory.
+  If `false`, the built-in fonts will not be used.
+  This option is deprecated. If you want to define your own custom fonts,
+  create a `theme/fonts/fonts.css` file and store the fonts in the `theme/fonts/` directory.
+- **google-analytics:** This field has been deprecated and will be removed in a future release.
+  Use the `theme/head.hbs` file to add the appropriate Google Analytics code instead.
+- **additional-css:** If you need to slightly change the appearance of your book
+  without overwriting the whole style, you can specify a set of stylesheets that
+  will be loaded after the default ones where you can surgically change the
+  style.
+- **additional-js:** If you need to add some behaviour to your book without
+  removing the current behaviour, you can specify a set of JavaScript files that
+  will be loaded alongside the default one.
+- **no-section-label:** mdBook by defaults adds numeric section labels in the table of
+  contents column. For example, "1.", "2.1". Set this option to true to disable
+  those labels. Defaults to `false`.
+- **git-repository-url:**  A url to the git repository for the book. If provided
+  an icon link will be output in the menu bar of the book.
+- **git-repository-icon:** The FontAwesome icon class to use for the git
+  repository link. Defaults to `fa-github` which looks like <i class="fa fa-github"></i>.
+  If you are not using GitHub, another option to consider is `fa-code-fork` which looks like <i class="fa fa-code-fork"></i>.
+- **edit-url-template:** Edit url template, when provided shows a
+  "Suggest an edit" button (which looks like <i class="fa fa-edit"></i>) for directly jumping to editing the currently
+  viewed page. For e.g. GitHub projects set this to
+  `https://github.com/<owner>/<repo>/edit/<branch>/{path}` or for
+  Bitbucket projects set it to
+  `https://bitbucket.org/<owner>/<repo>/src/<branch>/{path}?mode=edit`
+  where {path} will be replaced with the full path of the file in the
+  repository.
+- **input-404:** The name of the markdown file used for missing files.
+  The corresponding output file will be the same, with the extension replaced with `html`.
+  Defaults to `404.md`.
+- **site-url:** The url where the book will be hosted. This is required to ensure
+  navigation links and script/css imports in the 404 file work correctly, even when accessing
+  urls in subdirectories. Defaults to `/`. If `site-url` is set,
+  make sure to use document relative links for your assets, meaning they should not start with `/`.
+- **cname:** The DNS subdomain or apex domain at which your book will be hosted.
+  This string will be written to a file named CNAME in the root of your site, as
+  required by GitHub Pages (see [*Managing a custom domain for your GitHub Pages
+  site*][custom domain]).
+
+[custom domain]: https://docs.github.com/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site
+
+### `[output.html.print]`
+
+The `[output.html.print]` table provides options for controlling the printable output.
+By default, mdBook will include an icon on the top right of the book (which looks like <i class="fa fa-print"></i>) that will print the book as a single page.
+
+```toml
+[output.html.print]
+enable = true    # include support for printable output
+page-break = true # insert page-break after each chapter
+```
+
+- **enable:** Enable print support. When `false`, all print support will not be
+  rendered. Defaults to `true`.
+- **page-break:** Insert page breaks between chapters. Defaults to `true`.
+
+### `[output.html.fold]`
+
+The `[output.html.fold]` table provides options for controlling folding of the chapter listing in the navigation sidebar.
+
+```toml
+[output.html.fold]
+enable = false    # whether or not to enable section folding
+level = 0         # the depth to start folding
+```
+
+- **enable:** Enable section-folding. When off, all folds are open.
+  Defaults to `false`.
+- **level:** The higher the more folded regions are open. When level is 0, all
+  folds are closed. Defaults to `0`.
+
+### `[output.html.playground]`
+
+The `[output.html.playground]` table provides options for controlling Rust sample code blocks, and their integration with the [Rust Playground].
+
+[Rust Playground]: https://play.rust-lang.org/
+
+```toml
+[output.html.playground]
+editable = false         # allows editing the source code
+copyable = true          # include the copy button for copying code snippets
+copy-js = true           # includes the JavaScript for the code editor
+line-numbers = false     # displays line numbers for editable code
+runnable = true          # displays a run button for rust code
+```
+
+- **editable:** Allow editing the source code. Defaults to `false`.
+- **copyable:** Display the copy button on code snippets. Defaults to `true`.
+- **copy-js:** Copy JavaScript files for the editor to the output directory.
+  Defaults to `true`.
+- **line-numbers:** Display line numbers on editable sections of code. Requires both `editable` and `copy-js` to be `true`. Defaults to `false`.
+- **runnable:** Displays a run button for rust code snippets. Changing this to `false` will disable the run in playground feature globally. Defaults to `true`.
+
+[Ace]: https://ace.c9.io/
+
+### `[output.html.code]`
+
+The `[output.html.code]` table provides options for controlling code blocks.
+
+```toml
+[output.html.code]
+# A prefix string per language (one or more chars).
+# Any line starting with whitespace+prefix is hidden.
+hidelines = { python = "~" }
+```
+
+- **hidelines:** A table that defines how [hidden code lines](../mdbook.md#hiding-code-lines) work for each language.
+  The key is the language and the value is a string that will cause code lines starting with that prefix to be hidden.
+
+### `[output.html.search]`
+
+The `[output.html.search]` table provides options for controlling the built-in text [search].
+mdBook must be compiled with the `search` feature enabled (on by default).
+
+[search]: ../../guide/reading.md#search
+
+```toml
+[output.html.search]
+enable = true            # enables the search feature
+limit-results = 30       # maximum number of search results
+teaser-word-count = 30   # number of words used for a search result teaser
+use-boolean-and = true   # multiple search terms must all match
+boost-title = 2          # ranking boost factor for matches in headers
+boost-hierarchy = 1      # ranking boost factor for matches in page names
+boost-paragraph = 1      # ranking boost factor for matches in text
+expand = true            # partial words will match longer terms
+heading-split-level = 3  # link results to heading levels
+copy-js = true           # include Javascript code for search
+```
+
+- **enable:** Enables the search feature. Defaults to `true`.
+- **limit-results:** The maximum number of search results. Defaults to `30`.
+- **teaser-word-count:** The number of words used for a search result teaser.
+  Defaults to `30`.
+- **use-boolean-and:** Define the logical link between multiple search words. If
+  true, all search words must appear in each result. Defaults to `false`.
+- **boost-title:** Boost factor for the search result score if a search word
+  appears in the header. Defaults to `2`.
+- **boost-hierarchy:** Boost factor for the search result score if a search word
+  appears in the hierarchy. The hierarchy contains all titles of the parent
+  documents and all parent headings. Defaults to `1`.
+- **boost-paragraph:** Boost factor for the search result score if a search word
+  appears in the text. Defaults to `1`.
+- **expand:** True if search should match longer results e.g. search `micro`
+  should match `microwave`. Defaults to `true`.
+- **heading-split-level:** Search results will link to a section of the document
+  which contains the result. Documents are split into sections by headings this
+  level or less. Defaults to `3`. (`### This is a level 3 heading`)
+- **copy-js:** Copy JavaScript files for the search implementation to the output
+  directory. Defaults to `true`.
+
+### `[output.html.redirect]`
+
+The `[output.html.redirect]` table provides a way to add redirects.
+This is useful when you move, rename, or remove a page to ensure that links to the old URL will go to the new location.
+
+```toml
+[output.html.redirect]
+"/appendices/bibliography.html" = "https://rustc-dev-guide.rust-lang.org/appendix/bibliography.html"
+"/other-installation-methods.html" = "../infra/other-installation-methods.html"
+```
+
+The table contains key-value pairs where the key is where the redirect file needs to be created, as an absolute path from the build directory, (e.g. `/appendices/bibliography.html`).
+The value can be any valid URI the browser should navigate to (e.g. `https://rust-lang.org/`, `/overview.html`, or `../bibliography.html`).
+
+This will generate an HTML page which will automatically redirect to the given location.
+Note that the source location does not support `#` anchor redirects.
+
+## Markdown Renderer
+
+The Markdown renderer will run preprocessors and then output the resulting
+Markdown. This is mostly useful for debugging preprocessors, especially in
+conjunction with `mdbook test` to see the Markdown that `mdbook` is passing
+to `rustdoc`.
+
+The Markdown renderer is included with `mdbook` but disabled by default.
+Enable it by adding an empty table to your `book.toml` as follows:
+
+```toml
+[output.markdown]
+```
+
+There are no configuration options for the Markdown renderer at this time;
+only whether it is enabled or disabled.
+
+See [the preprocessors documentation](preprocessors.md) for how to
+specify which preprocessors should run before the Markdown renderer.
diff --git a/guide/src/format/example.rs b/guide/src/format/example.rs
new file mode 100644
index 0000000..a467cac
--- /dev/null
+++ b/guide/src/format/example.rs
@@ -0,0 +1,6 @@
+fn main() {
+    println!("Hello World!");
+#
+#     // You can even hide lines! :D
+#     println!("I am hidden! Expand the code snippet to see me");
+}
diff --git a/guide/src/format/images/rust-logo-blk.svg b/guide/src/format/images/rust-logo-blk.svg
new file mode 100644
index 0000000..1a6c762
--- /dev/null
+++ b/guide/src/format/images/rust-logo-blk.svg
@@ -0,0 +1 @@
+<svg height="144" width="144" xmlns="http://www.w3.org/2000/svg"><path d="m71.05 23.68c-26.06 0-47.27 21.22-47.27 47.27s21.22 47.27 47.27 47.27 47.27-21.22 47.27-47.27-21.22-47.27-47.27-47.27zm-.07 4.2a3.1 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm7.12 5.12a38.27 38.27 0 0 1 26.2 18.66l-3.67 8.28c-.63 1.43.02 3.11 1.44 3.75l7.06 3.13a38.27 38.27 0 0 1 .08 6.64h-3.93c-.39 0-.55.26-.55.64v1.8c0 4.24-2.39 5.17-4.49 5.4-2 .23-4.21-.84-4.49-2.06-1.18-6.63-3.14-8.04-6.24-10.49 3.85-2.44 7.85-6.05 7.85-10.87 0-5.21-3.57-8.49-6-10.1-3.42-2.25-7.2-2.7-8.22-2.7h-40.6a38.27 38.27 0 0 1 21.41-12.08l4.79 5.02c1.08 1.13 2.87 1.18 4 .09zm-44.2 23.02a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm74.15.14a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm-68.29.5h5.42v24.44h-10.94a38.27 38.27 0 0 1 -1.24-14.61l6.7-2.98c1.43-.64 2.08-2.31 1.44-3.74zm22.62.26h12.91c.67 0 4.71.77 4.71 3.8 0 2.51-3.1 3.41-5.65 3.41h-11.98zm0 17.56h9.89c.9 0 4.83.26 6.08 5.28.39 1.54 1.26 6.56 1.85 8.17.59 1.8 2.98 5.4 5.53 5.4h16.14a38.27 38.27 0 0 1 -3.54 4.1l-6.57-1.41c-1.53-.33-3.04.65-3.37 2.18l-1.56 7.28a38.27 38.27 0 0 1 -31.91-.15l-1.56-7.28c-.33-1.53-1.83-2.51-3.36-2.18l-6.43 1.38a38.27 38.27 0 0 1 -3.32-3.92h31.27c.35 0 .59-.06.59-.39v-11.06c0-.32-.24-.39-.59-.39h-9.15zm-14.43 25.33a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm46.05.14a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11z"/><path d="m115.68 70.95a44.63 44.63 0 0 1 -44.63 44.63 44.63 44.63 0 0 1 -44.63-44.63 44.63 44.63 0 0 1 44.63-44.63 44.63 44.63 0 0 1 44.63 44.63zm-.84-4.31 6.96 4.31-6.96 4.31 5.98 5.59-7.66 2.87 4.78 6.65-8.09 1.32 3.4 7.46-8.19-.29 1.88 7.98-7.98-1.88.29 8.19-7.46-3.4-1.32 8.09-6.65-4.78-2.87 7.66-5.59-5.98-4.31 6.96-4.31-6.96-5.59 5.98-2.87-7.66-6.65 4.78-1.32-8.09-7.46 3.4.29-8.19-7.98 1.88 1.88-7.98-8.19.29 3.4-7.46-8.09-1.32 4.78-6.65-7.66-2.87 5.98-5.59-6.96-4.31 6.96-4.31-5.98-5.59 7.66-2.87-4.78-6.65 8.09-1.32-3.4-7.46 8.19.29-1.88-7.98 7.98 1.88-.29-8.19 7.46 3.4 1.32-8.09 6.65 4.78 2.87-7.66 5.59 5.98 4.31-6.96 4.31 6.96 5.59-5.98 2.87 7.66 6.65-4.78 1.32 8.09 7.46-3.4-.29 8.19 7.98-1.88-1.88 7.98 8.19-.29-3.4 7.46 8.09 1.32-4.78 6.65 7.66 2.87z" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>
\ No newline at end of file
diff --git a/guide/src/format/markdown.md b/guide/src/format/markdown.md
new file mode 100644
index 0000000..f63e088
--- /dev/null
+++ b/guide/src/format/markdown.md
@@ -0,0 +1,235 @@
+# Markdown
+
+mdBook's [parser](https://github.com/raphlinus/pulldown-cmark) adheres to the [CommonMark](https://commonmark.org/) specification with some extensions described below.
+You can take a quick [tutorial](https://commonmark.org/help/tutorial/),
+or [try out](https://spec.commonmark.org/dingus/) CommonMark in real time. A complete Markdown overview is out of scope for 
+this documentation, but below is a high level overview of some of the basics. For a more in-depth experience, check out the
+[Markdown Guide](https://www.markdownguide.org).
+
+## Text and Paragraphs
+
+Text is rendered relatively predictably: 
+
+```markdown
+Here is a line of text.
+
+This is a new line.
+```
+
+Will look like you might expect:
+
+Here is a line of text.
+
+This is a new line.
+
+## Headings
+
+Headings use the `#` marker and should be on a line by themselves. More `#` mean smaller headings:
+
+```markdown
+### A heading 
+
+Some text.
+
+#### A smaller heading 
+
+More text.
+```
+
+### A heading 
+
+Some text.
+
+#### A smaller heading 
+
+More text.
+
+## Lists
+
+Lists can be unordered or ordered. Ordered lists will order automatically:
+
+```markdown
+* milk
+* eggs
+* butter
+
+1. carrots
+1. celery
+1. radishes
+```
+
+* milk
+* eggs
+* butter
+
+1. carrots
+1. celery
+1. radishes
+
+## Links
+
+Linking to a URL or local file is easy:
+
+```markdown
+Use [mdBook](https://github.com/rust-lang/mdBook). 
+
+Read about [mdBook](mdbook.md).
+
+A bare url: <https://www.rust-lang.org>.
+```
+
+Use [mdBook](https://github.com/rust-lang/mdBook). 
+
+Read about [mdBook](mdbook.md).
+
+A bare url: <https://www.rust-lang.org>.
+
+----
+
+Relative links that end with `.md` will be converted to the `.html` extension.
+It is recommended to use `.md` links when possible.
+This is useful when viewing the Markdown file outside of mdBook, for example on GitHub or GitLab which render Markdown automatically.
+
+Links to `README.md` will be converted to `index.html`.
+This is done since some services like GitHub render README files automatically, but web servers typically expect the root file to be called `index.html`.
+
+You can link to individual headings with `#` fragments.
+For example, `mdbook.md#text-and-paragraphs` would link to the [Text and Paragraphs](#text-and-paragraphs) section above.
+The ID is created by transforming the heading such as converting to lowercase and replacing spaces with dashes.
+You can click on any heading and look at the URL in your browser to see what the fragment looks like.
+
+## Images
+
+Including images is simply a matter of including a link to them, much like in the _Links_ section above. The following markdown
+includes the Rust logo SVG image found in the `images` directory at the same level as this file:
+
+```markdown
+![The Rust Logo](images/rust-logo-blk.svg)
+```
+
+Produces the following HTML when built with mdBook:
+
+```html
+<p><img src="images/rust-logo-blk.svg" alt="The Rust Logo" /></p>
+```
+
+Which, of course displays the image like so:
+
+![The Rust Logo](images/rust-logo-blk.svg)
+
+## Extensions
+
+mdBook has several extensions beyond the standard CommonMark specification.
+
+### Strikethrough
+
+Text may be rendered with a horizontal line through the center by wrapping the
+text with one or two tilde characters on each side:
+
+```text
+An example of ~~strikethrough text~~.
+```
+
+This example will render as:
+
+> An example of ~~strikethrough text~~.
+
+This follows the [GitHub Strikethrough extension][strikethrough].
+
+### Footnotes
+
+A footnote generates a small numbered link in the text which when clicked
+takes the reader to the footnote text at the bottom of the item. The footnote
+label is written similarly to a link reference with a caret at the front. The
+footnote text is written like a link reference definition, with the text
+following the label. Example:
+
+```text
+This is an example of a footnote[^note].
+
+[^note]: This text is the contents of the footnote, which will be rendered
+    towards the bottom.
+```
+
+This example will render as:
+
+> This is an example of a footnote[^note].
+>
+> [^note]: This text is the contents of the footnote, which will be rendered
+>     towards the bottom.
+
+The footnotes are automatically numbered based on the order the footnotes are
+written.
+
+### Tables
+
+Tables can be written using pipes and dashes to draw the rows and columns of
+the table. These will be translated to HTML table matching the shape. Example:
+
+```text
+| Header1 | Header2 |
+|---------|---------|
+| abc     | def     |
+```
+
+This example will render similarly to this:
+
+| Header1 | Header2 |
+|---------|---------|
+| abc     | def     |
+
+See the specification for the [GitHub Tables extension][tables] for more
+details on the exact syntax supported.
+
+### Task lists
+
+Task lists can be used as a checklist of items that have been completed.
+Example:
+
+```md
+- [x] Complete task
+- [ ] Incomplete task
+```
+
+This will render as:
+
+> - [x] Complete task
+> - [ ] Incomplete task
+
+See the specification for the [task list extension] for more details.
+
+### Smart punctuation
+
+Some ASCII punctuation sequences will be automatically turned into fancy Unicode
+characters:
+
+| ASCII sequence | Unicode |
+|----------------|---------|
+| `--`           | –       |
+| `---`          | —       |
+| `...`          | …       |
+| `"`            | “ or ”, depending on context |
+| `'`            | ‘ or ’, depending on context |
+
+So, no need to manually enter those Unicode characters!
+
+This feature is disabled by default.
+To enable it, see the [`output.html.curly-quotes`] config option.
+
+[strikethrough]: https://github.github.com/gfm/#strikethrough-extension-
+[tables]: https://github.github.com/gfm/#tables-extension-
+[task list extension]: https://github.github.com/gfm/#task-list-items-extension-
+[`output.html.curly-quotes`]: configuration/renderers.md#html-renderer-options
+
+### Heading attributes
+
+Headings can have a custom HTML ID and classes. This lets you maintain the same ID even if you change the heading's text, it also lets you add multiple classes in the heading.
+
+Example:
+```md
+# Example heading { #first .class1 .class2 }
+```
+
+This makes the level 1 heading with the content `Example heading`, ID `first`, and classes `class1` and `class2`. Note that the attributes should be space-separated.
+
+More information can be found in the [heading attrs spec page](https://github.com/raphlinus/pulldown-cmark/blob/master/specs/heading_attrs.txt).
diff --git a/guide/src/format/mathjax.md b/guide/src/format/mathjax.md
new file mode 100644
index 0000000..3dd7921
--- /dev/null
+++ b/guide/src/format/mathjax.md
@@ -0,0 +1,43 @@
+# MathJax Support
+
+mdBook has optional support for math equations through
+[MathJax](https://www.mathjax.org/).
+
+To enable MathJax, you need to add the `mathjax-support` key to your `book.toml`
+under the `output.html` section.
+
+```toml
+[output.html]
+mathjax-support = true
+```
+
+>**Note:** The usual delimiters MathJax uses are not yet supported. You can't
+currently use `$$ ... $$` as delimiters and the `\[ ... \]` delimiters need an
+extra backslash to work. Hopefully this limitation will be lifted soon.
+
+>**Note:** When you use double backslashes in MathJax blocks (for example in
+> commands such as `\begin{cases} \frac 1 2 \\ \frac 3 4 \end{cases}`) you need
+> to add _two extra_ backslashes (e.g., `\begin{cases} \frac 1 2 \\\\ \frac 3 4
+> \end{cases}`).
+
+
+### Inline equations
+Inline equations are delimited by `\\(` and `\\)`. So for example, to render the
+following inline equation \\( \int x dx = \frac{x^2}{2} + C \\) you would write
+the following:
+```
+\\( \int x dx = \frac{x^2}{2} + C \\)
+```
+
+### Block equations
+Block equations are delimited by `\\[` and `\\]`. To render the following
+equation
+
+\\[ \mu = \frac{1}{N} \sum_{i=0} x_i \\]
+
+
+you would write:
+
+```bash
+\\[ \mu = \frac{1}{N} \sum_{i=0} x_i \\]
+```
diff --git a/guide/src/format/mdbook.md b/guide/src/format/mdbook.md
new file mode 100644
index 0000000..df24340
--- /dev/null
+++ b/guide/src/format/mdbook.md
@@ -0,0 +1,364 @@
+# mdBook-specific features
+
+## Hiding code lines
+
+There is a feature in mdBook that lets you hide code lines by prepending them with a specific prefix.
+
+For the Rust language, you can use the `#` character as a prefix which will hide lines [like you would with Rustdoc][rustdoc-hide].
+
+[rustdoc-hide]: https://doc.rust-lang.org/stable/rustdoc/write-documentation/documentation-tests.html#hiding-portions-of-the-example
+
+```bash
+# fn main() {
+    let x = 5;
+    let y = 6;
+
+    println!("{}", x + y);
+# }
+```
+
+Will render as
+
+```rust
+# fn main() {
+    let x = 5;
+    let y = 6;
+
+    println!("{}", x + y);
+# }
+```
+
+When you tap or hover the mouse over the code block, there will be an eyeball icon (<i class="fa fa-eye"></i>) which will toggle the visibility of the hidden lines.
+
+By default, this only works for code examples that are annotated with `rust`.
+However, you can define custom prefixes for other languages by adding a new line-hiding prefix in your `book.toml` with the language name and prefix character(s):
+
+```toml
+[output.html.code.hidelines]
+python = "~"
+```
+
+The prefix will hide any lines that begin with the given prefix. With the python prefix shown above, this:
+
+```bash
+~hidden()
+nothidden():
+~    hidden()
+    ~hidden()
+    nothidden()
+```
+
+will render as
+
+```python
+~hidden()
+nothidden():
+~    hidden()
+    ~hidden()
+    nothidden()
+```
+
+This behavior can be overridden locally with a different prefix. This has the same effect as above:
+
+~~~markdown
+```python,hidelines=!!!
+!!!hidden()
+nothidden():
+!!!    hidden()
+    !!!hidden()
+    nothidden()
+```
+~~~
+
+## Rust Playground
+
+Rust language code blocks will automatically get a play button (<i class="fa fa-play"></i>) which will execute the code and display the output just below the code block.
+This works by sending the code to the [Rust Playground].
+
+```rust
+println!("Hello, World!");
+```
+
+If there is no `main` function, then the code is automatically wrapped inside one.
+
+If you wish to disable the play button for a code block, you can include the `noplayground` option on the code block like this:
+
+~~~markdown
+```rust,noplayground
+let mut name = String::new();
+std::io::stdin().read_line(&mut name).expect("failed to read line");
+println!("Hello {}!", name);
+```
+~~~
+
+Or, if you wish to disable the play button for all code blocks in your book, you can write the config to the `book.toml` like this.
+
+```toml
+[output.html.playground]
+runnable = false
+```
+
+## Rust code block attributes
+
+Additional attributes can be included in Rust code blocks with comma, space, or tab-separated terms just after the language term. For example:
+
+~~~markdown
+```rust,ignore
+# This example won't be tested.
+panic!("oops!");
+```
+~~~
+
+These are particularly important when using [`mdbook test`] to test Rust examples.
+These use the same attributes as [rustdoc attributes], with a few additions:
+
+* `editable` — Enables the [editor].
+* `noplayground` — Removes the play button, but will still be tested.
+* `mdbook-runnable` — Forces the play button to be displayed.
+  This is intended to be combined with the `ignore` attribute for examples that should not be tested, but you want to allow the reader to run.
+* `ignore` — Will not be tested and no play button is shown, but it is still highlighted as Rust syntax.
+* `should_panic` — When executed, it should produce a panic.
+* `no_run` — The code is compiled when tested, but it is not run.
+  The play button is also not shown.
+* `compile_fail` — The code should fail to compile.
+* `edition2015`, `edition2018`, `edition2021` — Forces the use of a specific Rust edition.
+  See [`rust.edition`] to set this globally.
+
+[`mdbook test`]: ../cli/test.md
+[rustdoc attributes]: https://doc.rust-lang.org/rustdoc/documentation-tests.html#attributes
+[editor]: theme/editor.md
+[`rust.edition`]: configuration/general.md#rust-options
+
+## Including files
+
+With the following syntax, you can include files into your book:
+
+```hbs
+\{{#include file.rs}}
+```
+
+The path to the file has to be relative from the current source file.
+
+mdBook will interpret included files as Markdown. Since the include command
+is usually used for inserting code snippets and examples, you will often
+wrap the command with ```` ``` ```` to display the file contents without
+interpreting them.
+
+````hbs
+```
+\{{#include file.rs}}
+```
+````
+
+## Including portions of a file
+Often you only need a specific part of the file, e.g. relevant lines for an
+example. We support four different modes of partial includes:
+
+```hbs
+\{{#include file.rs:2}}
+\{{#include file.rs::10}}
+\{{#include file.rs:2:}}
+\{{#include file.rs:2:10}}
+```
+
+The first command only includes the second line from file `file.rs`. The second
+command includes all lines up to line 10, i.e. the lines from 11 till the end of
+the file are omitted. The third command includes all lines from line 2, i.e. the
+first line is omitted. The last command includes the excerpt of `file.rs`
+consisting of lines 2 to 10.
+
+To avoid breaking your book when modifying included files, you can also
+include a specific section using anchors instead of line numbers.
+An anchor is a pair of matching lines. The line beginning an anchor must
+match the regex `ANCHOR:\s*[\w_-]+` and similarly the ending line must match
+the regex `ANCHOR_END:\s*[\w_-]+`. This allows you to put anchors in
+any kind of commented line.
+
+Consider the following file to include:
+```rs
+/* ANCHOR: all */
+
+// ANCHOR: component
+struct Paddle {
+    hello: f32,
+}
+// ANCHOR_END: component
+
+////////// ANCHOR: system
+impl System for MySystem { ... }
+////////// ANCHOR_END: system
+
+/* ANCHOR_END: all */
+```
+
+Then in the book, all you have to do is:
+````hbs
+Here is a component:
+```rust,no_run,noplayground
+\{{#include file.rs:component}}
+```
+
+Here is a system:
+```rust,no_run,noplayground
+\{{#include file.rs:system}}
+```
+
+This is the full file.
+```rust,no_run,noplayground
+\{{#include file.rs:all}}
+```
+````
+
+Lines containing anchor patterns inside the included anchor are ignored.
+
+## Including a file but initially hiding all except specified lines
+
+The `rustdoc_include` helper is for including code from external Rust files that contain complete
+examples, but only initially showing particular lines specified with line numbers or anchors in the
+same way as with `include`.
+
+The lines not in the line number range or between the anchors will still be included, but they will
+be prefaced with `#`. This way, a reader can expand the snippet to see the complete example, and
+Rustdoc will use the complete example when you run `mdbook test`.
+
+For example, consider a file named `file.rs` that contains this Rust program:
+
+```rust
+fn main() {
+    let x = add_one(2);
+    assert_eq!(x, 3);
+}
+
+fn add_one(num: i32) -> i32 {
+    num + 1
+}
+```
+
+We can include a snippet that initially shows only line 2 by using this syntax:
+
+````hbs
+To call the `add_one` function, we pass it an `i32` and bind the returned value to `x`:
+
+```rust
+\{{#rustdoc_include file.rs:2}}
+```
+````
+
+This would have the same effect as if we had manually inserted the code and hidden all but line 2
+using `#`:
+
+````hbs
+To call the `add_one` function, we pass it an `i32` and bind the returned value to `x`:
+
+```rust
+# fn main() {
+    let x = add_one(2);
+#     assert_eq!(x, 3);
+# }
+#
+# fn add_one(num: i32) -> i32 {
+#     num + 1
+# }
+```
+````
+
+That is, it looks like this (click the "expand" icon to see the rest of the file):
+
+```rust
+# fn main() {
+    let x = add_one(2);
+#     assert_eq!(x, 3);
+# }
+#
+# fn add_one(num: i32) -> i32 {
+#     num + 1
+# }
+```
+
+## Inserting runnable Rust files
+
+With the following syntax, you can insert runnable Rust files into your book:
+
+```hbs
+\{{#playground file.rs}}
+```
+
+The path to the Rust file has to be relative from the current source file.
+
+When play is clicked, the code snippet will be sent to the [Rust Playground] to be
+compiled and run. The result is sent back and displayed directly underneath the
+code.
+
+Here is what a rendered code snippet looks like:
+
+{{#playground example.rs}}
+
+Any additional values passed after the filename will be included as attributes of the code block.
+For example `\{{#playground example.rs editable}}` will create the code block like the following:
+
+~~~markdown
+```rust,editable
+# Contents of example.rs here.
+```
+~~~
+
+And the `editable` attribute will enable the [editor] as described at [Rust code block attributes](#rust-code-block-attributes).
+
+[Rust Playground]: https://play.rust-lang.org/
+
+## Controlling page \<title\>
+
+A chapter can set a \<title\> that is different from its entry in the table of
+contents (sidebar) by including a `\{{#title ...}}` near the top of the page.
+
+```hbs
+\{{#title My Title}}
+```
+
+## HTML classes provided by mdBook
+
+<img class="right" src="images/rust-logo-blk.svg" alt="The Rust logo">
+
+### `class="left"` and `"right"`
+
+These classes are provided by default, for inline HTML to float images.
+
+```html
+<img class="right" src="images/rust-logo-blk.svg" alt="The Rust logo">
+```
+
+### `class="hidden"`
+
+HTML tags with class `hidden` will not be shown.
+
+```html
+<div class="hidden">This will not be seen.</div>
+```
+
+<div class="hidden">This will not be seen.</div>
+
+### `class="warning"`
+
+To make a warning or similar note stand out, wrap it in a warning div.
+
+```html
+<div class="warning">
+
+This is a bad thing that you should pay attention to.
+
+Warning blocks should be used sparingly in documentation, to avoid "warning
+fatigue," where people are trained to ignore them because they usually don't
+matter for what they're doing.
+
+</div>
+```
+
+<div class="warning">
+
+This is a bad thing that you should pay attention to.
+
+Warning blocks should be used sparingly in documentation, to avoid "warning
+fatigue," where people are trained to ignore them because they usually don't
+matter for what they're doing.
+
+</div>
diff --git a/guide/src/format/summary.md b/guide/src/format/summary.md
new file mode 100644
index 0000000..0e13852
--- /dev/null
+++ b/guide/src/format/summary.md
@@ -0,0 +1,99 @@
+# SUMMARY.md
+
+The summary file is used by mdBook to know what chapters to include, in what
+order they should appear, what their hierarchy is and where the source files
+are. Without this file, there is no book.
+
+This markdown file must be named `SUMMARY.md`. Its formatting
+is very strict and must follow the structure outlined below to allow for easy
+parsing. Any element not specified below, be it formatting or textual, is likely
+to be ignored at best, or may cause an error when attempting to build the book.
+
+### Structure
+
+1. ***Title*** - While optional, it's common practice to begin with a title, generally <code
+   class="language-markdown"># Summary</code>. This is ignored by the parser however, and
+   can be omitted.
+   ```markdown
+   # Summary
+   ```
+
+1. ***Prefix Chapter*** - Before the main numbered chapters, prefix chapters can be added
+   that will not be numbered. This is useful for forewords,
+   introductions, etc. There are, however, some constraints. Prefix chapters cannot be
+   nested; they should all be on the root level. And you cannot add
+   prefix chapters once you have added numbered chapters.
+   ```markdown
+   [A Prefix Chapter](relative/path/to/markdown.md)
+
+   - [First Chapter](relative/path/to/markdown2.md)
+   ```
+
+1. ***Part Title*** - Headers can be used as a title for the following numbered
+   chapters. This can be used to logically separate different sections
+   of the book. The title is rendered as unclickable text.
+   Titles are optional, and the numbered chapters can be broken into as many
+   parts as desired.
+   ```markdown
+   # My Part Title
+
+   - [First Chapter](relative/path/to/markdown.md)
+   ```
+
+1. ***Numbered Chapter*** - Numbered chapters outline the main content of the book
+   and can be nested, resulting in a nice hierarchy
+   (chapters, sub-chapters, etc.).
+   ```markdown
+   # Title of Part
+
+   - [First Chapter](relative/path/to/markdown.md)
+   - [Second Chapter](relative/path/to/markdown2.md)
+      - [Sub Chapter](relative/path/to/markdown3.md)
+
+   # Title of Another Part
+
+   - [Another Chapter](relative/path/to/markdown4.md)
+   ```
+   Numbered chapters can be denoted with either `-` or `*` (do not mix delimiters). 
+   
+1. ***Suffix Chapter*** - Like prefix chapters, suffix chapters are unnumbered, but they come after 
+   numbered chapters.
+   ```markdown
+   - [Last Chapter](relative/path/to/markdown.md)
+
+   [Title of Suffix Chapter](relative/path/to/markdown2.md)
+   ```
+
+1. ***Draft chapters*** - Draft chapters are chapters without a file and thus content.
+   The purpose of a draft chapter is to signal future chapters still to be written.
+   Or when still laying out the structure of the book to avoid creating the files
+   while you are still changing the structure of the book a lot.
+   Draft chapters will be rendered in the HTML renderer as disabled links in the table
+   of contents, as you can see for the next chapter in the table of contents on the left.
+   Draft chapters are written like normal chapters but without writing the path to the file.
+   ```markdown
+   - [Draft Chapter]()
+   ```
+
+1. ***Separators*** - Separators can be added before, in between, and after any other element. They result
+   in an HTML rendered line in the built table of contents.  A separator is
+   a line containing exclusively dashes and at least three of them: `---`.
+   ```markdown
+   # My Part Title
+   
+   [A Prefix Chapter](relative/path/to/markdown.md)
+
+   ---
+
+   - [First Chapter](relative/path/to/markdown2.md)
+   ```
+  
+
+### Example
+
+Below is the markdown source for the `SUMMARY.md` for this guide, with the resulting table
+of contents as rendered to the left.
+
+```markdown
+{{#include ../SUMMARY.md}}
+```
diff --git a/guide/src/format/theme/README.md b/guide/src/format/theme/README.md
new file mode 100644
index 0000000..23da5a0
--- /dev/null
+++ b/guide/src/format/theme/README.md
@@ -0,0 +1,52 @@
+# Theme
+
+The default renderer uses a [handlebars](https://handlebarsjs.com) template to
+render your markdown files and comes with a default theme included in the mdBook
+binary.
+
+The theme is totally customizable, you can selectively replace every file from
+the theme by your own by adding a `theme` directory next to `src` folder in your
+project root. Create a new file with the name of the file you want to override
+and now that file will be used instead of the default file.
+
+Here are the files you can override:
+
+- **_index.hbs_** is the handlebars template.
+- **_head.hbs_** is appended to the HTML `<head>` section.
+- **_header.hbs_** content is appended on top of every book page.
+- **_css/_** contains the CSS files for styling the book.
+    - **_css/chrome.css_** is for UI elements.
+    - **_css/general.css_** is the base styles.
+    - **_css/print.css_** is the style for printer output.
+    - **_css/variables.css_** contains variables used in other CSS files.
+- **_book.js_** is mostly used to add client side functionality, like hiding /
+  un-hiding the sidebar, changing the theme, ...
+- **_highlight.js_** is the JavaScript that is used to highlight code snippets,
+  you should not need to modify this.
+- **_highlight.css_** is the theme used for the code highlighting.
+- **_favicon.svg_** and **_favicon.png_** the favicon that will be used. The SVG
+  version is used by [newer browsers].
+- **fonts/fonts.css** contains the definition of which fonts to load.
+  Custom fonts can be included in the `fonts` directory.
+
+Generally, when you want to tweak the theme, you don't need to override all the
+files. If you only need changes in the stylesheet, there is no point in
+overriding all the other files. Because custom files take precedence over
+built-in ones, they will not get updated with new fixes / features.
+
+**Note:** When you override a file, it is possible that you break some
+functionality. Therefore I recommend to use the file from the default theme as
+template and only add / modify what you need. You can copy the default theme
+into your source directory automatically by using `mdbook init --theme` and just
+remove the files you don't want to override.
+
+`mdbook init --theme` will not create every file listed above.
+Some files, such as `head.hbs`, do not have built-in equivalents.
+Just create the file if you need it.
+
+If you completely replace all built-in themes, be sure to also set
+[`output.html.preferred-dark-theme`] in the config, which defaults to the
+built-in `navy` theme.
+
+[`output.html.preferred-dark-theme`]: ../configuration/renderers.md#html-renderer-options
+[newer browsers]: https://caniuse.com/#feat=link-icon-svg
diff --git a/guide/src/format/theme/editor.md b/guide/src/format/theme/editor.md
new file mode 100644
index 0000000..9294dd4
--- /dev/null
+++ b/guide/src/format/theme/editor.md
@@ -0,0 +1,48 @@
+# Editor
+
+In addition to providing runnable code playgrounds, mdBook optionally allows them
+to be editable. In order to enable editable code blocks, the following needs to
+be added to the ***book.toml***:
+
+```toml
+[output.html.playground]
+editable = true
+```
+
+To make a specific block available for editing, the attribute `editable` needs
+to be added to it:
+
+~~~markdown
+```rust,editable
+fn main() {
+    let number = 5;
+    print!("{}", number);
+}
+```
+~~~
+
+The above will result in this editable playground:
+
+```rust,editable
+fn main() {
+    let number = 5;
+    print!("{}", number);
+}
+```
+
+Note the new `Undo Changes` button in the editable playgrounds.
+
+## Customizing the Editor
+
+By default, the editor is the [Ace](https://ace.c9.io/) editor, but, if desired,
+the functionality may be overridden by providing a different folder:
+
+```toml
+[output.html.playground]
+editable = true
+editor = "/path/to/editor"
+```
+
+Note that for the editor changes to function correctly, the `book.js` inside of
+the `theme` folder will need to be overridden as it has some couplings with the
+default Ace editor.
diff --git a/guide/src/format/theme/index-hbs.md b/guide/src/format/theme/index-hbs.md
new file mode 100644
index 0000000..e5331dc
--- /dev/null
+++ b/guide/src/format/theme/index-hbs.md
@@ -0,0 +1,101 @@
+# index.hbs
+
+`index.hbs` is the handlebars template that is used to render the book. The
+markdown files are processed to html and then injected in that template.
+
+If you want to change the layout or style of your book, chances are that you
+will have to modify this template a little bit. Here is what you need to know.
+
+## Data
+
+A lot of data is exposed to the handlebars template with the "context". In the
+handlebars template you can access this information by using
+
+```handlebars
+{{name_of_property}}
+```
+
+Here is a list of the properties that are exposed:
+
+- ***language*** Language of the book in the form `en`, as specified in `book.toml` (if not specified, defaults to `en`). To use in <code
+  class="language-html">\<html lang="{{ language }}"></code> for example.
+- ***title*** Title used for the current page. This is identical to `{{ chapter_title }} - {{ book_title }}` unless `book_title` is not set in which case it just defaults to the `chapter_title`.
+- ***book_title*** Title of the book, as specified in `book.toml`
+- ***chapter_title*** Title of the current chapter, as listed in `SUMMARY.md`
+
+- ***path*** Relative path to the original markdown file from the source
+  directory
+- ***content*** This is the rendered markdown.
+- ***path_to_root*** This is a path containing exclusively `../`'s that points
+  to the root of the book from the current file. Since the original directory
+  structure is maintained, it is useful to prepend relative links with this
+  `path_to_root`.
+
+- ***chapters*** Is an array of dictionaries of the form
+  ```json
+  {"section": "1.2.1", "name": "name of this chapter", "path": "dir/markdown.md"}
+  ```
+  containing all the chapters of the book. It is used for example to construct
+  the table of contents (sidebar).
+
+## Handlebars Helpers
+
+In addition to the properties you can access, there are some handlebars helpers
+at your disposal.
+
+### 1. toc
+
+The toc helper is used like this
+
+```handlebars
+{{#toc}}{{/toc}}
+```
+
+and outputs something that looks like this, depending on the structure of your
+book
+
+```html
+<ul class="chapter">
+    <li><a href="link/to/file.html">Some chapter</a></li>
+    <li>
+        <ul class="section">
+            <li><a href="link/to/other_file.html">Some other Chapter</a></li>
+        </ul>
+    </li>
+</ul>
+```
+
+If you would like to make a toc with another structure, you have access to the
+chapters property containing all the data. The only limitation at the moment
+is that you would have to do it with JavaScript instead of with a handlebars
+helper.
+
+```html
+<script>
+var chapters = {{chapters}};
+// Processing here
+</script>
+```
+
+### 2. previous / next
+
+The previous and next helpers expose a `link` and `name` property to the
+previous and next chapters.
+
+They are used like this
+
+```handlebars
+{{#previous}}
+    <a href="{{link}}" class="nav-chapters previous">
+        <i class="fa fa-angle-left"></i>
+    </a>
+{{/previous}}
+```
+
+The inner html will only be rendered if the previous / next chapter exists.
+Of course the inner html can be changed to your liking.
+
+------
+
+*If you would like other properties or helpers exposed, please [create a new
+issue](https://github.com/rust-lang/mdBook/issues)*
diff --git a/guide/src/format/theme/syntax-highlighting.md b/guide/src/format/theme/syntax-highlighting.md
new file mode 100644
index 0000000..452a650
--- /dev/null
+++ b/guide/src/format/theme/syntax-highlighting.md
@@ -0,0 +1,90 @@
+# Syntax Highlighting
+
+mdBook uses [Highlight.js](https://highlightjs.org) with a custom theme
+for syntax highlighting.
+
+Automatic language detection has been turned off, so you will probably want to
+specify the programming language you use like this:
+
+~~~markdown
+```rust
+fn main() {
+    // Some code
+}
+```
+~~~
+
+## Supported languages
+
+These languages are supported by default, but you can add more by supplying
+your own `highlight.js` file:
+
+- apache
+- armasm
+- bash
+- c
+- coffeescript
+- cpp
+- csharp
+- css
+- d
+- diff
+- go
+- handlebars
+- haskell
+- http
+- ini
+- java
+- javascript
+- json
+- julia
+- kotlin
+- less
+- lua
+- makefile
+- markdown
+- nginx
+- nim
+- objectivec
+- perl
+- php
+- plaintext
+- properties
+- python
+- r
+- ruby
+- rust
+- scala
+- scss
+- shell
+- sql
+- swift
+- typescript
+- x86asm
+- xml
+- yaml
+
+## Custom theme
+Like the rest of the theme, the files used for syntax highlighting can be
+overridden with your own.
+
+- ***highlight.js*** normally you shouldn't have to overwrite this file, unless
+  you want to use a more recent version.
+- ***highlight.css*** theme used by highlight.js for syntax highlighting.
+
+If you want to use another theme for `highlight.js` download it from their
+website, or make it yourself, rename it to `highlight.css` and put it in
+the `theme` folder of your book.
+
+Now your theme will be used instead of the default theme.
+
+## Improve default theme
+
+If you think the default theme doesn't look quite right for a specific language,
+or could be improved, feel free to [submit a new
+issue](https://github.com/rust-lang/mdBook/issues) explaining what you
+have in mind and I will take a look at it.
+
+You could also create a pull-request with the proposed improvements.
+
+Overall the theme should be light and sober, without too many flashy colors.
diff --git a/guide/src/guide/README.md b/guide/src/guide/README.md
new file mode 100644
index 0000000..90deb10
--- /dev/null
+++ b/guide/src/guide/README.md
@@ -0,0 +1,7 @@
+# User Guide
+
+This user guide provides an introduction to basic concepts of using mdBook.
+
+- [Installation](installation.md)
+- [Reading Books](reading.md)
+- [Creating a Book](creating.md)
diff --git a/guide/src/guide/creating.md b/guide/src/guide/creating.md
new file mode 100644
index 0000000..f68a8c6
--- /dev/null
+++ b/guide/src/guide/creating.md
@@ -0,0 +1,109 @@
+# Creating a Book
+
+Once you have the `mdbook` CLI tool installed, you can use it to create and render a book.
+
+## Initializing a book
+
+The `mdbook init` command will create a new directory containing an empty book for you to get started.
+Give it the name of the directory that you want to create:
+
+```sh
+mdbook init my-first-book
+```
+
+It will ask a few questions before generating the book.
+After answering the questions, you can change the current directory into the new book:
+
+```sh
+cd my-first-book
+```
+
+There are several ways to render a book, but one of the easiest methods is to use the `serve` command, which will build your book and start a local webserver:
+
+```sh
+mdbook serve --open
+```
+
+The `--open` option will open your default web browser to view your new book.
+You can leave the server running even while you edit the content of the book, and `mdbook` will automatically rebuild the output *and* automatically refresh your web browser.
+
+Check out the [CLI Guide](../cli/index.html) for more information about other `mdbook` commands and CLI options.
+
+## Anatomy of a book
+
+A book is built from several files which define the settings and layout of the book.
+
+### `book.toml`
+
+In the root of your book, there is a `book.toml` file which contains settings for describing how to build your book.
+This is written in the [TOML markup language](https://toml.io/).
+The default settings are usually good enough to get you started.
+When you are interested in exploring more features and options that mdBook provides, check out the [Configuration chapter](../format/configuration/index.html) for more details.
+
+A very basic `book.toml` can be as simple as this:
+
+```toml
+[book]
+title = "My First Book"
+```
+
+### `SUMMARY.md`
+
+The next major part of a book is the summary file located at `src/SUMMARY.md`.
+This file contains a list of all the chapters in the book.
+Before a chapter can be viewed, it must be added to this list.
+
+Here's a basic summary file with a few chapters:
+
+```md
+# Summary
+
+[Introduction](README.md)
+
+- [My First Chapter](my-first-chapter.md)
+- [Nested example](nested/README.md)
+    - [Sub-chapter](nested/sub-chapter.md)
+```
+
+Try opening up `src/SUMMARY.md` in your editor and adding a few chapters.
+If any of the chapter files do not exist, `mdbook` will automatically create them for you.
+
+For more details on other formatting options for the summary file, check out the [Summary chapter](../format/summary.md).
+
+### Source files
+
+The content of your book is all contained in the `src` directory.
+Each chapter is a separate Markdown file.
+Typically, each chapter starts with a level 1 heading with the title of the chapter.
+
+```md
+# My First Chapter
+
+Fill out your content here.
+```
+
+The precise layout of the files is up to you.
+The organization of the files will correspond to the HTML files generated, so keep in mind that the file layout is part of the URL of each chapter.
+
+While the `mdbook serve` command is running, you can open any of the chapter files and start editing them.
+Each time you save the file, `mdbook` will rebuild the book and refresh your web browser.
+
+Check out the [Markdown chapter](../format/markdown.md) for more information on formatting the content of your chapters.
+
+All other files in the `src` directory will be included in the output.
+So if you have images or other static files, just include them somewhere in the `src` directory.
+
+## Publishing a book
+
+Once you've written your book, you may want to host it somewhere for others to view.
+The first step is to build the output of the book.
+This can be done with the `mdbook build` command in the same directory where the `book.toml` file is located:
+
+```sh
+mdbook build
+```
+
+This will generate a directory named `book` which contains the HTML content of your book.
+You can then place this directory on any web server to host it.
+
+For more information about publishing and deploying, check out the [Continuous Integration chapter](../continuous-integration.md) for more.
\ No newline at end of file
diff --git a/guide/src/guide/installation.md b/guide/src/guide/installation.md
new file mode 100644
index 0000000..a25cfd8
--- /dev/null
+++ b/guide/src/guide/installation.md
@@ -0,0 +1,52 @@
+# Installation
+
+There are multiple ways to install the mdBook CLI tool.
+Choose any one of the methods below that best suit your needs.
+If you are installing mdBook for automatic deployment, check out the [continuous integration] chapter for more examples on how to install.
+
+[continuous integration]: ../continuous-integration.md
+
+## Pre-compiled binaries
+
+Executable binaries are available for download on the [GitHub Releases page][releases].
+Download the binary for your platform (Windows, macOS, or Linux) and extract the archive.
+The archive contains an `mdbook` executable which you can run to build your books.
+
+To make it easier to run, put the path to the binary into your `PATH`.
+
+[releases]: https://github.com/rust-lang/mdBook/releases
+
+## Build from source using Rust
+
+To build the `mdbook` executable from source, you will first need to install Rust and Cargo.
+Follow the instructions on the [Rust installation page].
+mdBook currently requires at least Rust version 1.70.
+
+Once you have installed Rust, the following command can be used to build and install mdBook:
+
+```sh
+cargo install mdbook
+```
+
+This will automatically download mdBook from [crates.io], build it, and install it in Cargo's global binary directory (`~/.cargo/bin/` by default).
+
+To uninstall, run the command `cargo uninstall mdbook`.
+
+[Rust installation page]: https://www.rust-lang.org/tools/install
+[crates.io]: https://crates.io/
+
+### Installing the latest master version
+
+The version published to crates.io will ever so slightly be behind the version hosted on GitHub.
+If you need the latest version you can build the git version of mdBook yourself.
+Cargo makes this ***super easy***!
+
+```sh
+cargo install --git https://github.com/rust-lang/mdBook.git mdbook
+```
+
+Again, make sure to add the Cargo bin directory to your `PATH`.
+
+If you are interested in making modifications to mdBook itself, check out the [Contributing Guide] for more information.
+
+[Contributing Guide]: https://github.com/rust-lang/mdBook/blob/master/CONTRIBUTING.md
diff --git a/guide/src/guide/reading.md b/guide/src/guide/reading.md
new file mode 100644
index 0000000..cab3a86
--- /dev/null
+++ b/guide/src/guide/reading.md
@@ -0,0 +1,74 @@
+# Reading Books
+
+This chapter gives an introduction on how to interact with a book produced by mdBook.
+This assumes you are reading an HTML book.
+The options and formatting will be different for other output formats such as PDF.
+
+A book is organized into *chapters*.
+Each chapter is a separate page.
+Chapters can be nested into a hierarchy of sub-chapters.
+Typically, each chapter will be organized into a series of *headings* to subdivide a chapter.
+
+## Navigation
+
+There are several methods for navigating through the chapters of a book.
+
+The **sidebar** on the left provides a list of all chapters.
+Clicking on any of the chapter titles will load that page.
+
+The sidebar may not automatically appear if the window is too narrow, particularly on mobile displays.
+In that situation, the menu icon (three horizontal bars) at the top-left of the page can be pressed to open and close the sidebar.
+
+The **arrow buttons** at the bottom of the page can be used to navigate to the previous or the next chapter.
+
+The **left and right arrow keys** on the keyboard can be used to navigate to the previous or the next chapter.
+
+## Top menu bar
+
+The menu bar at the top of the page provides some icons for interacting with the book.
+The icons displayed will depend on the settings of how the book was generated.
+
+| Icon | Description |
+|------|-------------|
+| <i class="fa fa-bars"></i> | Opens and closes the chapter listing sidebar. |
+| <i class="fa fa-paint-brush"></i> | Opens a picker to choose a different color theme. |
+| <i class="fa fa-search"></i> | Opens a search bar for searching within the book. |
+| <i class="fa fa-print"></i> | Instructs the web browser to print the entire book. |
+| <i class="fa fa-github"></i> | Opens a link to the website that hosts the source code of the book. |
+| <i class="fa fa-edit"></i> | Opens a page to directly edit the source of the page you are currently reading. |
+
+Tapping the menu bar will scroll the page to the top.
+
+## Search
+
+Each book has a built-in search system.
+Pressing the search icon (<i class="fa fa-search"></i>) in the menu bar, or pressing the `S` key on the keyboard will open an input box for entering search terms.
+Typing some terms will show matching chapters and sections in real time.
+
+Clicking any of the results will jump to that section.
+The up and down arrow keys can be used to navigate the results, and enter will open the highlighted section.
+
+After loading a search result, the matching search terms will be highlighted in the text.
+Clicking a highlighted word or pressing the `Esc` key will remove the highlighting.
+
+## Code blocks
+
+mdBook books are often used for programming projects, and thus support highlighting code blocks and samples.
+Code blocks may contain several different icons for interacting with them:
+
+| Icon | Description |
+|------|-------------|
+| <i class="fa fa-copy"></i> | Copies the code block into your local clipboard, to allow pasting into another application. |
+| <i class="fa fa-play"></i> | For Rust code examples, this will execute the sample code and display the compiler output just below the example (see [playground]). |
+| <i class="fa fa-eye"></i> | For Rust code examples, this will toggle visibility of "hidden" lines. Sometimes, larger examples will hide lines which are not particularly relevant to what is being illustrated (see [hiding code lines]). |
+| <i class="fa fa-history"></i> | For [editable code examples][editor], this will undo any changes you have made. |
+
+Here's an example:
+
+```rust
+println!("Hello, World!");
+```
+
+[editor]: ../format/theme/editor.md
+[playground]: ../format/mdbook.md#rust-playground
+[hiding code lines]: ../format/mdbook.md#hiding-code-lines
diff --git a/guide/src/misc/contributors.md b/guide/src/misc/contributors.md
new file mode 100644
index 0000000..362a21f
--- /dev/null
+++ b/guide/src/misc/contributors.md
@@ -0,0 +1,24 @@
+# Contributors
+
+Here is a list of the contributors who have helped improving mdBook. Big
+shout-out to them!
+
+- [mdinger](https://github.com/mdinger)
+- Kevin ([kbknapp](https://github.com/kbknapp))
+- Steve Klabnik ([steveklabnik](https://github.com/steveklabnik))
+- Adam Solove ([asolove](https://github.com/asolove))
+- Wayne Nilsen ([waynenilsen](https://github.com/waynenilsen))
+- [funnkill](https://github.com/funkill)
+- Fu Gangqiang ([FuGangqiang](https://github.com/FuGangqiang))
+- [Michael-F-Bryan](https://github.com/Michael-F-Bryan)
+- Chris Spiegel ([cspiegel](https://github.com/cspiegel))
+- [projektir](https://github.com/projektir)
+- [Phaiax](https://github.com/Phaiax)
+- Matt Ickstadt ([mattico](https://github.com/mattico))
+- Weihang Lo ([weihanglo](https://github.com/weihanglo))
+- Avision Ho ([avisionh](https://github.com/avisionh))
+- Vivek Akupatni ([apatniv](https://github.com/apatniv))
+- Eric Huss ([ehuss](https://github.com/ehuss))
+- Josh Rotenberg ([joshrotenberg](https://github.com/joshrotenberg))
+
+If you feel you're missing from this list, feel free to add yourself in a PR.
diff --git a/release.toml b/release.toml
new file mode 100644
index 0000000..2a24e04
--- /dev/null
+++ b/release.toml
@@ -0,0 +1,3 @@
+sign-commit = true
+push-remote = "origin"
+tag-prefix = "v"
diff --git a/sitefix-book/README.md b/sitefix-book/README.md
new file mode 100644
index 0000000..bd6358a
--- /dev/null
+++ b/sitefix-book/README.md
@@ -0,0 +1,34 @@
+# SiteFix Book
+
+A book example under some path set with **site-url** 
+
+## How to use it
+
+- Create a **dist** path
+- Run **mdbook** (fixed version release build from this repo)
+
+```bash
+../target/release/mdbook build --dest-dir dist/doc
+```
+
+**doc** is <u>absolute-path</u> declared in **book.toml**  as **site-url**
+
+```toml
+[output.html]
+site-url = "/doc/"
+```
+
+**doc** is <u>absolutec-path</u> declared in **context.toml** as **urlbase** and used as {{urlbase}}
+
+```toml
+urlbase = "/doc/"
+```
+
+Results can be tested simply by:
+
+```bash
+cd dist
+python3 -m http.server
+```
+
+Navigate with a browser to [http://localhost:8000/doc](http://localhost:8000/doc)
diff --git a/sitefix-book/book.toml b/sitefix-book/book.toml
new file mode 100644
index 0000000..00d34ec
--- /dev/null
+++ b/sitefix-book/book.toml
@@ -0,0 +1,40 @@
+[book]
+authors = [""]
+language = "en"
+multilingual = false
+src = "src"
+title = ""
+description = ""
+
+[build]
+build-dir = "book"               # the directory where the output is placed
+#create-missing = true            # whether or not to create missing pages
+use-default-preprocessors = true  # use the default preprocessors
+extra-watch-dirs = []             # directories to watch for triggering builds
+
+[output.html]
+theme = "my-theme"
+default-theme = "light"
+preferred-dark-theme = "navy"
+curly-quotes = true
+mathjax-support = false
+site-url = "/doc/"
+copy-fonts = true
+
+#additional-css = [""]
+# additional-js = [""]
+
+#no-section-label = false
+
+#cname = ""
+#input-404 = "not-found.md"
+
+[output.html.fold]
+enable = true    # whether or not to enable section folding
+level = 0         # the depth to start folding
+
+# Default options, load a TOML context file from ./src/context.toml
+[preprocessor.tera]
+command = "mdbook-tera --toml ./context.toml"
+#command = "mdbook-tera --json ./src/context.json"
+
diff --git a/sitefix-book/context.toml b/sitefix-book/context.toml
new file mode 100644
index 0000000..fb42149
--- /dev/null
+++ b/sitefix-book/context.toml
@@ -0,0 +1 @@
+urlbase = "/doc/"
diff --git a/sitefix-book/my-theme/index.hbs b/sitefix-book/my-theme/index.hbs
new file mode 100644
index 0000000..8b6a73b
--- /dev/null
+++ b/sitefix-book/my-theme/index.hbs
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML>
+<html lang="{{ language }}" class="{{ default_theme }}" dir="{{ text_direction }}">
+    <head>
+        <!-- Book generated using mdBook -->
+        <meta charset="UTF-8">
+        <title>{{ title }}</title>
+        {{#if is_print }}
+        <meta name="robots" content="noindex">
+        {{/if}}
+        {{#if base_url}}
+        <base href="{{ base_url }}">
+        {{/if}}
+
+
+        <!-- Custom HTML head -->
+        {{> head}}
+
+        <meta name="description" content="{{ description }}">
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <meta name="theme-color" content="#ffffff">
+
+        {{#if favicon_svg}}
+        <link rel="icon" href="{{ path_to_root }}favicon.svg">
+        {{/if}}
+        {{#if favicon_png}}
+        <link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
+        {{/if}}
+        <link rel="stylesheet" href="{{ path_to_root }}css/variables.css">
+        <link rel="stylesheet" href="{{ path_to_root }}css/general.css">
+        <link rel="stylesheet" href="{{ path_to_root }}css/chrome.css">
+        {{#if print_enable}}
+        <link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print">
+        {{/if}}
+
+        <!-- Fonts -->
+        <link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css">
+        {{#if copy_fonts}}
+        <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
+        {{/if}}
+
+        <!-- Highlight.js Stylesheets -->
+        <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
+        <link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
+        <link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
+
+        <!-- Custom theme stylesheets -->
+        {{#each additional_css}}
+        <link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
+        {{/each}}
+
+        {{#if mathjax_support}}
+        <!-- MathJax -->
+        <script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+        {{/if}}
+    </head>
+    <body class="sidebar-visible no-js">
+    <div id="body-container">
+        <!-- Provide site root to javascript -->
+        <script>
+            var path_to_root = "{{ path_to_root }}";
+            var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
+        </script>
+
+        <!-- Work around some values being stored in localStorage wrapped in quotes -->
+        <script>
+            try {
+                var theme = localStorage.getItem('mdbook-theme');
+                var sidebar = localStorage.getItem('mdbook-sidebar');
+
+                if (theme.startsWith('"') && theme.endsWith('"')) {
+                    localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
+                }
+
+                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
+                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
+                }
+            } catch (e) { }
+        </script>
+
+        <!-- Set the theme before any content is loaded, prevents flash -->
+        <script>
+            var theme;
+            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
+            if (theme === null || theme === undefined) { theme = default_theme; }
+            var html = document.querySelector('html');
+            html.classList.remove('{{ default_theme }}')
+            html.classList.add(theme);
+            var body = document.querySelector('body');
+            body.classList.remove('no-js')
+            body.classList.add('js');
+        </script>
+
+        <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
+
+        <!-- Hide / unhide sidebar before it is displayed -->
+        <script>
+            var body = document.querySelector('body');
+            var sidebar = null;
+            var sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
+            if (document.body.clientWidth >= 1080) {
+                try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
+                sidebar = sidebar || 'visible';
+            } else {
+                sidebar = 'hidden';
+            }
+            sidebar_toggle.checked = sidebar === 'visible';
+            body.classList.remove('sidebar-visible');
+            body.classList.add("sidebar-" + sidebar);
+        </script>
+
+        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
+            <div class="sidebar-scrollbox">
+                {{#toc}}{{/toc}}
+            </div>
+            <div id="sidebar-resize-handle" class="sidebar-resize-handle">
+                <div class="sidebar-resize-indicator"></div>
+            </div>
+        </nav>
+
+        <!-- Track and set sidebar scroll position -->
+        <script>
+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
+            sidebarScrollbox.addEventListener('click', function(e) {
+                if (e.target.tagName === 'A') {
+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
+                }
+            }, { passive: true });
+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
+            sessionStorage.removeItem('sidebar-scroll');
+            if (sidebarScrollTop) {
+                // preserve sidebar scroll position when navigating via links within sidebar
+                sidebarScrollbox.scrollTop = sidebarScrollTop;
+            } else {
+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
+                var activeSection = document.querySelector('#sidebar .active');
+                if (activeSection) {
+                    activeSection.scrollIntoView({ block: 'center' });
+                }
+            }
+        </script>
+
+        <div id="page-wrapper" class="page-wrapper">
+
+            <div class="page">
+                {{> header}}
+                <div id="menu-bar-hover-placeholder"></div>
+                <div id="menu-bar" class="menu-bar sticky">
+                    <div class="left-buttons">
+                        <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
+                            <i class="fa fa-bars"></i>
+                        </label>
+                        <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
+                            <i class="fa fa-paint-brush"></i>
+                        </button>
+                        <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
+                            <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
+                        </ul>
+                        {{#if search_enabled}}
+                        <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
+                            <i class="fa fa-search"></i>
+                        </button>
+                        {{/if}}
+                    </div>
+
+                    <h1 class="menu-title">{{ book_title }}</h1>
+
+                    <div class="right-buttons">
+                        {{#if print_enable}}
+                        <a href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book">
+                            <i id="print-button" class="fa fa-print"></i>
+                        </a>
+                        {{/if}}
+                        {{#if git_repository_url}}
+                        <a href="{{git_repository_url}}" title="Git repository" aria-label="Git repository">
+                            <i id="git-repository-button" class="fa {{git_repository_icon}}"></i>
+                        </a>
+                        {{/if}}
+                        {{#if git_repository_edit_url}}
+                        <a href="{{git_repository_edit_url}}" title="Suggest an edit" aria-label="Suggest an edit">
+                            <i id="git-edit-button" class="fa fa-edit"></i>
+                        </a>
+                        {{/if}}
+
+                    </div>
+                </div>
+
+                {{#if search_enabled}}
+                <div id="search-wrapper" class="hidden">
+                    <form id="searchbar-outer" class="searchbar-outer">
+                        <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
+                    </form>
+                    <div id="searchresults-outer" class="searchresults-outer hidden">
+                        <div id="searchresults-header" class="searchresults-header"></div>
+                        <ul id="searchresults">
+                        </ul>
+                    </div>
+                </div>
+                {{/if}}
+
+                <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
+                <script>
+                    document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
+                    document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
+                    Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
+                        link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
+                    });
+                </script>
+
+                <div id="content" class="content">
+                    <main>
+                        {{{ content }}}
+                    </main>
+
+                    <nav class="nav-wrapper" aria-label="Page navigation">
+                        <!-- Mobile navigation buttons -->
+                        {{#previous}}
+                            <a rel="prev" href="{{ urlbase }}{{link}}" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
+                                <i class="fa fa-angle-left"></i>
+                            </a>
+                        {{/previous}}
+
+                        {{#next}}
+                            <a rel="next prefetch" href="{{  urlbase }}{{link}}" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                                <i class="fa fa-angle-right"></i>
+                            </a>
+                        {{/next}}
+
+                        <div style="clear: both"></div>
+                    </nav>
+                </div>
+            </div>
+
+            <nav class="nav-wide-wrapper" aria-label="Page navigation">
+                {{#previous}}
+                    <a rel="prev" href="{{ urlbase }}{{link}}" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
+                        <i class="fa fa-angle-left"></i>
+                    </a>
+                {{/previous}}
+
+                {{#next}}
+                    <a rel="next prefetch" href="{{ urlbase }}{{link}}" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                        <i class="fa fa-angle-right"></i>
+                    </a>
+                {{/next}}
+            </nav>
+
+        </div>
+
+        {{#if live_reload_endpoint}}
+        <!-- Livereload script (if served using the cli tool) -->
+        <script>
+            const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
+            const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}";
+            const socket = new WebSocket(wsAddress);
+            socket.onmessage = function (event) {
+                if (event.data === "reload") {
+                    socket.close();
+                    location.reload();
+                }
+            };
+
+            window.onbeforeunload = function() {
+                socket.close();
+            }
+        </script>
+        {{/if}}
+
+        {{#if google_analytics}}
+        <!-- Google Analytics Tag -->
+        <script>
+            var localAddrs = ["localhost", "127.0.0.1", ""];
+
+            // make sure we don't activate google analytics if the developer is
+            // inspecting the book locally...
+            if (localAddrs.indexOf(document.location.hostname) === -1) {
+                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+                ga('create', '{{google_analytics}}', 'auto');
+                ga('send', 'pageview');
+            }
+        </script>
+        {{/if}}
+
+        {{#if playground_line_numbers}}
+        <script>
+            window.playground_line_numbers = true;
+        </script>
+        {{/if}}
+
+        {{#if playground_copyable}}
+        <script>
+            window.playground_copyable = true;
+        </script>
+        {{/if}}
+
+        {{#if playground_js}}
+        <script src="{{ path_to_root }}ace.js"></script>
+        <script src="{{ path_to_root }}editor.js"></script>
+        <script src="{{ path_to_root }}mode-rust.js"></script>
+        <script src="{{ path_to_root }}theme-dawn.js"></script>
+        <script src="{{ path_to_root }}theme-tomorrow_night.js"></script>
+        {{/if}}
+
+        {{#if search_js}}
+        <script src="{{ path_to_root }}elasticlunr.min.js"></script>
+        <script src="{{ path_to_root }}mark.min.js"></script>
+        <script src="{{ path_to_root }}searcher.js"></script>
+        {{/if}}
+
+        <script src="{{ path_to_root }}clipboard.min.js"></script>
+        <script src="{{ path_to_root }}highlight.js"></script>
+        <script src="{{ path_to_root }}book.js"></script>
+
+        <!-- Custom JS scripts -->
+        {{#each additional_js}}
+        <script src="{{ ../path_to_root }}{{this}}"></script>
+        {{/each}}
+
+        {{#if is_print}}
+        {{#if mathjax_support}}
+        <script>
+        window.addEventListener('load', function() {
+            MathJax.Hub.Register.StartupHook('End', function() {
+                window.setTimeout(window.print, 100);
+            });
+        });
+        </script>
+        {{else}}
+        <script>
+        window.addEventListener('load', function() {
+            window.setTimeout(window.print, 100);
+        });
+        </script>
+        {{/if}}
+        {{/if}}
+
+    </div>
+    </body>
+</html>
diff --git a/sitefix-book/src/README.md b/sitefix-book/src/README.md
new file mode 100644
index 0000000..04d5afd
--- /dev/null
+++ b/sitefix-book/src/README.md
@@ -0,0 +1,12 @@
+# Demo Book
+
+This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook.
+This contains dummy examples of various markdown elements and code languages, so that one can check changes made in mdBook styles.
+
+This rough outline is :
+
+- individual : contains basic markdown elements such as headings, paragraphs, links etc.
+- languages : contains a `hello world` in each of supported language to see changes in syntax highlighting
+- rust : contains language examples specific to rust, such as play pen, runnable examples etc.
+
+This is more for checking and fixing style, rather than verifying that correct code is generated for given markdown, that is better handled in tests.
diff --git a/sitefix-book/src/SUMMARY.md b/sitefix-book/src/SUMMARY.md
new file mode 100644
index 0000000..b41585e
--- /dev/null
+++ b/sitefix-book/src/SUMMARY.md
@@ -0,0 +1,33 @@
+# Summary
+
+[Prefix Chapter](./prefix.md)
+
+---
+
+- [Introduction](./README.md)
+- [Draft Chapter]()
+
+# Actual Markdown Tag Examples
+
+- [Markdown Individual tags](./individual/README.md)
+  - [Heading](./individual/heading.md)
+  - [Paragraphs](./individual/paragraph.md)
+  - [Line Break](./individual/linebreak.md)
+  - [Emphasis](./individual/emphasis.md)
+  - [Blockquote](./individual/blockquote.md)
+  - [List](./individual/list.md)
+  - [Code](./individual/code.md)
+  - [Image](./individual/image.md)
+  - [Links and Horizontal Rule](./individual/link_hr.md)
+  - [Tables](./individual/table.md)
+  - [Tasks](./individual/task.md)
+  - [Strikethrough](./individual/strikethrough.md)
+  - [Mixed](./individual/mixed.md)
+- [Languages](./languages/README.md)
+  - [Syntax Highlight](./languages/highlight.md)
+- [Rust Specific](./rust/README.md)
+  - [Rust Codeblocks](./rust/rust_codeblock.md)
+
+---
+
+[Suffix Chapter](./suffix.md)
diff --git a/sitefix-book/src/individual/README.md b/sitefix-book/src/individual/README.md
new file mode 100644
index 0000000..67a1e9d
--- /dev/null
+++ b/sitefix-book/src/individual/README.md
@@ -0,0 +1,17 @@
+# Individual Common mark tags
+
+This contains following tags:
+
+- Headings
+- Paragraphs
+- Line breaks
+- Emphasis
+- Blockquotes
+- Lists
+- Code blocks
+- Images
+- Links and Horizontal rules
+- Github tables
+- Github Task Lists
+- Strikethrough
+- Mixed
diff --git a/sitefix-book/src/individual/blockquote.md b/sitefix-book/src/individual/blockquote.md
new file mode 100644
index 0000000..9f8be54
--- /dev/null
+++ b/sitefix-book/src/individual/blockquote.md
@@ -0,0 +1,30 @@
+# Blockquote
+
+> This is a quoted sentence.
+
+> This is a quoted paragraph
+>
+> separated lines  
+> here
+
+> Nested
+>
+> > Quoted  
+> > Paragraph
+
+> ### And now,
+>
+> **Let us _introduce_**
+> All kinds of
+>
+> - tags
+> - etc
+> - stuff
+>
+> 1. In
+> 2. The
+> 3. blockquote
+>
+>    > cause we can
+>    >
+>    > > Cause we can
diff --git a/sitefix-book/src/individual/code.md b/sitefix-book/src/individual/code.md
new file mode 100644
index 0000000..26f2d56
--- /dev/null
+++ b/sitefix-book/src/individual/code.md
@@ -0,0 +1,31 @@
+# Code
+
+This section only does simple code blocks and inline code, detailed syntax highlight and stuff is in the languages section
+
+---
+
+```
+This is a codeblock
+```
+
+---
+
+This line contains `inline code`
+
+---
+
+````
+escaping ``` in ```, fun, isn't is?
+````
+
+---
+
+```bash,editable
+This is an editable codeblock
+```
+
+---
+
+```rust
+// This links to a playpen
+```
diff --git a/sitefix-book/src/individual/emphasis.md b/sitefix-book/src/individual/emphasis.md
new file mode 100644
index 0000000..deac530
--- /dev/null
+++ b/sitefix-book/src/individual/emphasis.md
@@ -0,0 +1,13 @@
+# Emphasis
+
+This has **bold text** in between normal.
+
+This has _italic text_ in between normal.
+
+A **line** having _both_, bold and italic text.
+
+**A bold line _having_ italic text**
+
+_An Italic line having **bold** text_
+
+Now this is going **_out of hands_**.
diff --git a/sitefix-book/src/individual/heading.md b/sitefix-book/src/individual/heading.md
new file mode 100644
index 0000000..450bea1
--- /dev/null
+++ b/sitefix-book/src/individual/heading.md
@@ -0,0 +1,21 @@
+# Chapter Heading
+
+---
+
+# Really Big Heading
+
+## Big Heading
+
+### Normal-ish Heading
+
+#### Small Heading...?
+
+##### Really Small Heading
+
+###### Is it even a heading anymore - heading
+
+## Custom id {% raw %}{#example-id{% endraw %}}
+
+## Custom class {.class1 .class2}
+
+## Both id and class {% raw %}{#example-id2 .class1 .class2}{% endraw %}
diff --git a/sitefix-book/src/individual/image.md b/sitefix-book/src/individual/image.md
new file mode 100644
index 0000000..8bb66d3
--- /dev/null
+++ b/sitefix-book/src/individual/image.md
@@ -0,0 +1,27 @@
+# Images
+
+For copyright and trademark information on these images, please check [rust-artwork repository](https://github.com/rust-lang/rust-artworkhttps://github.com/rust-lang/rust-artwork)
+
+## A 16x16 image
+
+![16x16 rust-lang logo](https://rust-lang.org/logos/rust-logo-16x16.png)
+
+## A 32x32 image
+
+![32x32 rust-lang logo](https://rust-lang.org/logos/rust-logo-32x32-blk.png)
+
+## A 256x256 image
+
+![256x256 rust-lang logo](https://rust-lang.org/logos/rust-logo-256x256.png)
+
+## A 512x512 image
+
+![512x512 rust-lang logo](https://rust-lang.org/logos/rust-logo-512x512-blk.png)
+
+## A large image
+
+![2018 rust-conf art](https://raw.githubusercontent.com/rust-lang/rust-artwork/master/2018-RustConf/lucy-mountain-climber.png)
+
+## A SVG image
+
+![2018 rust-conf art svg](https://raw.githubusercontent.com/rust-lang/rust-artwork/461afe27d8e02451cf9f46e507f2c2a71d2b276b/2018-RustConf/lucy-mountain-climber.svg)
diff --git a/sitefix-book/src/individual/linebreak.md b/sitefix-book/src/individual/linebreak.md
new file mode 100644
index 0000000..4d35359
--- /dev/null
+++ b/sitefix-book/src/individual/linebreak.md
@@ -0,0 +1,8 @@
+# Line breaks
+
+This is a long  
+line with a couple of  
+line breaks in <br/>
+between : both with two  
+spaces and return, <br/>
+and with HTML tags.
diff --git a/sitefix-book/src/individual/link_hr.md b/sitefix-book/src/individual/link_hr.md
new file mode 100644
index 0000000..cc939a2
--- /dev/null
+++ b/sitefix-book/src/individual/link_hr.md
@@ -0,0 +1,15 @@
+# Links and Horizontal Rule
+
+This is followed by a Horizontal rule
+
+---
+
+And this is preceded by a horizontal rule.
+
+[This](www.rust-lang.org) should link to rust-lang website  
+[So should this][rl].  
+**[This][rl]** is a strong link.  
+_[This][rl]_ is italic.  
+**_[This][rl]_** is both.
+
+[rl]: www.rust-lang.org
diff --git a/sitefix-book/src/individual/list.md b/sitefix-book/src/individual/list.md
new file mode 100644
index 0000000..a1431f9
--- /dev/null
+++ b/sitefix-book/src/individual/list.md
@@ -0,0 +1,35 @@
+# Lists
+
+1. A
+2. Normal
+3. Ordered
+4. List
+
+---
+
+1. A
+   1. Nested
+   2. List
+2. But
+3. Still
+4. Normal
+
+---
+
+- An
+- Unordered
+- Normal
+- List
+
+---
+
+- Nested
+  - Unordered
+- List
+
+---
+
+- This
+  1. Is
+  2. Normal
+- ?!
diff --git a/sitefix-book/src/individual/mixed.md b/sitefix-book/src/individual/mixed.md
new file mode 100644
index 0000000..10b487a
--- /dev/null
+++ b/sitefix-book/src/individual/mixed.md
@@ -0,0 +1,64 @@
+# Mixed
+
+This contains all tags randomly mixed together, to make sure style changes in one does not affect others.
+
+### A heading
+
+**Quite a Strong statement , to make**
+
+~~No, cross that~~
+
+> Whose **quote** is this
+>
+> > And ~~this~~
+> >
+> > > - and
+> > > - this
+> > > - also
+
+```
+You encountered a wild codepen
+```
+
+```rust,editable
+// The codepen is editable and runnable
+fn main(){
+    println!("Hello world!");
+}
+```
+
+<kbd>Ctrl</kbd> + <kbd>S</kbd> saves a file.
+
+A random image sprinkled in between
+
+![16x16 rust-lang logo](https://rust-lang.org/logos/rust-logo-16x16.png)
+
+---
+
+- ~~An unordered list~~
+- **Hello**
+- _World_
+- What
+  1. Should
+  2. be
+  3. `put`
+  4. here?
+  5. **<kbd>Ctrl</kbd> + <kbd>S</kbd> saves a file.**
+
+| col1 | col2 | col 3 | col 4 | col 5 | col 6 |
+| ---- | ---- | ----- | ----- | ----- | ----- |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+
+| col1 | col2 | col 3 | An Questionable table header | col 5 | col 6                                    |
+| ---- | ---- | ----- | ---------------------------- | ----- | ---------------------------------------- |
+| val1 | val2 | val3  | val5                         | val4  | An equally Questionable long table value |
+
+### Things to do
+
+- [x] Add individual tags
+- [ ] Add language examples
+- [ ] Add rust specific examples
+
+And another image
+
+![2018 rust-conf art svg](https://raw.githubusercontent.com/rust-lang/rust-artwork/461afe27d8e02451cf9f46e507f2c2a71d2b276b/2018-RustConf/lucy-mountain-climber.svg)
diff --git a/sitefix-book/src/individual/paragraph.md b/sitefix-book/src/individual/paragraph.md
new file mode 100644
index 0000000..032dd6e
--- /dev/null
+++ b/sitefix-book/src/individual/paragraph.md
@@ -0,0 +1,25 @@
+Just a simple paragraph.
+
+Let's stress test this.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer elit lorem, eleifend eu leo sit amet, suscipit feugiat libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin congue lectus sit amet lacus venenatis, ac sollicitudin purus condimentum. Suspendisse pretium volutpat sapien at gravida. In tincidunt, sem non accumsan consectetur, leo libero porttitor dolor, at imperdiet erat nibh quis leo. Cras dictum erat augue, quis pharetra justo porttitor posuere. Aenean sed lacinia justo, vel suscipit nisl. Etiam eleifend id mauris at gravida. Aliquam molestie cursus lorem pulvinar sollicitudin. Nam et ex dignissim, posuere sem non, pellentesque lacus. Morbi vulputate sed lorem et convallis. Duis non turpis eget elit posuere volutpat. Donec accumsan euismod enim, id consequat ex rhoncus ac. Pellentesque ac felis nisl. Duis imperdiet vel tellus ac iaculis.
+
+Vivamus nec tempus enim. Integer in ligula eget elit ornare vulputate id et est. Proin mi elit, sagittis nec urna et, iaculis imperdiet neque. Vestibulum placerat cursus dolor. Donec eu sodales nulla. Praesent ac tellus eros. Donec venenatis ligula id ex porttitor malesuada. Aliquam maximus, nisi in fringilla finibus, ante elit rhoncus dui, placerat semper nisl tellus quis odio. Cras luctus magna ultrices dolor pharetra volutpat. Maecenas non enim vitae ligula efficitur aliquet id quis quam. In sagittis mollis magna eu porta. Morbi at nulla et ante elementum pharetra in sed est. Nam commodo purus enim.
+
+Ut non elit sit amet urna luctus facilisis vel et sapien. Morbi nec metus at libero imperdiet sollicitudin eget quis lacus. Donec in ipsum at enim accumsan tempor vel sed magna. Aliquam non imperdiet neque. Etiam pharetra neque sed pretium interdum. Suspendisse potenti. Phasellus varius, lectus quis dapibus faucibus, purus mauris accumsan nibh, vel tempor quam metus nec sem. Nunc sagittis suscipit lorem eu finibus. Nullam augue leo, imperdiet vel diam et, vulputate scelerisque turpis. Nullam ut volutpat diam. Praesent cursus accumsan dui a commodo. Vivamus sed libero sed turpis facilisis rutrum id sed ligula. Ut id sollicitudin dui. Nulla pulvinar commodo lectus. Cras ut quam congue, consectetur dolor ac, consequat ante.
+
+Curabitur scelerisque sed leo eu facilisis. Nam faucibus neque eget dictum hendrerit. Duis efficitur ex sed vulputate volutpat. Praesent condimentum nisl ac sapien efficitur laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut ut nibh elit. Nunc a neque lobortis, tempus diam vitae, interdum magna. Aenean eget nisl sed justo volutpat interdum. Mauris malesuada ex nisl, a dignissim dui elementum eget. Suspendisse potenti.
+
+Praesent congue fringilla sem sed faucibus. Vivamus malesuada eget mauris at molestie. In sed faucibus nulla. Vivamus elementum accumsan metus quis suscipit. Maecenas interdum est nulla. Cras volutpat cursus nibh quis sollicitudin. Morbi vitae massa laoreet, aliquet tellus quis, consectetur ipsum. Mauris euismod congue purus non condimentum. Etiam laoreet mi vel sem consectetur gravida. Vestibulum volutpat magna nunc, vitae ultrices risus commodo eu.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer elit lorem, eleifend eu leo sit amet, suscipit feugiat libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin congue lectus sit amet lacus venenatis, ac sollicitudin purus condimentum. Suspendisse pretium volutpat sapien at gravida. In tincidunt, sem non accumsan consectetur, leo libero porttitor dolor, at imperdiet erat nibh quis leo. Cras dictum erat augue, quis pharetra justo porttitor posuere. Aenean sed lacinia justo, vel suscipit nisl. Etiam eleifend id mauris at gravida. Aliquam molestie cursus lorem pulvinar sollicitudin. Nam et ex dignissim, posuere sem non, pellentesque lacus. Morbi vulputate sed lorem et convallis. Duis non turpis eget elit posuere volutpat. Donec accumsan euismod enim, id consequat ex rhoncus ac. Pellentesque ac felis nisl. Duis imperdiet vel tellus ac iaculis.
+
+Vivamus nec tempus enim. Integer in ligula eget elit ornare vulputate id et est. Proin mi elit, sagittis nec urna et, iaculis imperdiet neque. Vestibulum placerat cursus dolor. Donec eu sodales nulla. Praesent ac tellus eros. Donec venenatis ligula id ex porttitor malesuada. Aliquam maximus, nisi in fringilla finibus, ante elit rhoncus dui, placerat semper nisl tellus quis odio. Cras luctus magna ultrices dolor pharetra volutpat. Maecenas non enim vitae ligula efficitur aliquet id quis quam. In sagittis mollis magna eu porta. Morbi at nulla et ante elementum pharetra in sed est. Nam commodo purus enim.
+
+Ut non elit sit amet urna luctus facilisis vel et sapien. Morbi nec metus at libero imperdiet sollicitudin eget quis lacus. Donec in ipsum at enim accumsan tempor vel sed magna. Aliquam non imperdiet neque. Etiam pharetra neque sed pretium interdum. Suspendisse potenti. Phasellus varius, lectus quis dapibus faucibus, purus mauris accumsan nibh, vel tempor quam metus nec sem. Nunc sagittis suscipit lorem eu finibus. Nullam augue leo, imperdiet vel diam et, vulputate scelerisque turpis. Nullam ut volutpat diam. Praesent cursus accumsan dui a commodo. Vivamus sed libero sed turpis facilisis rutrum id sed ligula. Ut id sollicitudin dui. Nulla pulvinar commodo lectus. Cras ut quam congue, consectetur dolor ac, consequat ante.
+
+Curabitur scelerisque sed leo eu facilisis. Nam faucibus neque eget dictum hendrerit. Duis efficitur ex sed vulputate volutpat. Praesent condimentum nisl ac sapien efficitur laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut ut nibh elit. Nunc a neque lobortis, tempus diam vitae, interdum magna. Aenean eget nisl sed justo volutpat interdum. Mauris malesuada ex nisl, a dignissim dui elementum eget. Suspendisse potenti.
+
+Praesent congue fringilla sem sed faucibus. Vivamus malesuada eget mauris at molestie. In sed faucibus nulla. Vivamus elementum accumsan metus quis suscipit. Maecenas interdum est nulla. Cras volutpat cursus nibh quis sollicitudin. Morbi vitae massa laoreet, aliquet tellus quis, consectetur ipsum. Mauris euismod congue purus non condimentum. Etiam laoreet mi vel sem consectetur gravida. Vestibulum volutpat magna nunc, vitae ultrices risus commodo eu.
+
+Hopefully everything above was rendered nicely, on both desktop and mobile.
diff --git a/sitefix-book/src/individual/strikethrough.md b/sitefix-book/src/individual/strikethrough.md
new file mode 100644
index 0000000..4ce62cb
--- /dev/null
+++ b/sitefix-book/src/individual/strikethrough.md
@@ -0,0 +1,5 @@
+# Strikethrough
+
+~~This is Striked~~
+
+~~This is **strong**, _italic_ , **_both_** and striked~~
diff --git a/sitefix-book/src/individual/table.md b/sitefix-book/src/individual/table.md
new file mode 100644
index 0000000..4358001
--- /dev/null
+++ b/sitefix-book/src/individual/table.md
@@ -0,0 +1,28 @@
+# Tables
+
+| col1 | col2 |
+| ---- | ---- |
+
+---
+
+| col1 | col2 |
+| ---- | ---- |
+| val1 | val2 |
+
+---
+
+| col1 | col2 | col 3 | col 4 | col 5 | col 6 |
+| ---- | ---- | ----- | ----- | ----- | ----- |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+
+---
+
+| col1                                                                                                           | col2 | col 3                                                                                                          | col 4                                                                                                          | col 5 | col 6                                                                                                          |
+| -------------------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------- |
+| This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | val2 | val3                                                                                                           | val5                                                                                                           | val4  | val6                                                                                                           |
+| val1                                                                                                           | val2 | val3                                                                                                           | val5                                                                                                           | val4  | val6                                                                                                           |
+| val1                                                                                                           | val2 | val3                                                                                                           | val5                                                                                                           | val4  | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. |
+| val1                                                                                                           | val2 | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | val4  | val6                                                                                                           |
diff --git a/sitefix-book/src/individual/task.md b/sitefix-book/src/individual/task.md
new file mode 100644
index 0000000..8432772
--- /dev/null
+++ b/sitefix-book/src/individual/task.md
@@ -0,0 +1,11 @@
+# Tasks
+
+- [ ] Task 1
+- [ ] Task 2
+- [x] Completed Task 1
+- [x] Completed Task 2
+
+---
+
+- [ ] **Important Task**
+- [x] _Completed Important task_
diff --git a/sitefix-book/src/languages/README.md b/sitefix-book/src/languages/README.md
new file mode 100644
index 0000000..fc17233
--- /dev/null
+++ b/sitefix-book/src/languages/README.md
@@ -0,0 +1,47 @@
+# Syntax Highlighting
+
+This Currently contains following languages
+
+- apache
+- armasm
+- bash
+- c
+- coffeescript
+- cpp
+- csharp
+- css
+- d
+- diff
+- go
+- handlebars
+- haskell
+- http
+- ini
+- java
+- javascript
+- json
+- julia
+- kotlin
+- less
+- lua
+- makefile
+- markdown
+- nginx
+- objectivec
+- perl
+- php
+- plaintext
+- properties
+- python
+- r
+- ruby
+- rust
+- scala
+- scss
+- shell
+- sql
+- swift
+- typescript
+- x86asm
+- xml
+- yaml
diff --git a/sitefix-book/src/languages/highlight.md b/sitefix-book/src/languages/highlight.md
new file mode 100644
index 0000000..3bea52b
--- /dev/null
+++ b/sitefix-book/src/languages/highlight.md
@@ -0,0 +1,930 @@
+# Syntax Highlights
+
+{% raw %}
+## apache
+
+```apache
+# rewrite`s rules for wordpress pretty url
+LoadModule rewrite_module  modules/mod_rewrite.so
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule . index.php [NC,L]
+
+ExpiresActive On
+ExpiresByType application/x-javascript  "access plus 1 days"
+
+Order Deny,Allow
+Allow from All
+
+<Location /maps/>
+  RewriteMap map txt:map.txt
+  RewriteMap lower int:tolower
+  RewriteCond %{REQUEST_URI} ^/([^/.]+)\.html$ [NC]
+  RewriteCond ${map:${lower:%1}|NOT_FOUND} !NOT_FOUND
+  RewriteRule .? /index.php?q=${map:${lower:%1}} [NC,L]
+</Location>
+
+20.164.151.111 - - [20/Aug/2015:22:20:18 -0400] "GET /mywebpage/index.php HTTP/1.1" 403 772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
+```
+
+## armasm
+
+```armasm
+.data
+
+/* Data segment: define our message string and calculate its length. */
+msg:
+    .ascii      "Hello, ARM!\n"
+len = . - msg
+
+.text
+
+/* Our application's entry point. */
+.globl _start
+_start:
+    /* syscall write(int fd, const void *buf, size_t count) */
+    mov     %r0, $1     /* fd := STDOUT_FILENO */
+    ldr     %r1, =msg   /* buf := msg */
+    ldr     %r2, =len   /* count := len */
+    mov     %r7, $4     /* write is syscall #4 */
+    swi     $0          /* invoke syscall */
+
+    /* syscall exit(int status) */
+    mov     %r0, $0     /* status := 0 */
+    mov     %r7, $1     /* exit is syscall #1 */
+    swi     $0          /* invoke syscall */
+
+```
+
+## bash
+
+```bash
+#!/bin/bash
+
+###### CONFIG
+ACCEPTED_HOSTS="/root/.hag_accepted.conf"
+BE_VERBOSE=false
+
+if [ "$UID" -ne 0 ]
+then
+ echo "Superuser rights required"
+ exit 2
+fi
+
+genApacheConf(){
+ echo -e "# Host ${HOME_DIR}$1/$2 :"
+}
+
+echo '"quoted"' | tr -d \" > text.txt
+
+```
+
+## c
+
+```c
+#include <stdio.h>
+void main(int argc,char ** argv){
+    printf("Hello World!");
+}
+
+```
+
+## coffeescript
+
+```coffeescript
+grade = (student, period=(if b? then 7 else 6)) ->
+  if student.excellentWork
+    "A+"
+  else if student.okayStuff
+    if student.triedHard then "B" else "B-"
+  else
+    "C"
+
+class Animal extends Being
+  constructor: (@name) ->
+
+  move: (meters) ->
+    alert @name + " moved #{meters}m."
+```
+
+## cpp
+
+```cpp
+#include <iostream>
+using namespace std;
+int main() {
+   cout << "Hello, World!" << endl; // This prints Hello, World!
+   return 0;
+}
+```
+
+## csharp
+
+```csharp
+using System;
+class App
+{
+  static void Main()
+  {
+    Console.WriteLine("Hello World!");
+  }
+}
+```
+
+## css
+
+```css
+@font-face {
+  font-family: Chunkfive;
+  src: url('Chunkfive.otf');
+}
+
+body,
+.usertext {
+  color: #f0f0f0;
+  background: #600;
+  font-family: Chunkfive, sans;
+  --heading-1: 30px/32px Helvetica, sans-serif;
+}
+
+@import url(print.css);
+@media print {
+  a[href^='http']::after {
+    content: attr(href);
+  }
+}
+```
+
+## d
+
+```d
+/* This program prints a
+   hello world message
+   to the console.  */
+
+import std.stdio;
+
+void main()
+{
+    writeln("Hello, World!");
+}
+```
+
+## diff
+
+```diff
+Index: languages/ini.js
+===================================================================
+--- languages/ini.js    (revision 199)
++++ languages/ini.js    (revision 200)
+@@ -1,8 +1,7 @@
+ hljs.LANGUAGES.ini =
+ {
+   case_insensitive: true,
+-  defaultMode:
+-  {
++  defaultMode: {
+     contains: ['comment', 'title', 'setting'],
+     illegal: '[^\\s]'
+   },
+
+*** /path/to/original timestamp
+--- /path/to/new      timestamp
+***************
+*** 1,3 ****
+--- 1,9 ----
++ This is an important
++ notice! It should
++ therefore be located at
++ the beginning of this
++ document!
+
+! compress the size of the
+! changes.
+
+  It is important to spell
+```
+
+## go
+
+```go
+package main
+import "fmt"
+
+func main() {
+    fmt.Println("Hello World!")
+}
+```
+
+## handlebars
+
+```handlebars
+<div class='entry'>
+  {{! only show if author exists }}
+  {{#if author}}
+    <h1>{{firstName}} {{lastName}}</h1>
+  {{/if}}
+</div>
+```
+
+## haskell
+
+```haskell
+main :: IO ()
+main = putStrLn "Hello World!"
+
+```
+
+## http
+
+```http
+POST /task?id=1 HTTP/1.1
+Host: example.org
+Content-Type: application/json; charset=utf-8
+Content-Length: 137
+
+{
+  "status": "ok",
+  "extended": true,
+  "results": [
+    {"value": 0, "type": "int64"},
+    {"value": 1.0e+3, "type": "decimal"}
+  ]
+}
+
+```
+
+## ini
+
+```ini
+; boilerplate
+[package]
+name = "some_name"
+authors = ["Author"]
+description = "This is \
+a description"
+
+[[lib]]
+name = ${NAME}
+default = True
+auto = no
+counter = 1_000
+```
+
+## java
+
+```java
+class Main {
+ public static void main(String[] args) {
+    System.out.println("Hello World!");
+  }
+}
+```
+
+## javascript
+
+```javascript
+function $initHighlight(block, cls) {
+  try {
+    if (cls.search(/\bno\-highlight\b/) != -1)
+      return process(block, true, 0x0F) +
+             ` class="${cls}"`;
+  } catch (e) {
+    /* handle exception */
+  }
+  for (var i = 0 / 2; i < classes.length; i++) {
+    if (checkCondition(classes[i]) === undefined)
+      console.log('undefined');
+  }
+
+  return (
+    <div>
+      <web-component>{block}</web-component>
+    </div>
+  )
+}
+
+export  $initHighlight;
+```
+
+## json
+
+```json
+[
+  {
+    "title": "apples",
+    "count": [12000, 20000],
+    "description": { "text": "...", "sensitive": false }
+  },
+  {
+    "title": "oranges",
+    "count": [17500, null],
+    "description": { "text": "...", "sensitive": false }
+  }
+]
+```
+
+## julia
+
+```julia
+# function to calculate the volume of a sphere
+function sphere_vol(r)
+    # julia allows Unicode names (in UTF-8 encoding)
+    # so either "pi" or the symbol π can be used
+    return 4/3*pi*r^3
+end
+
+# functions can also be defined more succinctly
+quadratic(a, sqr_term, b) = (-b + sqr_term) / 2a
+
+# calculates x for 0 = a*x^2+b*x+c, arguments types can be defined in function definitions
+function quadratic2(a::Float64, b::Float64, c::Float64)
+    # unlike other languages 2a is equivalent to 2*a
+    # a^2 is used instead of a**2 or pow(a,2)
+    sqr_term = sqrt(b^2-4a*c)
+    r1 = quadratic(a, sqr_term, b)
+    r2 = quadratic(a, -sqr_term, b)
+    # multiple values can be returned from a function using tuples
+    # if the return keyword is omitted, the last term is returned
+    r1, r2
+end
+
+vol = sphere_vol(3)
+```
+
+## kotlin
+
+```kotlin
+package org.kotlinlang.play
+
+fun main() {
+    println("Hello, World!")
+}
+```
+
+## less
+
+```less
+@import 'fruits';
+
+@rhythm: 1.5em;
+
+@media screen and (min-resolution: 2dppx) {
+  body {
+    font-size: 125%;
+  }
+}
+
+section > .foo + #bar:hover [href*='less'] {
+  margin: @rhythm 0 0 @rhythm;
+  padding: calc(5% + 20px);
+  background: #f00ba7 url(http://placehold.alpha-centauri/42.png) no-repeat;
+  background-image: linear-gradient(-135deg, wheat, fuchsia) !important ;
+  background-blend-mode: multiply;
+}
+
+@font-face {
+  font-family: /* ? */ 'Omega';
+  src: url('../fonts/omega-webfont.woff?v=2.0.2');
+}
+
+.icon-baz::before {
+  display: inline-block;
+  font-family: 'Omega', Alpha, sans-serif;
+  content: '\f085';
+  color: rgba(98, 76 /* or 54 */, 231, 0.75);
+}
+```
+
+## lua
+
+```lua
+--[[
+Simple signal/slot implementation
+]]
+local signal_mt = {
+    __index = {
+        register = table.insert
+    }
+}
+function signal_mt.__index:emit(... --[[ Comment in params ]])
+    for _, slot in ipairs(self) do
+        slot(self, ...)
+    end
+end
+local function create_signal()
+    return setmetatable({}, signal_mt)
+end
+
+-- Signal test
+local signal = create_signal()
+signal:register(function(signal, ...)
+    print(...)
+end)
+signal:emit('Answer to Life, the Universe, and Everything:', 42)
+
+--[==[ [=[ [[
+Nested ]]
+multi-line ]=]
+comment ]==]
+[==[ Nested
+[=[ multi-line
+[[ string
+]] ]=] ]==]
+```
+
+## makefile
+
+```makefile
+# Makefile
+
+BUILDDIR      = _build
+EXTRAS       ?= $(BUILDDIR)/extras
+
+.PHONY: main clean
+
+main:
+	@echo "Building main facility..."
+	build_main $(BUILDDIR)
+
+clean:
+	rm -rf $(BUILDDIR)/*
+
+```
+
+## markdown
+
+```markdown
+# hello world
+
+you can write text [with links](http://example.com) inline or [link references][1].
+
+- one _thing_ has *em*phasis
+- two **things** are **bold**
+
+[1]: http://example.com
+
+---
+
+# hello world
+
+<this_is inline="xml"></this_is>
+
+> markdown is so cool
+
+    so are code segments
+
+1. one thing (yeah!)
+2. two thing `i can write code`, and `more` wipee!
+```
+
+## nginx
+
+```nginx
+user  www www;
+worker_processes  2;
+pid /var/run/nginx.pid;
+error_log  /var/log/nginx.error_log  debug | info | notice | warn | error | crit;
+
+events {
+    connections   2000;
+    use kqueue | rtsig | epoll | /dev/poll | select | poll;
+}
+
+http {
+    log_format main      '$remote_addr - $remote_user [$time_local] '
+                         '"$request" $status $bytes_sent '
+                         '"$http_referer" "$http_user_agent" '
+                         '"$gzip_ratio"';
+
+    send_timeout 3m;
+    client_header_buffer_size 1k;
+
+    gzip on;
+    gzip_min_length 1100;
+
+    #lingering_time 30;
+
+    server {
+        server_name   one.example.com  www.one.example.com;
+        access_log   /var/log/nginx.access_log  main;
+
+        rewrite (.*) /index.php?page=$1 break;
+
+        location / {
+            proxy_pass         http://127.0.0.1/;
+            proxy_redirect     off;
+            proxy_set_header   Host             $host;
+            proxy_set_header   X-Real-IP        $remote_addr;
+            charset            koi8-r;
+        }
+
+        location /api/ {
+            fastcgi_pass 127.0.0.1:9000;
+        }
+
+        location ~* \.(jpg|jpeg|gif)$ {
+            root         /spool/www;
+        }
+    }
+}
+```
+
+## objectivec
+
+```objectivec
+#import <Foundation/Foundation.h>
+
+int main(int argc, const char * argv[]) {
+    @mylak {
+        NSLog(@"Hello World!");
+    }
+    return 0;
+}
+
+```
+
+## perl
+
+```perl
+print "Hello World!\n";
+```
+
+## php
+
+```php
+<?php
+echo "Hello World!";
+?>
+```
+
+## plaintext
+
+```plaintext
+I think this is simply plain text?
+Hello World!
+```
+
+## properties
+
+```properties
+# .properties
+! Exclamation mark = comments, too
+
+key1 = value1
+key2 : value2
+key3   value3
+key\ spaces multiline\
+            value4
+empty_key
+! Key can contain escaped chars
+\:\= = value5
+```
+
+## python
+
+```python
+@requires_authorization(roles=["ADMIN"])
+def somefunc(param1='', param2=0):
+    r'''A docstring'''
+    if param1 > param2: # interesting
+        print 'Gre\'ater'
+    return (param2 - param1 + 1 + 0b10l) or None
+
+class SomeClass:
+    pass
+
+>>> message = '''interpreter
+... prompt'''
+```
+
+## r
+
+```r
+require(stats)
+
+#' Compute different averages
+#'
+#' @param x \code{numeric} vector of sample data
+#' @param type \code{character} vector of length 1 specifying the average type
+#' @return \code{centre} returns the sample average according to the chosen method.
+#' @examples
+#' centre(rcauchy(10), "mean")
+#' @export
+centre <- function(x, type) {
+  switch(type,
+         mean = mean(x),
+         median = median(x),
+         trimmed = mean(x, trim = .1))
+}
+x <- rcauchy(10)
+centre(x, "mean")
+
+library(ggplot2)
+
+models <- tibble::tribble(
+  ~model_name,    ~ formula,
+  "length-width", Sepal.Length ~ Petal.Width + Petal.Length,
+  "interaction",  Sepal.Length ~ Petal.Width * Petal.Length
+)
+
+iris %>%
+  nest_by(Species) %>%
+  left_join(models, by = character()) %>%
+  rowwise(Species, model_name) %>%
+  mutate(model = list(lm(formula, data = data))) %>%
+  summarise(broom::glance(model))
+```
+
+## ruby
+
+```ruby
+# The Greeter class
+class Greeter
+  def initialize(name)
+    @name = name.capitalize
+  end
+
+  def salute
+    puts "Hello #{@name}!"
+  end
+end
+
+g = Greeter.new("world")
+g.salute
+```
+
+## rust
+
+```rust
+fn main()->(){
+    println!("Hello World!");
+}
+```
+
+## scala
+
+```scala
+/**
+ * A person has a name and an age.
+ */
+case class Person(name: String, age: Int)
+
+abstract class Vertical extends CaseJeu
+case class Haut(a: Int) extends Vertical
+case class Bas(name: String, b: Double) extends Vertical
+
+sealed trait Ior[+A, +B]
+case class Left[A](a: A) extends Ior[A, Nothing]
+case class Right[B](b: B) extends Ior[Nothing, B]
+case class Both[A, B](a: A, b: B) extends Ior[A, B]
+
+trait Functor[F[_]] {
+  def map[A, B](fa: F[A], f: A => B): F[B]
+}
+
+// beware Int.MinValue
+def absoluteValue(n: Int): Int =
+  if (n < 0) -n else n
+
+def interp(n: Int): String =
+  s"there are $n ${color} balloons.\n"
+
+type ξ[A] = (A, A)
+
+trait Hist { lhs =>
+  def ⊕(rhs: Hist): Hist
+}
+
+def gsum[A: Ring](as: Seq[A]): A =
+  as.foldLeft(Ring[A].zero)(_ + _)
+
+val actions: List[Symbol] =
+  'init :: 'read :: 'write :: 'close :: Nil
+```
+
+## scss
+
+```scss
+import "compass/reset";
+
+// variables
+$colorGreen: #008000;
+$colorGreenDark: darken($colorGreen, 10);
+
+@mixin container {
+    max-width: 980px;
+}
+
+// mixins with parameters
+@mixin button($color:green) {
+    @if ($color == green) {
+        background-color: #008000;
+    }
+    @else if ($color == red) {
+        background-color: #B22222;
+    }
+}
+
+button {
+    @include button(red);
+}
+
+div,
+.navbar,
+#header,
+input[type="input"] {
+    font-family: "Helvetica Neue", Arial, sans-serif;
+    width: auto;
+    margin: 0 auto;
+    display: block;
+}
+
+.row-12 > [class*="spans"] {
+    border-left: 1px solid #B5C583;
+}
+
+```
+
+## shell
+
+```shell
+$ echo $EDITOR
+vim
+$ git checkout main
+Switched to branch 'main'
+Your branch is up-to-date with 'origin/main'.
+$ git push
+Everything up-to-date
+$ echo 'All
+> done!'
+All
+done!
+
+```
+
+## sql
+
+```sql
+CREATE TABLE "topic" (
+    "id" integer NOT NULL PRIMARY KEY,
+    "forum_id" integer NOT NULL,
+    "subject" varchar(255) NOT NULL
+);
+ALTER TABLE "topic"
+ADD CONSTRAINT forum_id FOREIGN KEY ("forum_id")
+REFERENCES "forum" ("id");
+
+-- Initials
+insert into "topic" ("forum_id", "subject")
+values (2, 'D''artagnian');
+```
+
+## swift
+
+```swift
+import Foundation
+
+@objc class Person: Entity {
+  var name: String!
+  var age:  Int!
+
+  init(name: String, age: Int) {
+    /* /* ... */ */
+  }
+
+  // Return a descriptive string for this person
+  func description(offset: Int = 0) -> String {
+    return "\(name) is \(age + offset) years old"
+  }
+}
+```
+
+## typescript
+
+```typescript
+class MyClass {
+  public static myValue: string;
+  constructor(init: string) {
+    this.myValue = init;
+  }
+}
+import fs = require("fs");
+module MyModule {
+  export interface MyInterface extends Other {
+    myProperty: any;
+  }
+}
+declare magicNumber number;
+myArray.forEach(() => { }); // fat arrow syntax
+
+```
+
+## x86asm
+
+```x86asm
+section .text
+extern  _MessageBoxA@16
+%if     __NASM_VERSION_ID__ >= 0x02030000
+safeseh handler         ; register handler as "safe handler"
+%endif
+
+handler:
+        push    dword 1 ; MB_OKCANCEL
+        push    dword caption
+        push    dword text
+        push    dword 0
+        call    _MessageBoxA@16
+        sub     eax,1   ; incidentally suits as return value
+                        ; for exception handler
+        ret
+
+global  _main
+_main:  push    dword handler
+        push    dword [fs:0]
+        mov     dword [fs:0], esp
+        xor     eax,eax
+        mov     eax, dword[eax]   ; cause exception
+        pop     dword [fs:0]      ; disengage exception handler
+        add     esp, 4
+        ret
+
+avx2:   vzeroupper
+        push      rbx
+        mov       rbx,   rsp
+        sub       rsp,   0h20
+        vmovdqa   ymm0,  [rcx]
+        vpaddb    ymm0,  [rdx]
+        leave
+        ret
+
+text:   db      'OK to rethrow, CANCEL to generate core dump',0
+caption:db      'SEGV',0
+
+section .drectve info
+        db      '/defaultlib:user32.lib /defaultlib:msvcrt.lib '
+```
+
+## xml
+
+```xml
+<!DOCTYPE html>
+<title>Title</title>
+
+<style>body {width: 500px;}</style>
+
+<script type="application/javascript">
+  function $init() {return true;}
+</script>
+
+<body>
+  <p checked class="title" id='title'>Title</p>
+  <!-- here goes the rest of the page -->
+</body>
+```
+
+## yaml
+
+```yaml
+---
+# comment
+string_1: "Bar"
+string_2: 'bar'
+string_3: bar
+inline_keys_ignored: sompath/name/file.jpg
+keywords_in_yaml:
+  - true
+  - false
+  - TRUE
+  - FALSE
+  - 21
+  - 21.0
+  - !!str 123
+"quoted_key": &foobar
+  bar: foo
+  foo:
+  "foo": bar
+
+reference: *foobar
+
+multiline_1: |
+  Multiline
+  String
+multiline_2: >
+  Multiline
+  String
+multiline_3: "
+  Multiline string
+  "
+
+ansible_variables: "foo {{variable}}"
+
+array_nested:
+- a
+- b: 1
+  c: 2
+- b
+- comment
+```
+
+{% endraw %}
diff --git a/sitefix-book/src/prefix.md b/sitefix-book/src/prefix.md
new file mode 100644
index 0000000..1c40c2c
--- /dev/null
+++ b/sitefix-book/src/prefix.md
@@ -0,0 +1,3 @@
+# Prefix Chapter
+
+This is to verify the placement and style of prefix chapter in book index.
diff --git a/sitefix-book/src/rust/README.md b/sitefix-book/src/rust/README.md
new file mode 100644
index 0000000..e3bb350
--- /dev/null
+++ b/sitefix-book/src/rust/README.md
@@ -0,0 +1 @@
+# Rust specific code examples
diff --git a/sitefix-book/src/rust/rust_codeblock.md b/sitefix-book/src/rust/rust_codeblock.md
new file mode 100644
index 0000000..5fb2b72
--- /dev/null
+++ b/sitefix-book/src/rust/rust_codeblock.md
@@ -0,0 +1,27 @@
+## Rust codeblocks
+
+This contains various examples of codeblocks, specific to rust
+
+## Simple
+
+```rust
+fn main(){
+    println!("Hello world!");
+}
+```
+
+## With Hidden lines
+
+```rust
+# fn main(){
+    println!("Hello world!");
+# }
+```
+
+## Editable
+
+```rust,editable
+fn main(){
+    println!("Hello world!");
+}
+```
diff --git a/sitefix-book/src/suffix.md b/sitefix-book/src/suffix.md
new file mode 100644
index 0000000..9d86853
--- /dev/null
+++ b/sitefix-book/src/suffix.md
@@ -0,0 +1,3 @@
+# Suffix Chapter
+
+This is to verify the placement and style of suffix chapter in book index.
diff --git a/src/book/book.rs b/src/book/book.rs
new file mode 100644
index 0000000..96c70ab
--- /dev/null
+++ b/src/book/book.rs
@@ -0,0 +1,638 @@
+use std::collections::VecDeque;
+use std::fmt::{self, Display, Formatter};
+use std::fs::{self, File};
+use std::io::{Read, Write};
+use std::path::{Path, PathBuf};
+
+use super::summary::{parse_summary, Link, SectionNumber, Summary, SummaryItem};
+use crate::config::BuildConfig;
+use crate::errors::*;
+use crate::utils::bracket_escape;
+use log::debug;
+use serde::{Deserialize, Serialize};
+
+/// Load a book into memory from its `src/` directory.
+pub fn load_book<P: AsRef<Path>>(src_dir: P, cfg: &BuildConfig) -> Result<Book> {
+    let src_dir = src_dir.as_ref();
+    let summary_md = src_dir.join("SUMMARY.md");
+
+    let mut summary_content = String::new();
+    File::open(&summary_md)
+        .with_context(|| format!("Couldn't open SUMMARY.md in {:?} directory", src_dir))?
+        .read_to_string(&mut summary_content)?;
+
+    let summary = parse_summary(&summary_content)
+        .with_context(|| format!("Summary parsing failed for file={:?}", summary_md))?;
+
+    if cfg.create_missing {
+        create_missing(src_dir, &summary).with_context(|| "Unable to create missing chapters")?;
+    }
+
+    load_book_from_disk(&summary, src_dir)
+}
+
+fn create_missing(src_dir: &Path, summary: &Summary) -> Result<()> {
+    let mut items: Vec<_> = summary
+        .prefix_chapters
+        .iter()
+        .chain(summary.numbered_chapters.iter())
+        .chain(summary.suffix_chapters.iter())
+        .collect();
+
+    while let Some(next) = items.pop() {
+        if let SummaryItem::Link(ref link) = *next {
+            if let Some(ref location) = link.location {
+                let filename = src_dir.join(location);
+                if !filename.exists() {
+                    if let Some(parent) = filename.parent() {
+                        if !parent.exists() {
+                            fs::create_dir_all(parent)?;
+                        }
+                    }
+                    debug!("Creating missing file {}", filename.display());
+
+                    let mut f = File::create(&filename).with_context(|| {
+                        format!("Unable to create missing file: {}", filename.display())
+                    })?;
+                    writeln!(f, "# {}", bracket_escape(&link.name))?;
+                }
+            }
+
+            items.extend(&link.nested_items);
+        }
+    }
+
+    Ok(())
+}
+
+/// A dumb tree structure representing a book.
+///
+/// For the moment a book is just a collection of [`BookItems`] which are
+/// accessible by either iterating (immutably) over the book with [`iter()`], or
+/// recursively applying a closure to each section to mutate the chapters, using
+/// [`for_each_mut()`].
+///
+/// [`iter()`]: #method.iter
+/// [`for_each_mut()`]: #method.for_each_mut
+#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
+pub struct Book {
+    /// The sections in this book.
+    pub sections: Vec<BookItem>,
+    __non_exhaustive: (),
+}
+
+impl Book {
+    /// Create an empty book.
+    pub fn new() -> Self {
+        Default::default()
+    }
+
+    /// Get a depth-first iterator over the items in the book.
+    pub fn iter(&self) -> BookItems<'_> {
+        BookItems {
+            items: self.sections.iter().collect(),
+        }
+    }
+
+    /// Recursively apply a closure to each item in the book, allowing you to
+    /// mutate them.
+    ///
+    /// # Note
+    ///
+    /// Unlike the `iter()` method, this requires a closure instead of returning
+    /// an iterator. This is because using iterators can possibly allow you
+    /// to have iterator invalidation errors.
+    pub fn for_each_mut<F>(&mut self, mut func: F)
+    where
+        F: FnMut(&mut BookItem),
+    {
+        for_each_mut(&mut func, &mut self.sections);
+    }
+
+    /// Append a `BookItem` to the `Book`.
+    pub fn push_item<I: Into<BookItem>>(&mut self, item: I) -> &mut Self {
+        self.sections.push(item.into());
+        self
+    }
+}
+
+pub fn for_each_mut<'a, F, I>(func: &mut F, items: I)
+where
+    F: FnMut(&mut BookItem),
+    I: IntoIterator<Item = &'a mut BookItem>,
+{
+    for item in items {
+        if let BookItem::Chapter(ch) = item {
+            for_each_mut(func, &mut ch.sub_items);
+        }
+
+        func(item);
+    }
+}
+
+/// Enum representing any type of item which can be added to a book.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+pub enum BookItem {
+    /// A nested chapter.
+    Chapter(Chapter),
+    /// A section separator.
+    Separator,
+    /// A part title.
+    PartTitle(String),
+}
+
+impl From<Chapter> for BookItem {
+    fn from(other: Chapter) -> BookItem {
+        BookItem::Chapter(other)
+    }
+}
+
+/// The representation of a "chapter", usually mapping to a single file on
+/// disk however it may contain multiple sub-chapters.
+#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
+pub struct Chapter {
+    /// The chapter's name.
+    pub name: String,
+    /// The chapter's contents.
+    pub content: String,
+    /// The chapter's section number, if it has one.
+    pub number: Option<SectionNumber>,
+    /// Nested items.
+    pub sub_items: Vec<BookItem>,
+    /// The chapter's location, relative to the `SUMMARY.md` file.
+    pub path: Option<PathBuf>,
+    /// The chapter's source file, relative to the `SUMMARY.md` file.
+    pub source_path: Option<PathBuf>,
+    /// An ordered list of the names of each chapter above this one in the hierarchy.
+    pub parent_names: Vec<String>,
+}
+
+impl Chapter {
+    /// Create a new chapter with the provided content.
+    pub fn new<P: Into<PathBuf>>(
+        name: &str,
+        content: String,
+        p: P,
+        parent_names: Vec<String>,
+    ) -> Chapter {
+        let path: PathBuf = p.into();
+        Chapter {
+            name: name.to_string(),
+            content,
+            path: Some(path.clone()),
+            source_path: Some(path),
+            parent_names,
+            ..Default::default()
+        }
+    }
+
+    /// Create a new draft chapter that is not attached to a source markdown file (and thus
+    /// has no content).
+    pub fn new_draft(name: &str, parent_names: Vec<String>) -> Self {
+        Chapter {
+            name: name.to_string(),
+            content: String::new(),
+            path: None,
+            source_path: None,
+            parent_names,
+            ..Default::default()
+        }
+    }
+
+    /// Check if the chapter is a draft chapter, meaning it has no path to a source markdown file.
+    pub fn is_draft_chapter(&self) -> bool {
+        self.path.is_none()
+    }
+}
+
+/// Use the provided `Summary` to load a `Book` from disk.
+///
+/// You need to pass in the book's source directory because all the links in
+/// `SUMMARY.md` give the chapter locations relative to it.
+pub(crate) fn load_book_from_disk<P: AsRef<Path>>(summary: &Summary, src_dir: P) -> Result<Book> {
+    debug!("Loading the book from disk");
+    let src_dir = src_dir.as_ref();
+
+    let prefix = summary.prefix_chapters.iter();
+    let numbered = summary.numbered_chapters.iter();
+    let suffix = summary.suffix_chapters.iter();
+
+    let summary_items = prefix.chain(numbered).chain(suffix);
+
+    let mut chapters = Vec::new();
+
+    for summary_item in summary_items {
+        let chapter = load_summary_item(summary_item, src_dir, Vec::new())?;
+        chapters.push(chapter);
+    }
+
+    Ok(Book {
+        sections: chapters,
+        __non_exhaustive: (),
+    })
+}
+
+fn load_summary_item<P: AsRef<Path> + Clone>(
+    item: &SummaryItem,
+    src_dir: P,
+    parent_names: Vec<String>,
+) -> Result<BookItem> {
+    match item {
+        SummaryItem::Separator => Ok(BookItem::Separator),
+        SummaryItem::Link(ref link) => {
+            load_chapter(link, src_dir, parent_names).map(BookItem::Chapter)
+        }
+        SummaryItem::PartTitle(title) => Ok(BookItem::PartTitle(title.clone())),
+    }
+}
+
+fn load_chapter<P: AsRef<Path>>(
+    link: &Link,
+    src_dir: P,
+    parent_names: Vec<String>,
+) -> Result<Chapter> {
+    let src_dir = src_dir.as_ref();
+
+    let mut ch = if let Some(ref link_location) = link.location {
+        debug!("Loading {} ({})", link.name, link_location.display());
+
+        let location = if link_location.is_absolute() {
+            link_location.clone()
+        } else {
+            src_dir.join(link_location)
+        };
+
+        let mut f = File::open(&location)
+            .with_context(|| format!("Chapter file not found, {}", link_location.display()))?;
+
+        let mut content = String::new();
+        f.read_to_string(&mut content).with_context(|| {
+            format!("Unable to read \"{}\" ({})", link.name, location.display())
+        })?;
+
+        if content.as_bytes().starts_with(b"\xef\xbb\xbf") {
+            content.replace_range(..3, "");
+        }
+
+        let stripped = location
+            .strip_prefix(src_dir)
+            .expect("Chapters are always inside a book");
+
+        Chapter::new(&link.name, content, stripped, parent_names.clone())
+    } else {
+        Chapter::new_draft(&link.name, parent_names.clone())
+    };
+
+    let mut sub_item_parents = parent_names;
+
+    ch.number = link.number.clone();
+
+    sub_item_parents.push(link.name.clone());
+    let sub_items = link
+        .nested_items
+        .iter()
+        .map(|i| load_summary_item(i, src_dir, sub_item_parents.clone()))
+        .collect::<Result<Vec<_>>>()?;
+
+    ch.sub_items = sub_items;
+
+    Ok(ch)
+}
+
+/// A depth-first iterator over the items in a book.
+///
+/// # Note
+///
+/// This struct shouldn't be created directly, instead prefer the
+/// [`Book::iter()`] method.
+pub struct BookItems<'a> {
+    items: VecDeque<&'a BookItem>,
+}
+
+impl<'a> Iterator for BookItems<'a> {
+    type Item = &'a BookItem;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        let item = self.items.pop_front();
+
+        if let Some(BookItem::Chapter(ch)) = item {
+            // if we wanted a breadth-first iterator we'd `extend()` here
+            for sub_item in ch.sub_items.iter().rev() {
+                self.items.push_front(sub_item);
+            }
+        }
+
+        item
+    }
+}
+
+impl Display for Chapter {
+    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+        if let Some(ref section_number) = self.number {
+            write!(f, "{} ", section_number)?;
+        }
+
+        write!(f, "{}", self.name)
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use std::io::Write;
+    use tempfile::{Builder as TempFileBuilder, TempDir};
+
+    const DUMMY_SRC: &str = "
+# Dummy Chapter
+
+this is some dummy text.
+
+And here is some \
+                                     more text.
+";
+
+    /// Create a dummy `Link` in a temporary directory.
+    fn dummy_link() -> (Link, TempDir) {
+        let temp = TempFileBuilder::new().prefix("book").tempdir().unwrap();
+
+        let chapter_path = temp.path().join("chapter_1.md");
+        File::create(&chapter_path)
+            .unwrap()
+            .write_all(DUMMY_SRC.as_bytes())
+            .unwrap();
+
+        let link = Link::new("Chapter 1", chapter_path);
+
+        (link, temp)
+    }
+
+    /// Create a nested `Link` written to a temporary directory.
+    fn nested_links() -> (Link, TempDir) {
+        let (mut root, temp_dir) = dummy_link();
+
+        let second_path = temp_dir.path().join("second.md");
+
+        File::create(&second_path)
+            .unwrap()
+            .write_all(b"Hello World!")
+            .unwrap();
+
+        let mut second = Link::new("Nested Chapter 1", &second_path);
+        second.number = Some(SectionNumber(vec![1, 2]));
+
+        root.nested_items.push(second.clone().into());
+        root.nested_items.push(SummaryItem::Separator);
+        root.nested_items.push(second.into());
+
+        (root, temp_dir)
+    }
+
+    #[test]
+    fn load_a_single_chapter_from_disk() {
+        let (link, temp_dir) = dummy_link();
+        let should_be = Chapter::new(
+            "Chapter 1",
+            DUMMY_SRC.to_string(),
+            "chapter_1.md",
+            Vec::new(),
+        );
+
+        let got = load_chapter(&link, temp_dir.path(), Vec::new()).unwrap();
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn load_a_single_chapter_with_utf8_bom_from_disk() {
+        let temp_dir = TempFileBuilder::new().prefix("book").tempdir().unwrap();
+
+        let chapter_path = temp_dir.path().join("chapter_1.md");
+        File::create(&chapter_path)
+            .unwrap()
+            .write_all(("\u{feff}".to_owned() + DUMMY_SRC).as_bytes())
+            .unwrap();
+
+        let link = Link::new("Chapter 1", chapter_path);
+
+        let should_be = Chapter::new(
+            "Chapter 1",
+            DUMMY_SRC.to_string(),
+            "chapter_1.md",
+            Vec::new(),
+        );
+
+        let got = load_chapter(&link, temp_dir.path(), Vec::new()).unwrap();
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn cant_load_a_nonexistent_chapter() {
+        let link = Link::new("Chapter 1", "/foo/bar/baz.md");
+
+        let got = load_chapter(&link, "", Vec::new());
+        assert!(got.is_err());
+    }
+
+    #[test]
+    fn load_recursive_link_with_separators() {
+        let (root, temp) = nested_links();
+
+        let nested = Chapter {
+            name: String::from("Nested Chapter 1"),
+            content: String::from("Hello World!"),
+            number: Some(SectionNumber(vec![1, 2])),
+            path: Some(PathBuf::from("second.md")),
+            source_path: Some(PathBuf::from("second.md")),
+            parent_names: vec![String::from("Chapter 1")],
+            sub_items: Vec::new(),
+        };
+        let should_be = BookItem::Chapter(Chapter {
+            name: String::from("Chapter 1"),
+            content: String::from(DUMMY_SRC),
+            number: None,
+            path: Some(PathBuf::from("chapter_1.md")),
+            source_path: Some(PathBuf::from("chapter_1.md")),
+            parent_names: Vec::new(),
+            sub_items: vec![
+                BookItem::Chapter(nested.clone()),
+                BookItem::Separator,
+                BookItem::Chapter(nested),
+            ],
+        });
+
+        let got = load_summary_item(&SummaryItem::Link(root), temp.path(), Vec::new()).unwrap();
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn load_a_book_with_a_single_chapter() {
+        let (link, temp) = dummy_link();
+        let summary = Summary {
+            numbered_chapters: vec![SummaryItem::Link(link)],
+            ..Default::default()
+        };
+        let should_be = Book {
+            sections: vec![BookItem::Chapter(Chapter {
+                name: String::from("Chapter 1"),
+                content: String::from(DUMMY_SRC),
+                path: Some(PathBuf::from("chapter_1.md")),
+                source_path: Some(PathBuf::from("chapter_1.md")),
+                ..Default::default()
+            })],
+            ..Default::default()
+        };
+
+        let got = load_book_from_disk(&summary, temp.path()).unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn book_iter_iterates_over_sequential_items() {
+        let book = Book {
+            sections: vec![
+                BookItem::Chapter(Chapter {
+                    name: String::from("Chapter 1"),
+                    content: String::from(DUMMY_SRC),
+                    ..Default::default()
+                }),
+                BookItem::Separator,
+            ],
+            ..Default::default()
+        };
+
+        let should_be: Vec<_> = book.sections.iter().collect();
+
+        let got: Vec<_> = book.iter().collect();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn iterate_over_nested_book_items() {
+        let book = Book {
+            sections: vec![
+                BookItem::Chapter(Chapter {
+                    name: String::from("Chapter 1"),
+                    content: String::from(DUMMY_SRC),
+                    number: None,
+                    path: Some(PathBuf::from("Chapter_1/index.md")),
+                    source_path: Some(PathBuf::from("Chapter_1/index.md")),
+                    parent_names: Vec::new(),
+                    sub_items: vec![
+                        BookItem::Chapter(Chapter::new(
+                            "Hello World",
+                            String::new(),
+                            "Chapter_1/hello.md",
+                            Vec::new(),
+                        )),
+                        BookItem::Separator,
+                        BookItem::Chapter(Chapter::new(
+                            "Goodbye World",
+                            String::new(),
+                            "Chapter_1/goodbye.md",
+                            Vec::new(),
+                        )),
+                    ],
+                }),
+                BookItem::Separator,
+            ],
+            ..Default::default()
+        };
+
+        let got: Vec<_> = book.iter().collect();
+
+        assert_eq!(got.len(), 5);
+
+        // checking the chapter names are in the order should be sufficient here...
+        let chapter_names: Vec<String> = got
+            .into_iter()
+            .filter_map(|i| match *i {
+                BookItem::Chapter(ref ch) => Some(ch.name.clone()),
+                _ => None,
+            })
+            .collect();
+        let should_be: Vec<_> = vec![
+            String::from("Chapter 1"),
+            String::from("Hello World"),
+            String::from("Goodbye World"),
+        ];
+
+        assert_eq!(chapter_names, should_be);
+    }
+
+    #[test]
+    fn for_each_mut_visits_all_items() {
+        let mut book = Book {
+            sections: vec![
+                BookItem::Chapter(Chapter {
+                    name: String::from("Chapter 1"),
+                    content: String::from(DUMMY_SRC),
+                    number: None,
+                    path: Some(PathBuf::from("Chapter_1/index.md")),
+                    source_path: Some(PathBuf::from("Chapter_1/index.md")),
+                    parent_names: Vec::new(),
+                    sub_items: vec![
+                        BookItem::Chapter(Chapter::new(
+                            "Hello World",
+                            String::new(),
+                            "Chapter_1/hello.md",
+                            Vec::new(),
+                        )),
+                        BookItem::Separator,
+                        BookItem::Chapter(Chapter::new(
+                            "Goodbye World",
+                            String::new(),
+                            "Chapter_1/goodbye.md",
+                            Vec::new(),
+                        )),
+                    ],
+                }),
+                BookItem::Separator,
+            ],
+            ..Default::default()
+        };
+
+        let num_items = book.iter().count();
+        let mut visited = 0;
+
+        book.for_each_mut(|_| visited += 1);
+
+        assert_eq!(visited, num_items);
+    }
+
+    #[test]
+    fn cant_load_chapters_with_an_empty_path() {
+        let (_, temp) = dummy_link();
+        let summary = Summary {
+            numbered_chapters: vec![SummaryItem::Link(Link {
+                name: String::from("Empty"),
+                location: Some(PathBuf::from("")),
+                ..Default::default()
+            })],
+
+            ..Default::default()
+        };
+
+        let got = load_book_from_disk(&summary, temp.path());
+        assert!(got.is_err());
+    }
+
+    #[test]
+    fn cant_load_chapters_when_the_link_is_a_directory() {
+        let (_, temp) = dummy_link();
+        let dir = temp.path().join("nested");
+        fs::create_dir(&dir).unwrap();
+
+        let summary = Summary {
+            numbered_chapters: vec![SummaryItem::Link(Link {
+                name: String::from("nested"),
+                location: Some(dir),
+                ..Default::default()
+            })],
+            ..Default::default()
+        };
+
+        let got = load_book_from_disk(&summary, temp.path());
+        assert!(got.is_err());
+    }
+}
diff --git a/src/book/init.rs b/src/book/init.rs
new file mode 100644
index 0000000..faca1d0
--- /dev/null
+++ b/src/book/init.rs
@@ -0,0 +1,221 @@
+use std::fs::{self, File};
+use std::io::Write;
+use std::path::PathBuf;
+
+use super::MDBook;
+use crate::config::Config;
+use crate::errors::*;
+use crate::theme;
+use crate::utils::fs::write_file;
+use log::{debug, error, info, trace};
+
+/// A helper for setting up a new book and its directory structure.
+#[derive(Debug, Clone, PartialEq)]
+pub struct BookBuilder {
+    root: PathBuf,
+    create_gitignore: bool,
+    config: Config,
+    copy_theme: bool,
+}
+
+impl BookBuilder {
+    /// Create a new `BookBuilder` which will generate a book in the provided
+    /// root directory.
+    pub fn new<P: Into<PathBuf>>(root: P) -> BookBuilder {
+        BookBuilder {
+            root: root.into(),
+            create_gitignore: false,
+            config: Config::default(),
+            copy_theme: false,
+        }
+    }
+
+    /// Set the [`Config`] to be used.
+    pub fn with_config(&mut self, cfg: Config) -> &mut BookBuilder {
+        self.config = cfg;
+        self
+    }
+
+    /// Get the config used by the `BookBuilder`.
+    pub fn config(&self) -> &Config {
+        &self.config
+    }
+
+    /// Should the theme be copied into the generated book (so users can tweak
+    /// it)?
+    pub fn copy_theme(&mut self, copy: bool) -> &mut BookBuilder {
+        self.copy_theme = copy;
+        self
+    }
+
+    /// Should we create a `.gitignore` file?
+    pub fn create_gitignore(&mut self, create: bool) -> &mut BookBuilder {
+        self.create_gitignore = create;
+        self
+    }
+
+    /// Generate the actual book. This will:
+    ///
+    /// - Create the directory structure.
+    /// - Stub out some dummy chapters and the `SUMMARY.md`.
+    /// - Create a `.gitignore` (if applicable)
+    /// - Create a themes directory and populate it (if applicable)
+    /// - Generate a `book.toml` file,
+    /// - Then load the book so we can build it or run tests.
+    pub fn build(&self) -> Result<MDBook> {
+        info!("Creating a new book with stub content");
+
+        self.create_directory_structure()
+            .with_context(|| "Unable to create directory structure")?;
+
+        self.create_stub_files()
+            .with_context(|| "Unable to create stub files")?;
+
+        if self.create_gitignore {
+            self.build_gitignore()
+                .with_context(|| "Unable to create .gitignore")?;
+        }
+
+        if self.copy_theme {
+            self.copy_across_theme()
+                .with_context(|| "Unable to copy across the theme")?;
+        }
+
+        self.write_book_toml()?;
+
+        match MDBook::load(&self.root) {
+            Ok(book) => Ok(book),
+            Err(e) => {
+                error!("{}", e);
+
+                panic!(
+                    "The BookBuilder should always create a valid book. If you are seeing this it \
+                     is a bug and should be reported."
+                );
+            }
+        }
+    }
+
+    fn write_book_toml(&self) -> Result<()> {
+        debug!("Writing book.toml");
+        let book_toml = self.root.join("book.toml");
+        let cfg = toml::to_vec(&self.config).with_context(|| "Unable to serialize the config")?;
+
+        File::create(book_toml)
+            .with_context(|| "Couldn't create book.toml")?
+            .write_all(&cfg)
+            .with_context(|| "Unable to write config to book.toml")?;
+        Ok(())
+    }
+
+    fn copy_across_theme(&self) -> Result<()> {
+        debug!("Copying theme");
+
+        let html_config = self.config.html_config().unwrap_or_default();
+        let themedir = html_config.theme_dir(&self.root);
+
+        if !themedir.exists() {
+            debug!(
+                "{} does not exist, creating the directory",
+                themedir.display()
+            );
+            fs::create_dir(&themedir)?;
+        }
+
+        let mut index = File::create(themedir.join("index.hbs"))?;
+        index.write_all(theme::INDEX)?;
+
+        let cssdir = themedir.join("css");
+        if !cssdir.exists() {
+            fs::create_dir(&cssdir)?;
+        }
+
+        let mut general_css = File::create(cssdir.join("general.css"))?;
+        general_css.write_all(theme::GENERAL_CSS)?;
+
+        let mut chrome_css = File::create(cssdir.join("chrome.css"))?;
+        chrome_css.write_all(theme::CHROME_CSS)?;
+
+        if html_config.print.enable {
+            let mut print_css = File::create(cssdir.join("print.css"))?;
+            print_css.write_all(theme::PRINT_CSS)?;
+        }
+
+        let mut variables_css = File::create(cssdir.join("variables.css"))?;
+        variables_css.write_all(theme::VARIABLES_CSS)?;
+
+        let mut favicon = File::create(themedir.join("favicon.png"))?;
+        favicon.write_all(theme::FAVICON_PNG)?;
+
+        let mut favicon = File::create(themedir.join("favicon.svg"))?;
+        favicon.write_all(theme::FAVICON_SVG)?;
+
+        let mut js = File::create(themedir.join("book.js"))?;
+        js.write_all(theme::JS)?;
+
+        let mut highlight_css = File::create(themedir.join("highlight.css"))?;
+        highlight_css.write_all(theme::HIGHLIGHT_CSS)?;
+
+        let mut highlight_js = File::create(themedir.join("highlight.js"))?;
+        highlight_js.write_all(theme::HIGHLIGHT_JS)?;
+
+        write_file(&themedir.join("fonts"), "fonts.css", theme::fonts::CSS)?;
+        for (file_name, contents) in theme::fonts::LICENSES {
+            write_file(&themedir, file_name, contents)?;
+        }
+        for (file_name, contents) in theme::fonts::OPEN_SANS.iter() {
+            write_file(&themedir, file_name, contents)?;
+        }
+        write_file(
+            &themedir,
+            theme::fonts::SOURCE_CODE_PRO.0,
+            theme::fonts::SOURCE_CODE_PRO.1,
+        )?;
+
+        Ok(())
+    }
+
+    fn build_gitignore(&self) -> Result<()> {
+        debug!("Creating .gitignore");
+
+        let mut f = File::create(self.root.join(".gitignore"))?;
+
+        writeln!(f, "{}", self.config.build.build_dir.display())?;
+
+        Ok(())
+    }
+
+    fn create_stub_files(&self) -> Result<()> {
+        debug!("Creating example book contents");
+        let src_dir = self.root.join(&self.config.book.src);
+
+        let summary = src_dir.join("SUMMARY.md");
+        if !summary.exists() {
+            trace!("No summary found creating stub summary and chapter_1.md.");
+            let mut f = File::create(&summary).with_context(|| "Unable to create SUMMARY.md")?;
+            writeln!(f, "# Summary")?;
+            writeln!(f)?;
+            writeln!(f, "- [Chapter 1](./chapter_1.md)")?;
+
+            let chapter_1 = src_dir.join("chapter_1.md");
+            let mut f = File::create(chapter_1).with_context(|| "Unable to create chapter_1.md")?;
+            writeln!(f, "# Chapter 1")?;
+        } else {
+            trace!("Existing summary found, no need to create stub files.");
+        }
+        Ok(())
+    }
+
+    fn create_directory_structure(&self) -> Result<()> {
+        debug!("Creating directory tree");
+        fs::create_dir_all(&self.root)?;
+
+        let src = self.root.join(&self.config.book.src);
+        fs::create_dir_all(src)?;
+
+        let build = self.root.join(&self.config.build.build_dir);
+        fs::create_dir_all(build)?;
+
+        Ok(())
+    }
+}
diff --git a/src/book/mod.rs b/src/book/mod.rs
new file mode 100644
index 0000000..a5e3e78
--- /dev/null
+++ b/src/book/mod.rs
@@ -0,0 +1,877 @@
+//! The internal representation of a book and infrastructure for loading it from
+//! disk and building it.
+//!
+//! For examples on using `MDBook`, consult the [top-level documentation][1].
+//!
+//! [1]: ../index.html
+
+#[allow(clippy::module_inception)]
+mod book;
+mod init;
+mod summary;
+
+pub use self::book::{load_book, Book, BookItem, BookItems, Chapter};
+pub use self::init::BookBuilder;
+pub use self::summary::{parse_summary, Link, SectionNumber, Summary, SummaryItem};
+
+use log::{debug, error, info, log_enabled, trace, warn};
+use std::io::Write;
+use std::path::PathBuf;
+use std::process::Command;
+use std::string::ToString;
+use tempfile::Builder as TempFileBuilder;
+use toml::Value;
+use topological_sort::TopologicalSort;
+
+use crate::errors::*;
+use crate::preprocess::{
+    CmdPreprocessor, IndexPreprocessor, LinkPreprocessor, Preprocessor, PreprocessorContext,
+};
+use crate::renderer::{CmdRenderer, HtmlHandlebars, MarkdownRenderer, RenderContext, Renderer};
+use crate::utils;
+
+use crate::config::{Config, RustEdition};
+
+/// The object used to manage and build a book.
+pub struct MDBook {
+    /// The book's root directory.
+    pub root: PathBuf,
+    /// The configuration used to tweak now a book is built.
+    pub config: Config,
+    /// A representation of the book's contents in memory.
+    pub book: Book,
+    renderers: Vec<Box<dyn Renderer>>,
+
+    /// List of pre-processors to be run on the book.
+    preprocessors: Vec<Box<dyn Preprocessor>>,
+}
+
+impl MDBook {
+    /// Load a book from its root directory on disk.
+    pub fn load<P: Into<PathBuf>>(book_root: P) -> Result<MDBook> {
+        let book_root = book_root.into();
+        let config_location = book_root.join("book.toml");
+
+        // the book.json file is no longer used, so we should emit a warning to
+        // let people know to migrate to book.toml
+        if book_root.join("book.json").exists() {
+            warn!("It appears you are still using book.json for configuration.");
+            warn!("This format is no longer used, so you should migrate to the");
+            warn!("book.toml format.");
+            warn!("Check the user guide for migration information:");
+            warn!("\thttps://rust-lang.github.io/mdBook/format/config.html");
+        }
+
+        let mut config = if config_location.exists() {
+            debug!("Loading config from {}", config_location.display());
+            Config::from_disk(&config_location)?
+        } else {
+            Config::default()
+        };
+
+        config.update_from_env();
+
+        if config
+            .html_config()
+            .map_or(false, |html| html.google_analytics.is_some())
+        {
+            warn!(
+                "The output.html.google-analytics field has been deprecated; \
+                 it will be removed in a future release.\n\
+                 Consider placing the appropriate site tag code into the \
+                 theme/head.hbs file instead.\n\
+                 The tracking code may be found in the Google Analytics Admin page.\n\
+               "
+            );
+        }
+
+        if log_enabled!(log::Level::Trace) {
+            for line in format!("Config: {:#?}", config).lines() {
+                trace!("{}", line);
+            }
+        }
+
+        MDBook::load_with_config(book_root, config)
+    }
+
+    /// Load a book from its root directory using a custom `Config`.
+    pub fn load_with_config<P: Into<PathBuf>>(book_root: P, config: Config) -> Result<MDBook> {
+        let root = book_root.into();
+
+        let src_dir = root.join(&config.book.src);
+        let book = book::load_book(src_dir, &config.build)?;
+
+        let renderers = determine_renderers(&config);
+        let preprocessors = determine_preprocessors(&config)?;
+
+        Ok(MDBook {
+            root,
+            config,
+            book,
+            renderers,
+            preprocessors,
+        })
+    }
+
+    /// Load a book from its root directory using a custom `Config` and a custom summary.
+    pub fn load_with_config_and_summary<P: Into<PathBuf>>(
+        book_root: P,
+        config: Config,
+        summary: Summary,
+    ) -> Result<MDBook> {
+        let root = book_root.into();
+
+        let src_dir = root.join(&config.book.src);
+        let book = book::load_book_from_disk(&summary, src_dir)?;
+
+        let renderers = determine_renderers(&config);
+        let preprocessors = determine_preprocessors(&config)?;
+
+        Ok(MDBook {
+            root,
+            config,
+            book,
+            renderers,
+            preprocessors,
+        })
+    }
+
+    /// Returns a flat depth-first iterator over the elements of the book,
+    /// it returns a [`BookItem`] enum:
+    /// `(section: String, bookitem: &BookItem)`
+    ///
+    /// ```no_run
+    /// # use mdbook::MDBook;
+    /// # use mdbook::book::BookItem;
+    /// # let book = MDBook::load("mybook").unwrap();
+    /// for item in book.iter() {
+    ///     match *item {
+    ///         BookItem::Chapter(ref chapter) => {},
+    ///         BookItem::Separator => {},
+    ///         BookItem::PartTitle(ref title) => {}
+    ///     }
+    /// }
+    ///
+    /// // would print something like this:
+    /// // 1. Chapter 1
+    /// // 1.1 Sub Chapter
+    /// // 1.2 Sub Chapter
+    /// // 2. Chapter 2
+    /// //
+    /// // etc.
+    /// ```
+    pub fn iter(&self) -> BookItems<'_> {
+        self.book.iter()
+    }
+
+    /// `init()` gives you a `BookBuilder` which you can use to setup a new book
+    /// and its accompanying directory structure.
+    ///
+    /// The `BookBuilder` creates some boilerplate files and directories to get
+    /// you started with your book.
+    ///
+    /// ```text
+    /// book-test/
+    /// ├── book
+    /// └── src
+    ///     ├── chapter_1.md
+    ///     └── SUMMARY.md
+    /// ```
+    ///
+    /// It uses the path provided as the root directory for your book, then adds
+    /// in a `src/` directory containing a `SUMMARY.md` and `chapter_1.md` file
+    /// to get you started.
+    pub fn init<P: Into<PathBuf>>(book_root: P) -> BookBuilder {
+        BookBuilder::new(book_root)
+    }
+
+    /// Tells the renderer to build our book and put it in the build directory.
+    pub fn build(&self) -> Result<()> {
+        info!("Book building has started");
+
+        for renderer in &self.renderers {
+            self.execute_build_process(&**renderer)?;
+        }
+
+        Ok(())
+    }
+
+    /// Run preprocessors and return the final book.
+    pub fn preprocess_book(&self, renderer: &dyn Renderer) -> Result<(Book, PreprocessorContext)> {
+        let preprocess_ctx = PreprocessorContext::new(
+            self.root.clone(),
+            self.config.clone(),
+            renderer.name().to_string(),
+        );
+        let mut preprocessed_book = self.book.clone();
+        for preprocessor in &self.preprocessors {
+            if preprocessor_should_run(&**preprocessor, renderer, &self.config) {
+                debug!("Running the {} preprocessor.", preprocessor.name());
+                preprocessed_book = preprocessor.run(&preprocess_ctx, preprocessed_book)?;
+            }
+        }
+        Ok((preprocessed_book, preprocess_ctx))
+    }
+
+    /// Run the entire build process for a particular [`Renderer`].
+    pub fn execute_build_process(&self, renderer: &dyn Renderer) -> Result<()> {
+        let (preprocessed_book, preprocess_ctx) = self.preprocess_book(renderer)?;
+
+        let name = renderer.name();
+        let build_dir = self.build_dir_for(name);
+
+        let mut render_context = RenderContext::new(
+            self.root.clone(),
+            preprocessed_book,
+            self.config.clone(),
+            build_dir,
+        );
+        render_context
+            .chapter_titles
+            .extend(preprocess_ctx.chapter_titles.borrow_mut().drain());
+
+        info!("Running the {} backend", renderer.name());
+        renderer
+            .render(&render_context)
+            .with_context(|| "Rendering failed")
+    }
+
+    /// You can change the default renderer to another one by using this method.
+    /// The only requirement is that your renderer implement the [`Renderer`]
+    /// trait.
+    pub fn with_renderer<R: Renderer + 'static>(&mut self, renderer: R) -> &mut Self {
+        self.renderers.push(Box::new(renderer));
+        self
+    }
+
+    /// Register a [`Preprocessor`] to be used when rendering the book.
+    pub fn with_preprocessor<P: Preprocessor + 'static>(&mut self, preprocessor: P) -> &mut Self {
+        self.preprocessors.push(Box::new(preprocessor));
+        self
+    }
+
+    /// Run `rustdoc` tests on the book, linking against the provided libraries.
+    pub fn test(&mut self, library_paths: Vec<&str>) -> Result<()> {
+        // test_chapter with chapter:None will run all tests.
+        self.test_chapter(library_paths, None)
+    }
+
+    /// Run `rustdoc` tests on a specific chapter of the book, linking against the provided libraries.
+    /// If `chapter` is `None`, all tests will be run.
+    pub fn test_chapter(&mut self, library_paths: Vec<&str>, chapter: Option<&str>) -> Result<()> {
+        let library_args: Vec<&str> = (0..library_paths.len())
+            .map(|_| "-L")
+            .zip(library_paths.into_iter())
+            .flat_map(|x| vec![x.0, x.1])
+            .collect();
+
+        let temp_dir = TempFileBuilder::new().prefix("mdbook-").tempdir()?;
+
+        let mut chapter_found = false;
+
+        struct TestRenderer;
+        impl Renderer for TestRenderer {
+            // FIXME: Is "test" the proper renderer name to use here?
+            fn name(&self) -> &str {
+                "test"
+            }
+
+            fn render(&self, _: &RenderContext) -> Result<()> {
+                Ok(())
+            }
+        }
+
+        // Index Preprocessor is disabled so that chapter paths
+        // continue to point to the actual markdown files.
+        self.preprocessors = determine_preprocessors(&self.config)?
+            .into_iter()
+            .filter(|pre| pre.name() != IndexPreprocessor::NAME)
+            .collect();
+        let (book, _) = self.preprocess_book(&TestRenderer)?;
+
+        let mut failed = false;
+        for item in book.iter() {
+            if let BookItem::Chapter(ref ch) = *item {
+                let chapter_path = match ch.path {
+                    Some(ref path) if !path.as_os_str().is_empty() => path,
+                    _ => continue,
+                };
+
+                if let Some(chapter) = chapter {
+                    if ch.name != chapter && chapter_path.to_str() != Some(chapter) {
+                        if chapter == "?" {
+                            info!("Skipping chapter '{}'...", ch.name);
+                        }
+                        continue;
+                    }
+                }
+                chapter_found = true;
+                info!("Testing chapter '{}': {:?}", ch.name, chapter_path);
+
+                // write preprocessed file to tempdir
+                let path = temp_dir.path().join(chapter_path);
+                let mut tmpf = utils::fs::create_file(&path)?;
+                tmpf.write_all(ch.content.as_bytes())?;
+
+                let mut cmd = Command::new("rustdoc");
+                cmd.arg(&path).arg("--test").args(&library_args);
+
+                if let Some(edition) = self.config.rust.edition {
+                    match edition {
+                        RustEdition::E2015 => {
+                            cmd.args(["--edition", "2015"]);
+                        }
+                        RustEdition::E2018 => {
+                            cmd.args(["--edition", "2018"]);
+                        }
+                        RustEdition::E2021 => {
+                            cmd.args(["--edition", "2021"]);
+                        }
+                    }
+                }
+
+                debug!("running {:?}", cmd);
+                let output = cmd.output()?;
+
+                if !output.status.success() {
+                    failed = true;
+                    error!(
+                        "rustdoc returned an error:\n\
+                        \n--- stdout\n{}\n--- stderr\n{}",
+                        String::from_utf8_lossy(&output.stdout),
+                        String::from_utf8_lossy(&output.stderr)
+                    );
+                }
+            }
+        }
+        if failed {
+            bail!("One or more tests failed");
+        }
+        if let Some(chapter) = chapter {
+            if !chapter_found {
+                bail!("Chapter not found: {}", chapter);
+            }
+        }
+        Ok(())
+    }
+
+    /// The logic for determining where a backend should put its build
+    /// artefacts.
+    ///
+    /// If there is only 1 renderer, put it in the directory pointed to by the
+    /// `build.build_dir` key in [`Config`]. If there is more than one then the
+    /// renderer gets its own directory within the main build dir.
+    ///
+    /// i.e. If there were only one renderer (in this case, the HTML renderer):
+    ///
+    /// - build/
+    ///   - index.html
+    ///   - ...
+    ///
+    /// Otherwise if there are multiple:
+    ///
+    /// - build/
+    ///   - epub/
+    ///     - my_awesome_book.epub
+    ///   - html/
+    ///     - index.html
+    ///     - ...
+    ///   - latex/
+    ///     - my_awesome_book.tex
+    ///
+    pub fn build_dir_for(&self, backend_name: &str) -> PathBuf {
+        let build_dir = self.root.join(&self.config.build.build_dir);
+
+        if self.renderers.len() <= 1 {
+            build_dir
+        } else {
+            build_dir.join(backend_name)
+        }
+    }
+
+    /// Get the directory containing this book's source files.
+    pub fn source_dir(&self) -> PathBuf {
+        self.root.join(&self.config.book.src)
+    }
+
+    /// Get the directory containing the theme resources for the book.
+    pub fn theme_dir(&self) -> PathBuf {
+        self.config
+            .html_config()
+            .unwrap_or_default()
+            .theme_dir(&self.root)
+    }
+}
+
+/// Look at the `Config` and try to figure out what renderers to use.
+fn determine_renderers(config: &Config) -> Vec<Box<dyn Renderer>> {
+    let mut renderers = Vec::new();
+
+    if let Some(output_table) = config.get("output").and_then(Value::as_table) {
+        renderers.extend(output_table.iter().map(|(key, table)| {
+            if key == "html" {
+                Box::new(HtmlHandlebars::new()) as Box<dyn Renderer>
+            } else if key == "markdown" {
+                Box::new(MarkdownRenderer::new()) as Box<dyn Renderer>
+            } else {
+                interpret_custom_renderer(key, table)
+            }
+        }));
+    }
+
+    // if we couldn't find anything, add the HTML renderer as a default
+    if renderers.is_empty() {
+        renderers.push(Box::new(HtmlHandlebars::new()));
+    }
+
+    renderers
+}
+
+const DEFAULT_PREPROCESSORS: &[&str] = &["links", "index"];
+
+fn is_default_preprocessor(pre: &dyn Preprocessor) -> bool {
+    let name = pre.name();
+    name == LinkPreprocessor::NAME || name == IndexPreprocessor::NAME
+}
+
+/// Look at the `MDBook` and try to figure out what preprocessors to run.
+fn determine_preprocessors(config: &Config) -> Result<Vec<Box<dyn Preprocessor>>> {
+    // Collect the names of all preprocessors intended to be run, and the order
+    // in which they should be run.
+    let mut preprocessor_names = TopologicalSort::<String>::new();
+
+    if config.build.use_default_preprocessors {
+        for name in DEFAULT_PREPROCESSORS {
+            preprocessor_names.insert(name.to_string());
+        }
+    }
+
+    if let Some(preprocessor_table) = config.get("preprocessor").and_then(Value::as_table) {
+        for (name, table) in preprocessor_table.iter() {
+            preprocessor_names.insert(name.to_string());
+
+            let exists = |name| {
+                (config.build.use_default_preprocessors && DEFAULT_PREPROCESSORS.contains(&name))
+                    || preprocessor_table.contains_key(name)
+            };
+
+            if let Some(before) = table.get("before") {
+                let before = before.as_array().ok_or_else(|| {
+                    Error::msg(format!(
+                        "Expected preprocessor.{}.before to be an array",
+                        name
+                    ))
+                })?;
+                for after in before {
+                    let after = after.as_str().ok_or_else(|| {
+                        Error::msg(format!(
+                            "Expected preprocessor.{}.before to contain strings",
+                            name
+                        ))
+                    })?;
+
+                    if !exists(after) {
+                        // Only warn so that preprocessors can be toggled on and off (e.g. for
+                        // troubleshooting) without having to worry about order too much.
+                        warn!(
+                            "preprocessor.{}.after contains \"{}\", which was not found",
+                            name, after
+                        );
+                    } else {
+                        preprocessor_names.add_dependency(name, after);
+                    }
+                }
+            }
+
+            if let Some(after) = table.get("after") {
+                let after = after.as_array().ok_or_else(|| {
+                    Error::msg(format!(
+                        "Expected preprocessor.{}.after to be an array",
+                        name
+                    ))
+                })?;
+                for before in after {
+                    let before = before.as_str().ok_or_else(|| {
+                        Error::msg(format!(
+                            "Expected preprocessor.{}.after to contain strings",
+                            name
+                        ))
+                    })?;
+
+                    if !exists(before) {
+                        // See equivalent warning above for rationale
+                        warn!(
+                            "preprocessor.{}.before contains \"{}\", which was not found",
+                            name, before
+                        );
+                    } else {
+                        preprocessor_names.add_dependency(before, name);
+                    }
+                }
+            }
+        }
+    }
+
+    // Now that all links have been established, queue preprocessors in a suitable order
+    let mut preprocessors = Vec::with_capacity(preprocessor_names.len());
+    // `pop_all()` returns an empty vector when no more items are not being depended upon
+    for mut names in std::iter::repeat_with(|| preprocessor_names.pop_all())
+        .take_while(|names| !names.is_empty())
+    {
+        // The `topological_sort` crate does not guarantee a stable order for ties, even across
+        // runs of the same program. Thus, we break ties manually by sorting.
+        // Careful: `str`'s default sorting, which we are implicitly invoking here, uses code point
+        // values ([1]), which may not be an alphabetical sort.
+        // As mentioned in [1], doing so depends on locale, which is not desirable for deciding
+        // preprocessor execution order.
+        // [1]: https://doc.rust-lang.org/stable/std/cmp/trait.Ord.html#impl-Ord-14
+        names.sort();
+        for name in names {
+            let preprocessor: Box<dyn Preprocessor> = match name.as_str() {
+                "links" => Box::new(LinkPreprocessor::new()),
+                "index" => Box::new(IndexPreprocessor::new()),
+                _ => {
+                    // The only way to request a custom preprocessor is through the `preprocessor`
+                    // table, so it must exist, be a table, and contain the key.
+                    let table = &config.get("preprocessor").unwrap().as_table().unwrap()[&name];
+                    let command = get_custom_preprocessor_cmd(&name, table);
+                    Box::new(CmdPreprocessor::new(name, command))
+                }
+            };
+            preprocessors.push(preprocessor);
+        }
+    }
+
+    // "If `pop_all` returns an empty vector and `len` is not 0, there are cyclic dependencies."
+    // Normally, `len() == 0` is equivalent to `is_empty()`, so we'll use that.
+    if preprocessor_names.is_empty() {
+        Ok(preprocessors)
+    } else {
+        Err(Error::msg("Cyclic dependency detected in preprocessors"))
+    }
+}
+
+fn get_custom_preprocessor_cmd(key: &str, table: &Value) -> String {
+    table
+        .get("command")
+        .and_then(Value::as_str)
+        .map(ToString::to_string)
+        .unwrap_or_else(|| format!("mdbook-{}", key))
+}
+
+fn interpret_custom_renderer(key: &str, table: &Value) -> Box<CmdRenderer> {
+    // look for the `command` field, falling back to using the key
+    // prepended by "mdbook-"
+    let table_dot_command = table
+        .get("command")
+        .and_then(Value::as_str)
+        .map(ToString::to_string);
+
+    let command = table_dot_command.unwrap_or_else(|| format!("mdbook-{}", key));
+
+    Box::new(CmdRenderer::new(key.to_string(), command))
+}
+
+/// Check whether we should run a particular `Preprocessor` in combination
+/// with the renderer, falling back to `Preprocessor::supports_renderer()`
+/// method if the user doesn't say anything.
+///
+/// The `build.use-default-preprocessors` config option can be used to ensure
+/// default preprocessors always run if they support the renderer.
+fn preprocessor_should_run(
+    preprocessor: &dyn Preprocessor,
+    renderer: &dyn Renderer,
+    cfg: &Config,
+) -> bool {
+    // default preprocessors should be run by default (if supported)
+    if cfg.build.use_default_preprocessors && is_default_preprocessor(preprocessor) {
+        return preprocessor.supports_renderer(renderer.name());
+    }
+
+    let key = format!("preprocessor.{}.renderers", preprocessor.name());
+    let renderer_name = renderer.name();
+
+    if let Some(Value::Array(ref explicit_renderers)) = cfg.get(&key) {
+        return explicit_renderers
+            .iter()
+            .filter_map(Value::as_str)
+            .any(|name| name == renderer_name);
+    }
+
+    preprocessor.supports_renderer(renderer_name)
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use std::str::FromStr;
+    use toml::value::{Table, Value};
+
+    #[test]
+    fn config_defaults_to_html_renderer_if_empty() {
+        let cfg = Config::default();
+
+        // make sure we haven't got anything in the `output` table
+        assert!(cfg.get("output").is_none());
+
+        let got = determine_renderers(&cfg);
+
+        assert_eq!(got.len(), 1);
+        assert_eq!(got[0].name(), "html");
+    }
+
+    #[test]
+    fn add_a_random_renderer_to_the_config() {
+        let mut cfg = Config::default();
+        cfg.set("output.random", Table::new()).unwrap();
+
+        let got = determine_renderers(&cfg);
+
+        assert_eq!(got.len(), 1);
+        assert_eq!(got[0].name(), "random");
+    }
+
+    #[test]
+    fn add_a_random_renderer_with_custom_command_to_the_config() {
+        let mut cfg = Config::default();
+
+        let mut table = Table::new();
+        table.insert("command".to_string(), Value::String("false".to_string()));
+        cfg.set("output.random", table).unwrap();
+
+        let got = determine_renderers(&cfg);
+
+        assert_eq!(got.len(), 1);
+        assert_eq!(got[0].name(), "random");
+    }
+
+    #[test]
+    fn config_defaults_to_link_and_index_preprocessor_if_not_set() {
+        let cfg = Config::default();
+
+        // make sure we haven't got anything in the `preprocessor` table
+        assert!(cfg.get("preprocessor").is_none());
+
+        let got = determine_preprocessors(&cfg);
+
+        assert!(got.is_ok());
+        assert_eq!(got.as_ref().unwrap().len(), 2);
+        assert_eq!(got.as_ref().unwrap()[0].name(), "index");
+        assert_eq!(got.as_ref().unwrap()[1].name(), "links");
+    }
+
+    #[test]
+    fn use_default_preprocessors_works() {
+        let mut cfg = Config::default();
+        cfg.build.use_default_preprocessors = false;
+
+        let got = determine_preprocessors(&cfg).unwrap();
+
+        assert_eq!(got.len(), 0);
+    }
+
+    #[test]
+    fn can_determine_third_party_preprocessors() {
+        let cfg_str = r#"
+        [book]
+        title = "Some Book"
+
+        [preprocessor.random]
+
+        [build]
+        build-dir = "outputs"
+        create-missing = false
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        // make sure the `preprocessor.random` table exists
+        assert!(cfg.get_preprocessor("random").is_some());
+
+        let got = determine_preprocessors(&cfg).unwrap();
+
+        assert!(got.into_iter().any(|p| p.name() == "random"));
+    }
+
+    #[test]
+    fn preprocessors_can_provide_their_own_commands() {
+        let cfg_str = r#"
+        [preprocessor.random]
+        command = "python random.py"
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        // make sure the `preprocessor.random` table exists
+        let random = cfg.get_preprocessor("random").unwrap();
+        let random = get_custom_preprocessor_cmd("random", &Value::Table(random.clone()));
+
+        assert_eq!(random, "python random.py");
+    }
+
+    #[test]
+    fn preprocessor_before_must_be_array() {
+        let cfg_str = r#"
+        [preprocessor.random]
+        before = 0
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        assert!(determine_preprocessors(&cfg).is_err());
+    }
+
+    #[test]
+    fn preprocessor_after_must_be_array() {
+        let cfg_str = r#"
+        [preprocessor.random]
+        after = 0
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        assert!(determine_preprocessors(&cfg).is_err());
+    }
+
+    #[test]
+    fn preprocessor_order_is_honored() {
+        let cfg_str = r#"
+        [preprocessor.random]
+        before = [ "last" ]
+        after = [ "index" ]
+
+        [preprocessor.last]
+        after = [ "links", "index" ]
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        let preprocessors = determine_preprocessors(&cfg).unwrap();
+        let index = |name| {
+            preprocessors
+                .iter()
+                .enumerate()
+                .find(|(_, preprocessor)| preprocessor.name() == name)
+                .unwrap()
+                .0
+        };
+        let assert_before = |before, after| {
+            if index(before) >= index(after) {
+                eprintln!("Preprocessor order:");
+                for preprocessor in &preprocessors {
+                    eprintln!("  {}", preprocessor.name());
+                }
+                panic!("{} should come before {}", before, after);
+            }
+        };
+
+        assert_before("index", "random");
+        assert_before("index", "last");
+        assert_before("random", "last");
+        assert_before("links", "last");
+    }
+
+    #[test]
+    fn cyclic_dependencies_are_detected() {
+        let cfg_str = r#"
+        [preprocessor.links]
+        before = [ "index" ]
+
+        [preprocessor.index]
+        before = [ "links" ]
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        assert!(determine_preprocessors(&cfg).is_err());
+    }
+
+    #[test]
+    fn dependencies_dont_register_undefined_preprocessors() {
+        let cfg_str = r#"
+        [preprocessor.links]
+        before = [ "random" ]
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        let preprocessors = determine_preprocessors(&cfg).unwrap();
+
+        assert!(!preprocessors
+            .iter()
+            .any(|preprocessor| preprocessor.name() == "random"));
+    }
+
+    #[test]
+    fn dependencies_dont_register_builtin_preprocessors_if_disabled() {
+        let cfg_str = r#"
+        [preprocessor.random]
+        before = [ "links" ]
+
+        [build]
+        use-default-preprocessors = false
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        let preprocessors = determine_preprocessors(&cfg).unwrap();
+
+        assert!(!preprocessors
+            .iter()
+            .any(|preprocessor| preprocessor.name() == "links"));
+    }
+
+    #[test]
+    fn config_respects_preprocessor_selection() {
+        let cfg_str = r#"
+        [preprocessor.links]
+        renderers = ["html"]
+        "#;
+
+        let cfg = Config::from_str(cfg_str).unwrap();
+
+        // double-check that we can access preprocessor.links.renderers[0]
+        let html = cfg
+            .get_preprocessor("links")
+            .and_then(|links| links.get("renderers"))
+            .and_then(Value::as_array)
+            .and_then(|renderers| renderers.get(0))
+            .and_then(Value::as_str)
+            .unwrap();
+        assert_eq!(html, "html");
+        let html_renderer = HtmlHandlebars::default();
+        let pre = LinkPreprocessor::new();
+
+        let should_run = preprocessor_should_run(&pre, &html_renderer, &cfg);
+        assert!(should_run);
+    }
+
+    struct BoolPreprocessor(bool);
+    impl Preprocessor for BoolPreprocessor {
+        fn name(&self) -> &str {
+            "bool-preprocessor"
+        }
+
+        fn run(&self, _ctx: &PreprocessorContext, _book: Book) -> Result<Book> {
+            unimplemented!()
+        }
+
+        fn supports_renderer(&self, _renderer: &str) -> bool {
+            self.0
+        }
+    }
+
+    #[test]
+    fn preprocessor_should_run_falls_back_to_supports_renderer_method() {
+        let cfg = Config::default();
+        let html = HtmlHandlebars::new();
+
+        let should_be = true;
+        let got = preprocessor_should_run(&BoolPreprocessor(should_be), &html, &cfg);
+        assert_eq!(got, should_be);
+
+        let should_be = false;
+        let got = preprocessor_should_run(&BoolPreprocessor(should_be), &html, &cfg);
+        assert_eq!(got, should_be);
+    }
+}
diff --git a/src/book/summary.rs b/src/book/summary.rs
new file mode 100644
index 0000000..b2784ce
--- /dev/null
+++ b/src/book/summary.rs
@@ -0,0 +1,1098 @@
+use crate::errors::*;
+use log::{debug, trace, warn};
+use memchr::{self, Memchr};
+use pulldown_cmark::{self, Event, HeadingLevel, Tag};
+use serde::{Deserialize, Serialize};
+use std::fmt::{self, Display, Formatter};
+use std::iter::FromIterator;
+use std::ops::{Deref, DerefMut};
+use std::path::{Path, PathBuf};
+
+/// Parse the text from a `SUMMARY.md` file into a sort of "recipe" to be
+/// used when loading a book from disk.
+///
+/// # Summary Format
+///
+/// **Title:** It's common practice to begin with a title, generally
+/// "# Summary". It's not mandatory and the parser (currently) ignores it, so
+/// you can too if you feel like it.
+///
+/// **Prefix Chapter:** Before the main numbered chapters you can add a couple
+/// of elements that will not be numbered. This is useful for forewords,
+/// introductions, etc. There are however some constraints. You can not nest
+/// prefix chapters, they should all be on the root level. And you can not add
+/// prefix chapters once you have added numbered chapters.
+///
+/// ```markdown
+/// [Title of prefix element](relative/path/to/markdown.md)
+/// ```
+///
+/// **Part Title:** An optional title for the next collect of numbered chapters. The numbered
+/// chapters can be broken into as many parts as desired.
+///
+/// **Numbered Chapter:** Numbered chapters are the main content of the book,
+/// they
+/// will be numbered and can be nested, resulting in a nice hierarchy (chapters,
+/// sub-chapters, etc.)
+///
+/// ```markdown
+/// # Title of Part
+///
+/// - [Title of the Chapter](relative/path/to/markdown.md)
+/// ```
+///
+/// You can either use - or * to indicate a numbered chapter, the parser doesn't
+/// care but you'll probably want to stay consistent.
+///
+/// **Suffix Chapter:** After the numbered chapters you can add a couple of
+/// non-numbered chapters. They are the same as prefix chapters but come after
+/// the numbered chapters instead of before.
+///
+/// All other elements are unsupported and will be ignored at best or result in
+/// an error.
+pub fn parse_summary(summary: &str) -> Result<Summary> {
+    let parser = SummaryParser::new(summary);
+    parser.parse()
+}
+
+/// The parsed `SUMMARY.md`, specifying how the book should be laid out.
+#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
+pub struct Summary {
+    /// An optional title for the `SUMMARY.md`, currently just ignored.
+    pub title: Option<String>,
+    /// Chapters before the main text (e.g. an introduction).
+    pub prefix_chapters: Vec<SummaryItem>,
+    /// The main numbered chapters of the book, broken into one or more possibly named parts.
+    pub numbered_chapters: Vec<SummaryItem>,
+    /// Items which come after the main document (e.g. a conclusion).
+    pub suffix_chapters: Vec<SummaryItem>,
+}
+
+/// A struct representing an entry in the `SUMMARY.md`, possibly with nested
+/// entries.
+///
+/// This is roughly the equivalent of `[Some section](./path/to/file.md)`.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+pub struct Link {
+    /// The name of the chapter.
+    pub name: String,
+    /// The location of the chapter's source file, taking the book's `src`
+    /// directory as the root.
+    pub location: Option<PathBuf>,
+    /// The section number, if this chapter is in the numbered section.
+    pub number: Option<SectionNumber>,
+    /// Any nested items this chapter may contain.
+    pub nested_items: Vec<SummaryItem>,
+}
+
+impl Link {
+    /// Create a new link with no nested items.
+    pub fn new<S: Into<String>, P: AsRef<Path>>(name: S, location: P) -> Link {
+        Link {
+            name: name.into(),
+            location: Some(location.as_ref().to_path_buf()),
+            number: None,
+            nested_items: Vec::new(),
+        }
+    }
+}
+
+impl Default for Link {
+    fn default() -> Self {
+        Link {
+            name: String::new(),
+            location: Some(PathBuf::new()),
+            number: None,
+            nested_items: Vec::new(),
+        }
+    }
+}
+
+/// An item in `SUMMARY.md` which could be either a separator or a `Link`.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+pub enum SummaryItem {
+    /// A link to a chapter.
+    Link(Link),
+    /// A separator (`---`).
+    Separator,
+    /// A part title.
+    PartTitle(String),
+}
+
+impl SummaryItem {
+    fn maybe_link_mut(&mut self) -> Option<&mut Link> {
+        match *self {
+            SummaryItem::Link(ref mut l) => Some(l),
+            _ => None,
+        }
+    }
+}
+
+impl From<Link> for SummaryItem {
+    fn from(other: Link) -> SummaryItem {
+        SummaryItem::Link(other)
+    }
+}
+
+/// A recursive descent (-ish) parser for a `SUMMARY.md`.
+///
+///
+/// # Grammar
+///
+/// The `SUMMARY.md` file has a grammar which looks something like this:
+///
+/// ```text
+/// summary           ::= title prefix_chapters numbered_chapters
+///                         suffix_chapters
+/// title             ::= "# " TEXT
+///                     | EPSILON
+/// prefix_chapters   ::= item*
+/// suffix_chapters   ::= item*
+/// numbered_chapters ::= part+
+/// part              ::= title dotted_item+
+/// dotted_item       ::= INDENT* DOT_POINT item
+/// item              ::= link
+///                     | separator
+/// separator         ::= "---"
+/// link              ::= "[" TEXT "]" "(" TEXT ")"
+/// DOT_POINT         ::= "-"
+///                     | "*"
+/// ```
+///
+/// > **Note:** the `TEXT` terminal is "normal" text, and should (roughly)
+/// > match the following regex: "[^<>\n[]]+".
+struct SummaryParser<'a> {
+    src: &'a str,
+    stream: pulldown_cmark::OffsetIter<'a, 'a>,
+    offset: usize,
+
+    /// We can't actually put an event back into the `OffsetIter` stream, so instead we store it
+    /// here until somebody calls `next_event` again.
+    back: Option<Event<'a>>,
+}
+
+/// Reads `Events` from the provided stream until the corresponding
+/// `Event::End` is encountered which matches the `$delimiter` pattern.
+///
+/// This is the equivalent of doing
+/// `$stream.take_while(|e| e != $delimiter).collect()` but it allows you to
+/// use pattern matching and you won't get errors because `take_while()`
+/// moves `$stream` out of self.
+macro_rules! collect_events {
+    ($stream:expr,start $delimiter:pat) => {
+        collect_events!($stream, Event::Start($delimiter))
+    };
+    ($stream:expr,end $delimiter:pat) => {
+        collect_events!($stream, Event::End($delimiter))
+    };
+    ($stream:expr, $delimiter:pat) => {{
+        let mut events = Vec::new();
+
+        loop {
+            let event = $stream.next().map(|(ev, _range)| ev);
+            trace!("Next event: {:?}", event);
+
+            match event {
+                Some($delimiter) => break,
+                Some(other) => events.push(other),
+                None => {
+                    debug!(
+                        "Reached end of stream without finding the closing pattern, {}",
+                        stringify!($delimiter)
+                    );
+                    break;
+                }
+            }
+        }
+
+        events
+    }};
+}
+
+impl<'a> SummaryParser<'a> {
+    fn new(text: &str) -> SummaryParser<'_> {
+        let pulldown_parser = pulldown_cmark::Parser::new(text).into_offset_iter();
+
+        SummaryParser {
+            src: text,
+            stream: pulldown_parser,
+            offset: 0,
+            back: None,
+        }
+    }
+
+    /// Get the current line and column to give the user more useful error
+    /// messages.
+    fn current_location(&self) -> (usize, usize) {
+        let previous_text = self.src[..self.offset].as_bytes();
+        let line = Memchr::new(b'\n', previous_text).count() + 1;
+        let start_of_line = memchr::memrchr(b'\n', previous_text).unwrap_or(0);
+        let col = self.src[start_of_line..self.offset].chars().count();
+
+        (line, col)
+    }
+
+    /// Parse the text the `SummaryParser` was created with.
+    fn parse(mut self) -> Result<Summary> {
+        let title = self.parse_title();
+
+        let prefix_chapters = self
+            .parse_affix(true)
+            .with_context(|| "There was an error parsing the prefix chapters")?;
+        let numbered_chapters = self
+            .parse_parts()
+            .with_context(|| "There was an error parsing the numbered chapters")?;
+        let suffix_chapters = self
+            .parse_affix(false)
+            .with_context(|| "There was an error parsing the suffix chapters")?;
+
+        Ok(Summary {
+            title,
+            prefix_chapters,
+            numbered_chapters,
+            suffix_chapters,
+        })
+    }
+
+    /// Parse the affix chapters.
+    fn parse_affix(&mut self, is_prefix: bool) -> Result<Vec<SummaryItem>> {
+        let mut items = Vec::new();
+        debug!(
+            "Parsing {} items",
+            if is_prefix { "prefix" } else { "suffix" }
+        );
+
+        loop {
+            match self.next_event() {
+                Some(ev @ Event::Start(Tag::List(..)))
+                | Some(ev @ Event::Start(Tag::Heading(HeadingLevel::H1, ..))) => {
+                    if is_prefix {
+                        // we've finished prefix chapters and are at the start
+                        // of the numbered section.
+                        self.back(ev);
+                        break;
+                    } else {
+                        bail!(self.parse_error("Suffix chapters cannot be followed by a list"));
+                    }
+                }
+                Some(Event::Start(Tag::Link(_type, href, _title))) => {
+                    let link = self.parse_link(href.to_string());
+                    items.push(SummaryItem::Link(link));
+                }
+                Some(Event::Rule) => items.push(SummaryItem::Separator),
+                Some(_) => {}
+                None => break,
+            }
+        }
+
+        Ok(items)
+    }
+
+    fn parse_parts(&mut self) -> Result<Vec<SummaryItem>> {
+        let mut parts = vec![];
+
+        // We want the section numbers to be continues through all parts.
+        let mut root_number = SectionNumber::default();
+        let mut root_items = 0;
+
+        loop {
+            // Possibly match a title or the end of the "numbered chapters part".
+            let title = match self.next_event() {
+                Some(ev @ Event::Start(Tag::Paragraph)) => {
+                    // we're starting the suffix chapters
+                    self.back(ev);
+                    break;
+                }
+
+                Some(Event::Start(Tag::Heading(HeadingLevel::H1, ..))) => {
+                    debug!("Found a h1 in the SUMMARY");
+
+                    let tags = collect_events!(self.stream, end Tag::Heading(HeadingLevel::H1, ..));
+                    Some(stringify_events(tags))
+                }
+
+                Some(ev) => {
+                    self.back(ev);
+                    None
+                }
+
+                None => break, // EOF, bail...
+            };
+
+            // Parse the rest of the part.
+            let numbered_chapters = self
+                .parse_numbered(&mut root_items, &mut root_number)
+                .with_context(|| "There was an error parsing the numbered chapters")?;
+
+            if let Some(title) = title {
+                parts.push(SummaryItem::PartTitle(title));
+            }
+            parts.extend(numbered_chapters);
+        }
+
+        Ok(parts)
+    }
+
+    /// Finishes parsing a link once the `Event::Start(Tag::Link(..))` has been opened.
+    fn parse_link(&mut self, href: String) -> Link {
+        let href = href.replace("%20", " ");
+        let link_content = collect_events!(self.stream, end Tag::Link(..));
+        let name = stringify_events(link_content);
+
+        let path = if href.is_empty() {
+            None
+        } else {
+            Some(PathBuf::from(href))
+        };
+
+        Link {
+            name,
+            location: path,
+            number: None,
+            nested_items: Vec::new(),
+        }
+    }
+
+    /// Parse the numbered chapters.
+    fn parse_numbered(
+        &mut self,
+        root_items: &mut u32,
+        root_number: &mut SectionNumber,
+    ) -> Result<Vec<SummaryItem>> {
+        let mut items = Vec::new();
+
+        // For the first iteration, we want to just skip any opening paragraph tags, as that just
+        // marks the start of the list. But after that, another opening paragraph indicates that we
+        // have started a new part or the suffix chapters.
+        let mut first = true;
+
+        loop {
+            match self.next_event() {
+                Some(ev @ Event::Start(Tag::Paragraph)) => {
+                    if !first {
+                        // we're starting the suffix chapters
+                        self.back(ev);
+                        break;
+                    }
+                }
+                // The expectation is that pulldown cmark will terminate a paragraph before a new
+                // heading, so we can always count on this to return without skipping headings.
+                Some(ev @ Event::Start(Tag::Heading(HeadingLevel::H1, ..))) => {
+                    // we're starting a new part
+                    self.back(ev);
+                    break;
+                }
+                Some(ev @ Event::Start(Tag::List(..))) => {
+                    self.back(ev);
+                    let mut bunch_of_items = self.parse_nested_numbered(root_number)?;
+
+                    // if we've resumed after something like a rule the root sections
+                    // will be numbered from 1. We need to manually go back and update
+                    // them
+                    update_section_numbers(&mut bunch_of_items, 0, *root_items);
+                    *root_items += bunch_of_items.len() as u32;
+                    items.extend(bunch_of_items);
+                }
+                Some(Event::Start(other_tag)) => {
+                    trace!("Skipping contents of {:?}", other_tag);
+
+                    // Skip over the contents of this tag
+                    while let Some(event) = self.next_event() {
+                        if event == Event::End(other_tag.clone()) {
+                            break;
+                        }
+                    }
+                }
+                Some(Event::Rule) => {
+                    items.push(SummaryItem::Separator);
+                }
+
+                // something else... ignore
+                Some(_) => {}
+
+                // EOF, bail...
+                None => {
+                    break;
+                }
+            }
+
+            // From now on, we cannot accept any new paragraph opening tags.
+            first = false;
+        }
+
+        Ok(items)
+    }
+
+    /// Push an event back to the tail of the stream.
+    fn back(&mut self, ev: Event<'a>) {
+        assert!(self.back.is_none());
+        trace!("Back: {:?}", ev);
+        self.back = Some(ev);
+    }
+
+    fn next_event(&mut self) -> Option<Event<'a>> {
+        let next = self.back.take().or_else(|| {
+            self.stream.next().map(|(ev, range)| {
+                self.offset = range.start;
+                ev
+            })
+        });
+
+        trace!("Next event: {:?}", next);
+
+        next
+    }
+
+    fn parse_nested_numbered(&mut self, parent: &SectionNumber) -> Result<Vec<SummaryItem>> {
+        debug!("Parsing numbered chapters at level {}", parent);
+        let mut items = Vec::new();
+
+        loop {
+            match self.next_event() {
+                Some(Event::Start(Tag::Item)) => {
+                    let item = self.parse_nested_item(parent, items.len())?;
+                    items.push(item);
+                }
+                Some(Event::Start(Tag::List(..))) => {
+                    // Skip this tag after comment because it is not nested.
+                    if items.is_empty() {
+                        continue;
+                    }
+                    // recurse to parse the nested list
+                    let (_, last_item) = get_last_link(&mut items)?;
+                    let last_item_number = last_item
+                        .number
+                        .as_ref()
+                        .expect("All numbered chapters have numbers");
+
+                    let sub_items = self.parse_nested_numbered(last_item_number)?;
+
+                    last_item.nested_items = sub_items;
+                }
+                Some(Event::End(Tag::List(..))) => break,
+                Some(_) => {}
+                None => break,
+            }
+        }
+
+        Ok(items)
+    }
+
+    fn parse_nested_item(
+        &mut self,
+        parent: &SectionNumber,
+        num_existing_items: usize,
+    ) -> Result<SummaryItem> {
+        loop {
+            match self.next_event() {
+                Some(Event::Start(Tag::Paragraph)) => continue,
+                Some(Event::Start(Tag::Link(_type, href, _title))) => {
+                    let mut link = self.parse_link(href.to_string());
+
+                    let mut number = parent.clone();
+                    number.0.push(num_existing_items as u32 + 1);
+                    trace!(
+                        "Found chapter: {} {} ({})",
+                        number,
+                        link.name,
+                        link.location
+                            .as_ref()
+                            .map(|p| p.to_str().unwrap_or(""))
+                            .unwrap_or("[draft]")
+                    );
+
+                    link.number = Some(number);
+
+                    return Ok(SummaryItem::Link(link));
+                }
+                other => {
+                    warn!("Expected a start of a link, actually got {:?}", other);
+                    bail!(self.parse_error(
+                        "The link items for nested chapters must only contain a hyperlink"
+                    ));
+                }
+            }
+        }
+    }
+
+    fn parse_error<D: Display>(&self, msg: D) -> Error {
+        let (line, col) = self.current_location();
+        anyhow::anyhow!(
+            "failed to parse SUMMARY.md line {}, column {}: {}",
+            line,
+            col,
+            msg
+        )
+    }
+
+    /// Try to parse the title line.
+    fn parse_title(&mut self) -> Option<String> {
+        loop {
+            match self.next_event() {
+                Some(Event::Start(Tag::Heading(HeadingLevel::H1, ..))) => {
+                    debug!("Found a h1 in the SUMMARY");
+
+                    let tags = collect_events!(self.stream, end Tag::Heading(HeadingLevel::H1, ..));
+                    return Some(stringify_events(tags));
+                }
+                // Skip a HTML element such as a comment line.
+                Some(Event::Html(_)) => {}
+                // Otherwise, no title.
+                Some(ev) => {
+                    self.back(ev);
+                    return None;
+                }
+                _ => return None,
+            }
+        }
+    }
+}
+
+fn update_section_numbers(sections: &mut [SummaryItem], level: usize, by: u32) {
+    for section in sections {
+        if let SummaryItem::Link(ref mut link) = *section {
+            if let Some(ref mut number) = link.number {
+                number.0[level] += by;
+            }
+
+            update_section_numbers(&mut link.nested_items, level, by);
+        }
+    }
+}
+
+/// Gets a pointer to the last `Link` in a list of `SummaryItem`s, and its
+/// index.
+fn get_last_link(links: &mut [SummaryItem]) -> Result<(usize, &mut Link)> {
+    links
+        .iter_mut()
+        .enumerate()
+        .filter_map(|(i, item)| item.maybe_link_mut().map(|l| (i, l)))
+        .rev()
+        .next()
+        .ok_or_else(||
+            anyhow::anyhow!("Unable to get last link because the list of SummaryItems doesn't contain any Links")
+            )
+}
+
+/// Removes the styling from a list of Markdown events and returns just the
+/// plain text.
+fn stringify_events(events: Vec<Event<'_>>) -> String {
+    events
+        .into_iter()
+        .filter_map(|t| match t {
+            Event::Text(text) | Event::Code(text) => Some(text.into_string()),
+            Event::SoftBreak => Some(String::from(" ")),
+            _ => None,
+        })
+        .collect()
+}
+
+/// A section number like "1.2.3", basically just a newtype'd `Vec<u32>` with
+/// a pretty `Display` impl.
+#[derive(Debug, PartialEq, Clone, Default, Serialize, Deserialize)]
+pub struct SectionNumber(pub Vec<u32>);
+
+impl Display for SectionNumber {
+    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+        if self.0.is_empty() {
+            write!(f, "0")
+        } else {
+            for item in &self.0 {
+                write!(f, "{}.", item)?;
+            }
+            Ok(())
+        }
+    }
+}
+
+impl Deref for SectionNumber {
+    type Target = Vec<u32>;
+    fn deref(&self) -> &Self::Target {
+        &self.0
+    }
+}
+
+impl DerefMut for SectionNumber {
+    fn deref_mut(&mut self) -> &mut Self::Target {
+        &mut self.0
+    }
+}
+
+impl FromIterator<u32> for SectionNumber {
+    fn from_iter<I: IntoIterator<Item = u32>>(it: I) -> Self {
+        SectionNumber(it.into_iter().collect())
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn section_number_has_correct_dotted_representation() {
+        let inputs = vec![
+            (vec![0], "0."),
+            (vec![1, 3], "1.3."),
+            (vec![1, 2, 3], "1.2.3."),
+        ];
+
+        for (input, should_be) in inputs {
+            let section_number = SectionNumber(input).to_string();
+            assert_eq!(section_number, should_be);
+        }
+    }
+
+    #[test]
+    fn parse_initial_title() {
+        let src = "# Summary";
+        let should_be = String::from("Summary");
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser.parse_title().unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn no_initial_title() {
+        let src = "[Link]()";
+        let mut parser = SummaryParser::new(src);
+
+        assert!(parser.parse_title().is_none());
+        assert!(matches!(
+            parser.next_event(),
+            Some(Event::Start(Tag::Paragraph))
+        ));
+    }
+
+    #[test]
+    fn parse_title_with_styling() {
+        let src = "# My **Awesome** Summary";
+        let should_be = String::from("My Awesome Summary");
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser.parse_title().unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn convert_markdown_events_to_a_string() {
+        let src = "Hello *World*, `this` is some text [and a link](./path/to/link)";
+        let should_be = "Hello World, this is some text and a link";
+
+        let events = pulldown_cmark::Parser::new(src).collect();
+        let got = stringify_events(events);
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_some_prefix_items() {
+        let src = "[First](./first.md)\n[Second](./second.md)\n";
+        let mut parser = SummaryParser::new(src);
+
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                ..Default::default()
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                ..Default::default()
+            }),
+        ];
+
+        let got = parser.parse_affix(true).unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_prefix_items_with_a_separator() {
+        let src = "[First](./first.md)\n\n---\n\n[Second](./second.md)\n";
+        let mut parser = SummaryParser::new(src);
+
+        let got = parser.parse_affix(true).unwrap();
+
+        assert_eq!(got.len(), 3);
+        assert_eq!(got[1], SummaryItem::Separator);
+    }
+
+    #[test]
+    fn suffix_items_cannot_be_followed_by_a_list() {
+        let src = "[First](./first.md)\n- [Second](./second.md)\n";
+        let mut parser = SummaryParser::new(src);
+
+        let got = parser.parse_affix(false);
+
+        assert!(got.is_err());
+    }
+
+    #[test]
+    fn parse_a_link() {
+        let src = "[First](./first.md)";
+        let should_be = Link {
+            name: String::from("First"),
+            location: Some(PathBuf::from("./first.md")),
+            ..Default::default()
+        };
+
+        let mut parser = SummaryParser::new(src);
+        let _ = parser.stream.next(); // Discard opening paragraph
+
+        let href = match parser.stream.next() {
+            Some((Event::Start(Tag::Link(_type, href, _title)), _range)) => href.to_string(),
+            other => panic!("Unreachable, {:?}", other),
+        };
+
+        let got = parser.parse_link(href);
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_a_numbered_chapter() {
+        let src = "- [First](./first.md)\n";
+        let link = Link {
+            name: String::from("First"),
+            location: Some(PathBuf::from("./first.md")),
+            number: Some(SectionNumber(vec![1])),
+            ..Default::default()
+        };
+        let should_be = vec![SummaryItem::Link(link)];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_nested_numbered_chapters() {
+        let src = "- [First](./first.md)\n  - [Nested](./nested.md)\n- [Second](./second.md)";
+
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: vec![SummaryItem::Link(Link {
+                    name: String::from("Nested"),
+                    location: Some(PathBuf::from("./nested.md")),
+                    number: Some(SectionNumber(vec![1, 1])),
+                    nested_items: Vec::new(),
+                })],
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+        ];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_numbered_chapters_separated_by_comment() {
+        let src = "- [First](./first.md)\n<!-- this is a comment -->\n- [Second](./second.md)";
+
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+        ];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn parse_titled_parts() {
+        let src = "- [First](./first.md)\n- [Second](./second.md)\n\
+                   # Title 2\n- [Third](./third.md)\n\t- [Fourth](./fourth.md)";
+
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::PartTitle(String::from("Title 2")),
+            SummaryItem::Link(Link {
+                name: String::from("Third"),
+                location: Some(PathBuf::from("./third.md")),
+                number: Some(SectionNumber(vec![3])),
+                nested_items: vec![SummaryItem::Link(Link {
+                    name: String::from("Fourth"),
+                    location: Some(PathBuf::from("./fourth.md")),
+                    number: Some(SectionNumber(vec![3, 1])),
+                    nested_items: Vec::new(),
+                })],
+            }),
+        ];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser.parse_parts().unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    /// This test ensures the book will continue to pass because it breaks the
+    /// `SUMMARY.md` up using level 2 headers ([example]).
+    ///
+    /// [example]: https://github.com/rust-lang/book/blob/2c942dc094f4ddcdc7aba7564f80782801197c99/second-edition/src/SUMMARY.md#basic-rust-literacy
+    #[test]
+    fn can_have_a_subheader_between_nested_items() {
+        let src = "- [First](./first.md)\n\n## Subheading\n\n- [Second](./second.md)\n";
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+        ];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn an_empty_link_location_is_a_draft_chapter() {
+        let src = "- [Empty]()\n";
+        let mut parser = SummaryParser::new(src);
+
+        let got = parser.parse_numbered(&mut 0, &mut SectionNumber::default());
+        let should_be = vec![SummaryItem::Link(Link {
+            name: String::from("Empty"),
+            location: None,
+            number: Some(SectionNumber(vec![1])),
+            nested_items: Vec::new(),
+        })];
+
+        assert!(got.is_ok());
+        assert_eq!(got.unwrap(), should_be);
+    }
+
+    /// Regression test for https://github.com/rust-lang/mdBook/issues/779
+    /// Ensure section numbers are correctly incremented after a horizontal separator.
+    #[test]
+    fn keep_numbering_after_separator() {
+        let src =
+            "- [First](./first.md)\n---\n- [Second](./second.md)\n---\n- [Third](./third.md)\n";
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("First"),
+                location: Some(PathBuf::from("./first.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Separator,
+            SummaryItem::Link(Link {
+                name: String::from("Second"),
+                location: Some(PathBuf::from("./second.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Separator,
+            SummaryItem::Link(Link {
+                name: String::from("Third"),
+                location: Some(PathBuf::from("./third.md")),
+                number: Some(SectionNumber(vec![3])),
+                nested_items: Vec::new(),
+            }),
+        ];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    /// Regression test for https://github.com/rust-lang/mdBook/issues/1218
+    /// Ensure chapter names spread across multiple lines have spaces between all the words.
+    #[test]
+    fn add_space_for_multi_line_chapter_names() {
+        let src = "- [Chapter\ntitle](./chapter.md)";
+        let should_be = vec![SummaryItem::Link(Link {
+            name: String::from("Chapter title"),
+            location: Some(PathBuf::from("./chapter.md")),
+            number: Some(SectionNumber(vec![1])),
+            nested_items: Vec::new(),
+        })];
+
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn allow_space_in_link_destination() {
+        let src = "- [test1](./test%20link1.md)\n- [test2](<./test link2.md>)";
+        let should_be = vec![
+            SummaryItem::Link(Link {
+                name: String::from("test1"),
+                location: Some(PathBuf::from("./test link1.md")),
+                number: Some(SectionNumber(vec![1])),
+                nested_items: Vec::new(),
+            }),
+            SummaryItem::Link(Link {
+                name: String::from("test2"),
+                location: Some(PathBuf::from("./test link2.md")),
+                number: Some(SectionNumber(vec![2])),
+                nested_items: Vec::new(),
+            }),
+        ];
+        let mut parser = SummaryParser::new(src);
+        let got = parser
+            .parse_numbered(&mut 0, &mut SectionNumber::default())
+            .unwrap();
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn skip_html_comments() {
+        let src = r#"<!--
+# Title - En
+-->
+# Title - Local
+
+<!--
+[Prefix 00-01 - En](ch00-01.md)
+[Prefix 00-02 - En](ch00-02.md)
+-->
+[Prefix 00-01 - Local](ch00-01.md)
+[Prefix 00-02 - Local](ch00-02.md)
+
+<!--
+## Section Title - En
+-->
+## Section Title - Localized
+
+<!--
+- [Ch 01-00 - En](ch01-00.md)
+    - [Ch 01-01 - En](ch01-01.md)
+    - [Ch 01-02 - En](ch01-02.md)
+-->
+- [Ch 01-00 - Local](ch01-00.md)
+    - [Ch 01-01 - Local](ch01-01.md)
+    - [Ch 01-02 - Local](ch01-02.md)
+
+<!--
+- [Ch 02-00 - En](ch02-00.md)
+-->
+- [Ch 02-00 - Local](ch02-00.md)
+
+<!--
+[Appendix A - En](appendix-01.md)
+[Appendix B - En](appendix-02.md)
+-->`
+[Appendix A - Local](appendix-01.md)
+[Appendix B - Local](appendix-02.md)
+"#;
+
+        let mut parser = SummaryParser::new(src);
+
+        // ---- Title ----
+        let title = parser.parse_title();
+        assert_eq!(title, Some(String::from("Title - Local")));
+
+        // ---- Prefix Chapters ----
+
+        let new_affix_item = |name, location| {
+            SummaryItem::Link(Link {
+                name: String::from(name),
+                location: Some(PathBuf::from(location)),
+                ..Default::default()
+            })
+        };
+
+        let should_be = vec![
+            new_affix_item("Prefix 00-01 - Local", "ch00-01.md"),
+            new_affix_item("Prefix 00-02 - Local", "ch00-02.md"),
+        ];
+
+        let got = parser.parse_affix(true).unwrap();
+        assert_eq!(got, should_be);
+
+        // ---- Numbered Chapters ----
+
+        let new_numbered_item = |name, location, numbers: &[u32], nested_items| {
+            SummaryItem::Link(Link {
+                name: String::from(name),
+                location: Some(PathBuf::from(location)),
+                number: Some(SectionNumber(numbers.to_vec())),
+                nested_items,
+            })
+        };
+
+        let ch01_nested = vec![
+            new_numbered_item("Ch 01-01 - Local", "ch01-01.md", &[1, 1], vec![]),
+            new_numbered_item("Ch 01-02 - Local", "ch01-02.md", &[1, 2], vec![]),
+        ];
+
+        let should_be = vec![
+            new_numbered_item("Ch 01-00 - Local", "ch01-00.md", &[1], ch01_nested),
+            new_numbered_item("Ch 02-00 - Local", "ch02-00.md", &[2], vec![]),
+        ];
+        let got = parser.parse_parts().unwrap();
+        assert_eq!(got, should_be);
+
+        // ---- Suffix Chapters ----
+
+        let should_be = vec![
+            new_affix_item("Appendix A - Local", "appendix-01.md"),
+            new_affix_item("Appendix B - Local", "appendix-02.md"),
+        ];
+
+        let got = parser.parse_affix(false).unwrap();
+        assert_eq!(got, should_be);
+    }
+}
diff --git a/src/cmd/build.rs b/src/cmd/build.rs
new file mode 100644
index 0000000..e40e5c0
--- /dev/null
+++ b/src/cmd/build.rs
@@ -0,0 +1,38 @@
+use super::command_prelude::*;
+use crate::{get_book_dir, open};
+use mdbook::errors::Result;
+use mdbook::MDBook;
+use std::path::PathBuf;
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> Command {
+    Command::new("build")
+        .about("Builds a book from its markdown files")
+        .arg_dest_dir()
+        .arg_root_dir()
+        .arg_open()
+}
+
+// Build command implementation
+pub fn execute(args: &ArgMatches) -> Result<()> {
+    let book_dir = get_book_dir(args);
+    let mut book = MDBook::load(book_dir)?;
+
+    if let Some(dest_dir) = args.get_one::<PathBuf>("dest-dir") {
+        book.config.build.build_dir = dest_dir.into();
+    }
+
+    book.build()?;
+
+    if args.get_flag("open") {
+        // FIXME: What's the right behaviour if we don't use the HTML renderer?
+        let path = book.build_dir_for("html").join("index.html");
+        if !path.exists() {
+            error!("No chapter available to open");
+            std::process::exit(1)
+        }
+        open(path);
+    }
+
+    Ok(())
+}
diff --git a/src/cmd/clean.rs b/src/cmd/clean.rs
new file mode 100644
index 0000000..48b4147
--- /dev/null
+++ b/src/cmd/clean.rs
@@ -0,0 +1,32 @@
+use super::command_prelude::*;
+use crate::get_book_dir;
+use anyhow::Context;
+use mdbook::MDBook;
+use std::fs;
+use std::path::PathBuf;
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> Command {
+    Command::new("clean")
+        .about("Deletes a built book")
+        .arg_dest_dir()
+        .arg_root_dir()
+}
+
+// Clean command implementation
+pub fn execute(args: &ArgMatches) -> mdbook::errors::Result<()> {
+    let book_dir = get_book_dir(args);
+    let book = MDBook::load(book_dir)?;
+
+    let dir_to_remove = match args.get_one::<PathBuf>("dest-dir") {
+        Some(dest_dir) => dest_dir.into(),
+        None => book.root.join(&book.config.build.build_dir),
+    };
+
+    if dir_to_remove.exists() {
+        fs::remove_dir_all(&dir_to_remove)
+            .with_context(|| "Unable to remove the build directory")?;
+    }
+
+    Ok(())
+}
diff --git a/src/cmd/command_prelude.rs b/src/cmd/command_prelude.rs
new file mode 100644
index 0000000..b6362e6
--- /dev/null
+++ b/src/cmd/command_prelude.rs
@@ -0,0 +1,45 @@
+//! Helpers for building the command-line arguments for commands.
+
+pub use clap::{arg, Arg, ArgMatches, Command};
+use std::path::PathBuf;
+
+pub trait CommandExt: Sized {
+    fn _arg(self, arg: Arg) -> Self;
+
+    fn arg_dest_dir(self) -> Self {
+        self._arg(
+            Arg::new("dest-dir")
+                .short('d')
+                .long("dest-dir")
+                .value_name("dest-dir")
+                .value_parser(clap::value_parser!(PathBuf))
+                .help(
+                    "Output directory for the book\n\
+                    Relative paths are interpreted relative to the book's root directory.\n\
+                    If omitted, mdBook uses build.build-dir from book.toml \
+                    or defaults to `./book`.",
+                ),
+        )
+    }
+
+    fn arg_root_dir(self) -> Self {
+        self._arg(
+            Arg::new("dir")
+                .help(
+                    "Root directory for the book\n\
+                    (Defaults to the current directory when omitted)",
+                )
+                .value_parser(clap::value_parser!(PathBuf)),
+        )
+    }
+
+    fn arg_open(self) -> Self {
+        self._arg(arg!(-o --open "Opens the compiled book in a web browser"))
+    }
+}
+
+impl CommandExt for Command {
+    fn _arg(self, arg: Arg) -> Self {
+        self.arg(arg)
+    }
+}
diff --git a/src/cmd/init.rs b/src/cmd/init.rs
new file mode 100644
index 0000000..2c6415b
--- /dev/null
+++ b/src/cmd/init.rs
@@ -0,0 +1,120 @@
+use crate::get_book_dir;
+use clap::{arg, ArgMatches, Command as ClapCommand};
+use mdbook::config;
+use mdbook::errors::Result;
+use mdbook::MDBook;
+use std::io;
+use std::io::Write;
+use std::process::Command;
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> ClapCommand {
+    ClapCommand::new("init")
+        .about("Creates the boilerplate structure and files for a new book")
+        .arg(
+            arg!([dir]
+                "Directory to create the book in\n\
+                (Defaults to the current directory when omitted)"
+            )
+            .value_parser(clap::value_parser!(std::path::PathBuf)),
+        )
+        .arg(arg!(--theme "Copies the default theme into your source folder"))
+        .arg(arg!(--force "Skips confirmation prompts"))
+        .arg(arg!(--title <title> "Sets the book title"))
+        .arg(
+            arg!(--ignore <ignore> "Creates a VCS ignore file (i.e. .gitignore)")
+                .value_parser(["none", "git"]),
+        )
+}
+
+// Init command implementation
+pub fn execute(args: &ArgMatches) -> Result<()> {
+    let book_dir = get_book_dir(args);
+    let mut builder = MDBook::init(&book_dir);
+    let mut config = config::Config::default();
+    // If flag `--theme` is present, copy theme to src
+    if args.get_flag("theme") {
+        let theme_dir = book_dir.join("theme");
+        println!();
+        println!("Copying the default theme to {}", theme_dir.display());
+        // Skip this if `--force` is present
+        if !args.get_flag("force") && theme_dir.exists() {
+            println!("This could potentially overwrite files already present in that directory.");
+            print!("\nAre you sure you want to continue? (y/n) ");
+
+            // Read answer from user and exit if it's not 'yes'
+            if confirm() {
+                builder.copy_theme(true);
+            }
+        } else {
+            builder.copy_theme(true);
+        }
+    }
+
+    if let Some(ignore) = args.get_one::<String>("ignore").map(|s| s.as_str()) {
+        match ignore {
+            "git" => builder.create_gitignore(true),
+            _ => builder.create_gitignore(false),
+        };
+    } else if !args.get_flag("force") {
+        println!("\nDo you want a .gitignore to be created? (y/n)");
+        if confirm() {
+            builder.create_gitignore(true);
+        }
+    }
+
+    config.book.title = if args.contains_id("title") {
+        args.get_one::<String>("title").map(String::from)
+    } else if args.get_flag("force") {
+        None
+    } else {
+        request_book_title()
+    };
+
+    if let Some(author) = get_author_name() {
+        debug!("Obtained user name from gitconfig: {:?}", author);
+        config.book.authors.push(author);
+        builder.with_config(config);
+    }
+
+    builder.build()?;
+    println!("\nAll done, no errors...");
+
+    Ok(())
+}
+
+/// Obtains author name from git config file by running the `git config` command.
+fn get_author_name() -> Option<String> {
+    let output = Command::new("git")
+        .args(["config", "--get", "user.name"])
+        .output()
+        .ok()?;
+
+    if output.status.success() {
+        Some(String::from_utf8_lossy(&output.stdout).trim().to_owned())
+    } else {
+        None
+    }
+}
+
+/// Request book title from user and return if provided.
+fn request_book_title() -> Option<String> {
+    println!("What title would you like to give the book? ");
+    io::stdout().flush().unwrap();
+    let mut resp = String::new();
+    io::stdin().read_line(&mut resp).unwrap();
+    let resp = resp.trim();
+    if resp.is_empty() {
+        None
+    } else {
+        Some(resp.into())
+    }
+}
+
+// Simple function for user confirmation
+fn confirm() -> bool {
+    io::stdout().flush().unwrap();
+    let mut s = String::new();
+    io::stdin().read_line(&mut s).ok();
+    matches!(s.trim(), "Y" | "y" | "yes" | "Yes")
+}
diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs
new file mode 100644
index 0000000..b21979b
--- /dev/null
+++ b/src/cmd/mod.rs
@@ -0,0 +1,11 @@
+//! Subcommand modules for the `mdbook` binary.
+
+pub mod build;
+pub mod clean;
+pub mod command_prelude;
+pub mod init;
+#[cfg(feature = "serve")]
+pub mod serve;
+pub mod test;
+#[cfg(feature = "watch")]
+pub mod watch;
diff --git a/src/cmd/serve.rs b/src/cmd/serve.rs
new file mode 100644
index 0000000..eeb19cb
--- /dev/null
+++ b/src/cmd/serve.rs
@@ -0,0 +1,164 @@
+use super::command_prelude::*;
+#[cfg(feature = "watch")]
+use super::watch;
+use crate::{get_book_dir, open};
+use clap::builder::NonEmptyStringValueParser;
+use futures_util::sink::SinkExt;
+use futures_util::StreamExt;
+use mdbook::errors::*;
+use mdbook::utils;
+use mdbook::utils::fs::get_404_output_file;
+use mdbook::MDBook;
+use std::net::{SocketAddr, ToSocketAddrs};
+use std::path::PathBuf;
+use tokio::sync::broadcast;
+use warp::ws::Message;
+use warp::Filter;
+
+/// The HTTP endpoint for the websocket used to trigger reloads when a file changes.
+const LIVE_RELOAD_ENDPOINT: &str = "__livereload";
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> Command {
+    Command::new("serve")
+        .about("Serves a book at http://localhost:3000, and rebuilds it on changes")
+        .arg_dest_dir()
+        .arg_root_dir()
+        .arg(
+            Arg::new("hostname")
+                .short('n')
+                .long("hostname")
+                .num_args(1)
+                .default_value("localhost")
+                .value_parser(NonEmptyStringValueParser::new())
+                .help("Hostname to listen on for HTTP connections"),
+        )
+        .arg(
+            Arg::new("port")
+                .short('p')
+                .long("port")
+                .num_args(1)
+                .default_value("3000")
+                .value_parser(NonEmptyStringValueParser::new())
+                .help("Port to use for HTTP connections"),
+        )
+        .arg_open()
+}
+
+// Serve command implementation
+pub fn execute(args: &ArgMatches) -> Result<()> {
+    let book_dir = get_book_dir(args);
+    let mut book = MDBook::load(book_dir)?;
+
+    let port = args.get_one::<String>("port").unwrap();
+    let hostname = args.get_one::<String>("hostname").unwrap();
+    let open_browser = args.get_flag("open");
+
+    let address = format!("{}:{}", hostname, port);
+
+    let update_config = |book: &mut MDBook| {
+        book.config
+            .set("output.html.live-reload-endpoint", LIVE_RELOAD_ENDPOINT)
+            .expect("live-reload-endpoint update failed");
+        if let Some(dest_dir) = args.get_one::<PathBuf>("dest-dir") {
+            book.config.build.build_dir = dest_dir.into();
+        }
+        // Override site-url for local serving of the 404 file
+        book.config.set("output.html.site-url", "/").unwrap();
+    };
+    update_config(&mut book);
+    book.build()?;
+
+    let sockaddr: SocketAddr = address
+        .to_socket_addrs()?
+        .next()
+        .ok_or_else(|| anyhow::anyhow!("no address found for {}", address))?;
+    let build_dir = book.build_dir_for("html");
+    let input_404 = book
+        .config
+        .get("output.html.input-404")
+        .and_then(toml::Value::as_str)
+        .map(ToString::to_string);
+    let file_404 = get_404_output_file(&input_404);
+
+    // A channel used to broadcast to any websockets to reload when a file changes.
+    let (tx, _rx) = tokio::sync::broadcast::channel::<Message>(100);
+
+    let reload_tx = tx.clone();
+    let thread_handle = std::thread::spawn(move || {
+        serve(build_dir, sockaddr, reload_tx, &file_404);
+    });
+
+    let serving_url = format!("http://{}", address);
+    info!("Serving on: {}", serving_url);
+
+    if open_browser {
+        open(serving_url);
+    }
+
+    #[cfg(feature = "watch")]
+    watch::trigger_on_change(&book, move |paths, book_dir| {
+        info!("Files changed: {:?}", paths);
+        info!("Building book...");
+
+        // FIXME: This area is really ugly because we need to re-set livereload :(
+        let result = MDBook::load(book_dir).and_then(|mut b| {
+            update_config(&mut b);
+            b.build()
+        });
+
+        if let Err(e) = result {
+            error!("Unable to load the book");
+            utils::log_backtrace(&e);
+        } else {
+            let _ = tx.send(Message::text("reload"));
+        }
+    });
+
+    let _ = thread_handle.join();
+
+    Ok(())
+}
+
+#[tokio::main]
+async fn serve(
+    build_dir: PathBuf,
+    address: SocketAddr,
+    reload_tx: broadcast::Sender<Message>,
+    file_404: &str,
+) {
+    // A warp Filter which captures `reload_tx` and provides an `rx` copy to
+    // receive reload messages.
+    let sender = warp::any().map(move || reload_tx.subscribe());
+
+    // A warp Filter to handle the livereload endpoint. This upgrades to a
+    // websocket, and then waits for any filesystem change notifications, and
+    // relays them over the websocket.
+    let livereload = warp::path(LIVE_RELOAD_ENDPOINT)
+        .and(warp::ws())
+        .and(sender)
+        .map(|ws: warp::ws::Ws, mut rx: broadcast::Receiver<Message>| {
+            ws.on_upgrade(move |ws| async move {
+                let (mut user_ws_tx, _user_ws_rx) = ws.split();
+                trace!("websocket got connection");
+                if let Ok(m) = rx.recv().await {
+                    trace!("notify of reload");
+                    let _ = user_ws_tx.send(m).await;
+                }
+            })
+        });
+    // A warp Filter that serves from the filesystem.
+    let book_route = warp::fs::dir(build_dir.clone());
+    // The fallback route for 404 errors
+    let fallback_route = warp::fs::file(build_dir.join(file_404))
+        .map(|reply| warp::reply::with_status(reply, warp::http::StatusCode::NOT_FOUND));
+    let routes = livereload.or(book_route).or(fallback_route);
+
+    std::panic::set_hook(Box::new(move |panic_info| {
+        // exit if serve panics
+        error!("Unable to serve: {}", panic_info);
+        std::process::exit(1);
+    }));
+
+    warp::serve(routes).run(address).await;
+}
diff --git a/src/cmd/test.rs b/src/cmd/test.rs
new file mode 100644
index 0000000..69f99f4
--- /dev/null
+++ b/src/cmd/test.rs
@@ -0,0 +1,58 @@
+use super::command_prelude::*;
+use crate::get_book_dir;
+use clap::builder::NonEmptyStringValueParser;
+use clap::{Arg, ArgAction, ArgMatches, Command};
+use mdbook::errors::Result;
+use mdbook::MDBook;
+use std::path::PathBuf;
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> Command {
+    Command::new("test")
+        .about("Tests that a book's Rust code samples compile")
+        // FIXME: --dest-dir is unused by the test command, it should be removed
+        .arg_dest_dir()
+        .arg_root_dir()
+        .arg(
+            Arg::new("chapter")
+                .short('c')
+                .long("chapter")
+                .value_name("chapter"),
+        )
+        .arg(
+            Arg::new("library-path")
+                .short('L')
+                .long("library-path")
+                .value_name("dir")
+                .value_delimiter(',')
+                .value_parser(NonEmptyStringValueParser::new())
+                .action(ArgAction::Append)
+                .help(
+                    "A comma-separated list of directories to add to the crate \
+                    search path when building tests",
+                ),
+        )
+}
+
+// test command implementation
+pub fn execute(args: &ArgMatches) -> Result<()> {
+    let library_paths: Vec<&str> = args
+        .get_many("library-path")
+        .map(|it| it.map(String::as_str).collect())
+        .unwrap_or_default();
+
+    let chapter: Option<&str> = args.get_one::<String>("chapter").map(|s| s.as_str());
+
+    let book_dir = get_book_dir(args);
+    let mut book = MDBook::load(book_dir)?;
+
+    if let Some(dest_dir) = args.get_one::<PathBuf>("dest-dir") {
+        book.config.build.build_dir = dest_dir.to_path_buf();
+    }
+    match chapter {
+        Some(_) => book.test_chapter(library_paths, chapter),
+        None => book.test(library_paths),
+    }?;
+
+    Ok(())
+}
diff --git a/src/cmd/watch.rs b/src/cmd/watch.rs
new file mode 100644
index 0000000..80b9ff1
--- /dev/null
+++ b/src/cmd/watch.rs
@@ -0,0 +1,229 @@
+use super::command_prelude::*;
+use crate::{get_book_dir, open};
+use ignore::gitignore::Gitignore;
+use mdbook::errors::Result;
+use mdbook::utils;
+use mdbook::MDBook;
+use pathdiff::diff_paths;
+use std::path::{Path, PathBuf};
+use std::sync::mpsc::channel;
+use std::thread::sleep;
+use std::time::Duration;
+
+// Create clap subcommand arguments
+pub fn make_subcommand() -> Command {
+    Command::new("watch")
+        .about("Watches a book's files and rebuilds it on changes")
+        .arg_dest_dir()
+        .arg_root_dir()
+        .arg_open()
+}
+
+// Watch command implementation
+pub fn execute(args: &ArgMatches) -> Result<()> {
+    let book_dir = get_book_dir(args);
+    let mut book = MDBook::load(book_dir)?;
+
+    let update_config = |book: &mut MDBook| {
+        if let Some(dest_dir) = args.get_one::<PathBuf>("dest-dir") {
+            book.config.build.build_dir = dest_dir.into();
+        }
+    };
+    update_config(&mut book);
+
+    if args.get_flag("open") {
+        book.build()?;
+        let path = book.build_dir_for("html").join("index.html");
+        if !path.exists() {
+            error!("No chapter available to open");
+            std::process::exit(1)
+        }
+        open(path);
+    }
+
+    trigger_on_change(&book, |paths, book_dir| {
+        info!("Files changed: {:?}\nBuilding book...\n", paths);
+        let result = MDBook::load(book_dir).and_then(|mut b| {
+            update_config(&mut b);
+            b.build()
+        });
+
+        if let Err(e) = result {
+            error!("Unable to build the book");
+            utils::log_backtrace(&e);
+        }
+    });
+
+    Ok(())
+}
+
+fn remove_ignored_files(book_root: &Path, paths: &[PathBuf]) -> Vec<PathBuf> {
+    if paths.is_empty() {
+        return vec![];
+    }
+
+    match find_gitignore(book_root) {
+        Some(gitignore_path) => {
+            let (ignore, err) = Gitignore::new(&gitignore_path);
+            if let Some(err) = err {
+                warn!(
+                    "error reading gitignore `{}`: {err}",
+                    gitignore_path.display()
+                );
+            }
+            filter_ignored_files(ignore, paths)
+        }
+        None => {
+            // There is no .gitignore file.
+            paths.iter().map(|path| path.to_path_buf()).collect()
+        }
+    }
+}
+
+fn find_gitignore(book_root: &Path) -> Option<PathBuf> {
+    book_root
+        .ancestors()
+        .map(|p| p.join(".gitignore"))
+        .find(|p| p.exists())
+}
+
+// Note: The usage of `canonicalize` may encounter occasional failures on the Windows platform, presenting a potential risk.
+// For more details, refer to [Pull Request #2229](https://github.com/rust-lang/mdBook/pull/2229#discussion_r1408665981).
+fn filter_ignored_files(ignore: Gitignore, paths: &[PathBuf]) -> Vec<PathBuf> {
+    let ignore_root = ignore
+        .path()
+        .canonicalize()
+        .expect("ignore root canonicalize error");
+
+    paths
+        .iter()
+        .filter(|path| {
+            let relative_path =
+                diff_paths(&path, &ignore_root).expect("One of the paths should be an absolute");
+            !ignore
+                .matched_path_or_any_parents(&relative_path, relative_path.is_dir())
+                .is_ignore()
+        })
+        .map(|path| path.to_path_buf())
+        .collect()
+}
+
+/// Calls the closure when a book source file is changed, blocking indefinitely.
+pub fn trigger_on_change<F>(book: &MDBook, closure: F)
+where
+    F: Fn(Vec<PathBuf>, &Path),
+{
+    use notify::RecursiveMode::*;
+
+    // Create a channel to receive the events.
+    let (tx, rx) = channel();
+
+    let mut debouncer = match notify_debouncer_mini::new_debouncer(Duration::from_secs(1), tx) {
+        Ok(d) => d,
+        Err(e) => {
+            error!("Error while trying to watch the files:\n\n\t{:?}", e);
+            std::process::exit(1)
+        }
+    };
+    let watcher = debouncer.watcher();
+
+    // Add the source directory to the watcher
+    if let Err(e) = watcher.watch(&book.source_dir(), Recursive) {
+        error!("Error while watching {:?}:\n    {:?}", book.source_dir(), e);
+        std::process::exit(1);
+    };
+
+    let _ = watcher.watch(&book.theme_dir(), Recursive);
+
+    // Add the book.toml file to the watcher if it exists
+    let _ = watcher.watch(&book.root.join("book.toml"), NonRecursive);
+
+    for dir in &book.config.build.extra_watch_dirs {
+        let path = book.root.join(dir);
+        let canonical_path = path.canonicalize().unwrap_or_else(|e| {
+            error!("Error while watching extra directory {path:?}:\n    {e}");
+            std::process::exit(1);
+        });
+
+        if let Err(e) = watcher.watch(&canonical_path, Recursive) {
+            error!(
+                "Error while watching extra directory {:?}:\n    {:?}",
+                canonical_path, e
+            );
+            std::process::exit(1);
+        }
+    }
+
+    info!("Listening for changes...");
+
+    loop {
+        let first_event = rx.recv().unwrap();
+        sleep(Duration::from_millis(50));
+        let other_events = rx.try_iter();
+
+        let all_events = std::iter::once(first_event).chain(other_events);
+
+        let paths: Vec<_> = all_events
+            .filter_map(|event| match event {
+                Ok(events) => Some(events),
+                Err(error) => {
+                    log::warn!("error while watching for changes: {error}");
+                    None
+                }
+            })
+            .flatten()
+            .map(|event| event.path)
+            .collect();
+
+        // If we are watching files outside the current repository (via extra-watch-dirs), then they are definitionally
+        // ignored by gitignore. So we handle this case by including such files into the watched paths list.
+        let any_external_paths = paths.iter().filter(|p| !p.starts_with(&book.root)).cloned();
+        let mut paths = remove_ignored_files(&book.root, &paths[..]);
+        paths.extend(any_external_paths);
+
+        if !paths.is_empty() {
+            closure(paths, &book.root);
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use ignore::gitignore::GitignoreBuilder;
+    use std::env;
+
+    #[test]
+    fn test_filter_ignored_files() {
+        let current_dir = env::current_dir().unwrap();
+
+        let ignore = GitignoreBuilder::new(&current_dir)
+            .add_line(None, "*.html")
+            .unwrap()
+            .build()
+            .unwrap();
+        let should_remain = current_dir.join("record.text");
+        let should_filter = current_dir.join("index.html");
+
+        let remain = filter_ignored_files(ignore, &[should_remain.clone(), should_filter]);
+        assert_eq!(remain, vec![should_remain])
+    }
+
+    #[test]
+    fn filter_ignored_files_should_handle_parent_dir() {
+        let current_dir = env::current_dir().unwrap();
+
+        let ignore = GitignoreBuilder::new(&current_dir)
+            .add_line(None, "*.html")
+            .unwrap()
+            .build()
+            .unwrap();
+
+        let parent_dir = current_dir.join("..");
+        let should_remain = parent_dir.join("record.text");
+        let should_filter = parent_dir.join("index.html");
+
+        let remain = filter_ignored_files(ignore, &[should_remain.clone(), should_filter]);
+        assert_eq!(remain, vec![should_remain])
+    }
+}
diff --git a/src/config.rs b/src/config.rs
new file mode 100644
index 0000000..7f56e79
--- /dev/null
+++ b/src/config.rs
@@ -0,0 +1,1323 @@
+//! Mdbook's configuration system.
+//!
+//! The main entrypoint of the `config` module is the `Config` struct. This acts
+//! essentially as a bag of configuration information, with a couple
+//! pre-determined tables ([`BookConfig`] and [`BuildConfig`]) as well as support
+//! for arbitrary data which is exposed to plugins and alternative backends.
+//!
+//!
+//! # Examples
+//!
+//! ```rust
+//! # use mdbook::errors::*;
+//! use std::path::PathBuf;
+//! use std::str::FromStr;
+//! use mdbook::Config;
+//! use toml::Value;
+//!
+//! # fn run() -> Result<()> {
+//! let src = r#"
+//! [book]
+//! title = "My Book"
+//! authors = ["Michael-F-Bryan"]
+//!
+//! [build]
+//! src = "out"
+//!
+//! [other-table.foo]
+//! bar = 123
+//! "#;
+//!
+//! // load the `Config` from a toml string
+//! let mut cfg = Config::from_str(src)?;
+//!
+//! // retrieve a nested value
+//! let bar = cfg.get("other-table.foo.bar").cloned();
+//! assert_eq!(bar, Some(Value::Integer(123)));
+//!
+//! // Set the `output.html.theme` directory
+//! assert!(cfg.get("output.html").is_none());
+//! cfg.set("output.html.theme", "./themes");
+//!
+//! // then load it again, automatically deserializing to a `PathBuf`.
+//! let got: Option<PathBuf> = cfg.get_deserialized_opt("output.html.theme")?;
+//! assert_eq!(got, Some(PathBuf::from("./themes")));
+//! # Ok(())
+//! # }
+//! # run().unwrap()
+//! ```
+
+#![deny(missing_docs)]
+
+use log::{debug, trace, warn};
+use serde::{Deserialize, Deserializer, Serialize, Serializer};
+use std::collections::HashMap;
+use std::env;
+use std::fs::File;
+use std::io::Read;
+use std::path::{Path, PathBuf};
+use std::str::FromStr;
+use toml::value::Table;
+use toml::{self, Value};
+
+use crate::errors::*;
+use crate::utils::{self, toml_ext::TomlExt};
+
+/// The overall configuration object for MDBook, essentially an in-memory
+/// representation of `book.toml`.
+#[derive(Debug, Clone, PartialEq)]
+pub struct Config {
+    /// Metadata about the book.
+    pub book: BookConfig,
+    /// Information about the build environment.
+    pub build: BuildConfig,
+    /// Information about Rust language support.
+    pub rust: RustConfig,
+    rest: Value,
+}
+
+impl FromStr for Config {
+    type Err = Error;
+
+    /// Load a `Config` from some string.
+    fn from_str(src: &str) -> Result<Self> {
+        toml::from_str(src).with_context(|| "Invalid configuration file")
+    }
+}
+
+impl Config {
+    /// Load the configuration file from disk.
+    pub fn from_disk<P: AsRef<Path>>(config_file: P) -> Result<Config> {
+        let mut buffer = String::new();
+        File::open(config_file)
+            .with_context(|| "Unable to open the configuration file")?
+            .read_to_string(&mut buffer)
+            .with_context(|| "Couldn't read the file")?;
+
+        Config::from_str(&buffer)
+    }
+
+    /// Updates the `Config` from the available environment variables.
+    ///
+    /// Variables starting with `MDBOOK_` are used for configuration. The key is
+    /// created by removing the `MDBOOK_` prefix and turning the resulting
+    /// string into `kebab-case`. Double underscores (`__`) separate nested
+    /// keys, while a single underscore (`_`) is replaced with a dash (`-`).
+    ///
+    /// For example:
+    ///
+    /// - `MDBOOK_foo` -> `foo`
+    /// - `MDBOOK_FOO` -> `foo`
+    /// - `MDBOOK_FOO__BAR` -> `foo.bar`
+    /// - `MDBOOK_FOO_BAR` -> `foo-bar`
+    /// - `MDBOOK_FOO_bar__baz` -> `foo-bar.baz`
+    ///
+    /// So by setting the `MDBOOK_BOOK__TITLE` environment variable you can
+    /// override the book's title without needing to touch your `book.toml`.
+    ///
+    /// > **Note:** To facilitate setting more complex config items, the value
+    /// > of an environment variable is first parsed as JSON, falling back to a
+    /// > string if the parse fails.
+    /// >
+    /// > This means, if you so desired, you could override all book metadata
+    /// > when building the book with something like
+    /// >
+    /// > ```text
+    /// > $ export MDBOOK_BOOK='{"title": "My Awesome Book", "authors": ["Michael-F-Bryan"]}'
+    /// > $ mdbook build
+    /// > ```
+    ///
+    /// The latter case may be useful in situations where `mdbook` is invoked
+    /// from a script or CI, where it sometimes isn't possible to update the
+    /// `book.toml` before building.
+    pub fn update_from_env(&mut self) {
+        debug!("Updating the config from environment variables");
+
+        let overrides =
+            env::vars().filter_map(|(key, value)| parse_env(&key).map(|index| (index, value)));
+
+        for (key, value) in overrides {
+            trace!("{} => {}", key, value);
+            let parsed_value = serde_json::from_str(&value)
+                .unwrap_or_else(|_| serde_json::Value::String(value.to_string()));
+
+            if key == "book" || key == "build" {
+                if let serde_json::Value::Object(ref map) = parsed_value {
+                    // To `set` each `key`, we wrap them as `prefix.key`
+                    for (k, v) in map {
+                        let full_key = format!("{}.{}", key, k);
+                        self.set(&full_key, v).expect("unreachable");
+                    }
+                    return;
+                }
+            }
+
+            self.set(key, parsed_value).expect("unreachable");
+        }
+    }
+
+    /// Fetch an arbitrary item from the `Config` as a `toml::Value`.
+    ///
+    /// You can use dotted indices to access nested items (e.g.
+    /// `output.html.playground` will fetch the "playground" out of the html output
+    /// table).
+    pub fn get(&self, key: &str) -> Option<&Value> {
+        self.rest.read(key)
+    }
+
+    /// Fetch a value from the `Config` so you can mutate it.
+    pub fn get_mut(&mut self, key: &str) -> Option<&mut Value> {
+        self.rest.read_mut(key)
+    }
+
+    /// Convenience method for getting the html renderer's configuration.
+    ///
+    /// # Note
+    ///
+    /// This is for compatibility only. It will be removed completely once the
+    /// HTML renderer is refactored to be less coupled to `mdbook` internals.
+    #[doc(hidden)]
+    pub fn html_config(&self) -> Option<HtmlConfig> {
+        match self
+            .get_deserialized_opt("output.html")
+            .with_context(|| "Parsing configuration [output.html]")
+        {
+            Ok(Some(config)) => Some(config),
+            Ok(None) => None,
+            Err(e) => {
+                utils::log_backtrace(&e);
+                None
+            }
+        }
+    }
+
+    /// Deprecated, use get_deserialized_opt instead.
+    #[deprecated = "use get_deserialized_opt instead"]
+    pub fn get_deserialized<'de, T: Deserialize<'de>, S: AsRef<str>>(&self, name: S) -> Result<T> {
+        let name = name.as_ref();
+        match self.get_deserialized_opt(name)? {
+            Some(value) => Ok(value),
+            None => bail!("Key not found, {:?}", name),
+        }
+    }
+
+    /// Convenience function to fetch a value from the config and deserialize it
+    /// into some arbitrary type.
+    pub fn get_deserialized_opt<'de, T: Deserialize<'de>, S: AsRef<str>>(
+        &self,
+        name: S,
+    ) -> Result<Option<T>> {
+        let name = name.as_ref();
+        self.get(name)
+            .map(|value| {
+                value
+                    .clone()
+                    .try_into()
+                    .with_context(|| "Couldn't deserialize the value")
+            })
+            .transpose()
+    }
+
+    /// Set a config key, clobbering any existing values along the way.
+    ///
+    /// The only way this can fail is if we can't serialize `value` into a
+    /// `toml::Value`.
+    pub fn set<S: Serialize, I: AsRef<str>>(&mut self, index: I, value: S) -> Result<()> {
+        let index = index.as_ref();
+
+        let value = Value::try_from(value)
+            .with_context(|| "Unable to represent the item as a JSON Value")?;
+
+        if let Some(key) = index.strip_prefix("book.") {
+            self.book.update_value(key, value);
+        } else if let Some(key) = index.strip_prefix("build.") {
+            self.build.update_value(key, value);
+        } else {
+            self.rest.insert(index, value);
+        }
+
+        Ok(())
+    }
+
+    /// Get the table associated with a particular renderer.
+    pub fn get_renderer<I: AsRef<str>>(&self, index: I) -> Option<&Table> {
+        let key = format!("output.{}", index.as_ref());
+        self.get(&key).and_then(Value::as_table)
+    }
+
+    /// Get the table associated with a particular preprocessor.
+    pub fn get_preprocessor<I: AsRef<str>>(&self, index: I) -> Option<&Table> {
+        let key = format!("preprocessor.{}", index.as_ref());
+        self.get(&key).and_then(Value::as_table)
+    }
+
+    fn from_legacy(mut table: Value) -> Config {
+        let mut cfg = Config::default();
+
+        // we use a macro here instead of a normal loop because the $out
+        // variable can be different types. This way we can make type inference
+        // figure out what try_into() deserializes to.
+        macro_rules! get_and_insert {
+            ($table:expr, $key:expr => $out:expr) => {
+                let got = $table
+                    .as_table_mut()
+                    .and_then(|t| t.remove($key))
+                    .and_then(|v| v.try_into().ok());
+                if let Some(value) = got {
+                    $out = value;
+                }
+            };
+        }
+
+        get_and_insert!(table, "title" => cfg.book.title);
+        get_and_insert!(table, "authors" => cfg.book.authors);
+        get_and_insert!(table, "source" => cfg.book.src);
+        get_and_insert!(table, "description" => cfg.book.description);
+
+        if let Some(dest) = table.delete("output.html.destination") {
+            if let Ok(destination) = dest.try_into() {
+                cfg.build.build_dir = destination;
+            }
+        }
+
+        cfg.rest = table;
+        cfg
+    }
+}
+
+impl Default for Config {
+    fn default() -> Config {
+        Config {
+            book: BookConfig::default(),
+            build: BuildConfig::default(),
+            rust: RustConfig::default(),
+            rest: Value::Table(Table::default()),
+        }
+    }
+}
+
+impl<'de> serde::Deserialize<'de> for Config {
+    fn deserialize<D: Deserializer<'de>>(de: D) -> std::result::Result<Self, D::Error> {
+        let raw = Value::deserialize(de)?;
+
+        if is_legacy_format(&raw) {
+            warn!("It looks like you are using the legacy book.toml format.");
+            warn!("We'll parse it for now, but you should probably convert to the new format.");
+            warn!("See the mdbook documentation for more details, although as a rule of thumb");
+            warn!("just move all top level configuration entries like `title`, `author` and");
+            warn!("`description` under a table called `[book]`, move the `destination` entry");
+            warn!("from `[output.html]`, renamed to `build-dir`, under a table called");
+            warn!("`[build]`, and it should all work.");
+            warn!("Documentation: https://rust-lang.github.io/mdBook/format/config.html");
+            return Ok(Config::from_legacy(raw));
+        }
+
+        use serde::de::Error;
+        let mut table = match raw {
+            Value::Table(t) => t,
+            _ => {
+                return Err(D::Error::custom(
+                    "A config file should always be a toml table",
+                ));
+            }
+        };
+
+        let book: BookConfig = table
+            .remove("book")
+            .map(|book| book.try_into().map_err(D::Error::custom))
+            .transpose()?
+            .unwrap_or_default();
+
+        let build: BuildConfig = table
+            .remove("build")
+            .map(|build| build.try_into().map_err(D::Error::custom))
+            .transpose()?
+            .unwrap_or_default();
+
+        let rust: RustConfig = table
+            .remove("rust")
+            .map(|rust| rust.try_into().map_err(D::Error::custom))
+            .transpose()?
+            .unwrap_or_default();
+
+        Ok(Config {
+            book,
+            build,
+            rust,
+            rest: Value::Table(table),
+        })
+    }
+}
+
+impl Serialize for Config {
+    fn serialize<S: Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
+        // TODO: This should probably be removed and use a derive instead.
+        let mut table = self.rest.clone();
+
+        let book_config = Value::try_from(&self.book).expect("should always be serializable");
+        table.insert("book", book_config);
+
+        if self.build != BuildConfig::default() {
+            let build_config = Value::try_from(&self.build).expect("should always be serializable");
+            table.insert("build", build_config);
+        }
+
+        if self.rust != RustConfig::default() {
+            let rust_config = Value::try_from(&self.rust).expect("should always be serializable");
+            table.insert("rust", rust_config);
+        }
+
+        table.serialize(s)
+    }
+}
+
+fn parse_env(key: &str) -> Option<String> {
+    key.strip_prefix("MDBOOK_")
+        .map(|key| key.to_lowercase().replace("__", ".").replace('_', "-"))
+}
+
+fn is_legacy_format(table: &Value) -> bool {
+    let legacy_items = [
+        "title",
+        "authors",
+        "source",
+        "description",
+        "output.html.destination",
+    ];
+
+    for item in &legacy_items {
+        if table.read(item).is_some() {
+            return true;
+        }
+    }
+
+    false
+}
+
+/// Configuration options which are specific to the book and required for
+/// loading it from disk.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct BookConfig {
+    /// The book's title.
+    pub title: Option<String>,
+    /// The book's authors.
+    pub authors: Vec<String>,
+    /// An optional description for the book.
+    pub description: Option<String>,
+    /// Location of the book source relative to the book's root directory.
+    pub src: PathBuf,
+    /// Does this book support more than one language?
+    pub multilingual: bool,
+    /// The main language of the book.
+    pub language: Option<String>,
+    /// The direction of text in the book: Left-to-right (LTR) or Right-to-left (RTL).
+    /// When not specified, the text direction is derived from [`BookConfig::language`].
+    pub text_direction: Option<TextDirection>,
+}
+
+impl Default for BookConfig {
+    fn default() -> BookConfig {
+        BookConfig {
+            title: None,
+            authors: Vec::new(),
+            description: None,
+            src: PathBuf::from("src"),
+            multilingual: false,
+            language: Some(String::from("en")),
+            text_direction: None,
+        }
+    }
+}
+
+impl BookConfig {
+    /// Gets the realized text direction, either from [`BookConfig::text_direction`]
+    /// or derived from [`BookConfig::language`], to be used by templating engines.
+    pub fn realized_text_direction(&self) -> TextDirection {
+        if let Some(direction) = self.text_direction {
+            direction
+        } else {
+            TextDirection::from_lang_code(self.language.as_deref().unwrap_or_default())
+        }
+    }
+}
+
+/// Text direction to use for HTML output
+#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)]
+pub enum TextDirection {
+    /// Left to right.
+    #[serde(rename = "ltr")]
+    LeftToRight,
+    /// Right to left
+    #[serde(rename = "rtl")]
+    RightToLeft,
+}
+
+impl TextDirection {
+    /// Gets the text direction from language code
+    pub fn from_lang_code(code: &str) -> Self {
+        match code {
+            // list sourced from here: https://github.com/abarrak/rtl/blob/master/lib/rtl/core.rb#L16
+            "ar" | "ara" | "arc" | "ae" | "ave" | "egy" | "he" | "heb" | "nqo" | "pal" | "phn"
+            | "sam" | "syc" | "syr" | "fa" | "per" | "fas" | "ku" | "kur" | "ur" | "urd"
+            | "pus" | "ps" | "yi" | "yid" => TextDirection::RightToLeft,
+            _ => TextDirection::LeftToRight,
+        }
+    }
+}
+
+/// Configuration for the build procedure.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct BuildConfig {
+    /// Where to put built artefacts relative to the book's root directory.
+    pub build_dir: PathBuf,
+    /// Should non-existent markdown files specified in `SUMMARY.md` be created
+    /// if they don't exist?
+    pub create_missing: bool,
+    /// Should the default preprocessors always be used when they are
+    /// compatible with the renderer?
+    pub use_default_preprocessors: bool,
+    /// Extra directories to trigger rebuild when watching/serving
+    pub extra_watch_dirs: Vec<PathBuf>,
+}
+
+impl Default for BuildConfig {
+    fn default() -> BuildConfig {
+        BuildConfig {
+            build_dir: PathBuf::from("book"),
+            create_missing: true,
+            use_default_preprocessors: true,
+            extra_watch_dirs: Vec::new(),
+        }
+    }
+}
+
+/// Configuration for the Rust compiler(e.g., for playground)
+#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct RustConfig {
+    /// Rust edition used in playground
+    pub edition: Option<RustEdition>,
+}
+
+#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)]
+/// Rust edition to use for the code.
+pub enum RustEdition {
+    /// The 2021 edition of Rust
+    #[serde(rename = "2021")]
+    E2021,
+    /// The 2018 edition of Rust
+    #[serde(rename = "2018")]
+    E2018,
+    /// The 2015 edition of Rust
+    #[serde(rename = "2015")]
+    E2015,
+}
+
+/// Configuration for the HTML renderer.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct HtmlConfig {
+    /// The theme directory, if specified.
+    pub theme: Option<PathBuf>,
+    /// The default theme to use, defaults to 'light'
+    pub default_theme: Option<String>,
+    /// The theme to use if the browser requests the dark version of the site.
+    /// Defaults to 'navy'.
+    pub preferred_dark_theme: Option<String>,
+    /// Use "smart quotes" instead of the usual `"` character.
+    pub curly_quotes: bool,
+    /// Should mathjax be enabled?
+    pub mathjax_support: bool,
+    /// Whether to fonts.css and respective font files to the output directory.
+    pub copy_fonts: bool,
+    /// An optional google analytics code.
+    pub google_analytics: Option<String>,
+    /// Additional CSS stylesheets to include in the rendered page's `<head>`.
+    pub additional_css: Vec<PathBuf>,
+    /// Additional JS scripts to include at the bottom of the rendered page's
+    /// `<body>`.
+    pub additional_js: Vec<PathBuf>,
+    /// Fold settings.
+    pub fold: Fold,
+    /// Playground settings.
+    #[serde(alias = "playpen")]
+    pub playground: Playground,
+    /// Code settings.
+    pub code: Code,
+    /// Print settings.
+    pub print: Print,
+    /// Don't render section labels.
+    pub no_section_label: bool,
+    /// Search settings. If `None`, the default will be used.
+    pub search: Option<Search>,
+    /// Git repository url. If `None`, the git button will not be shown.
+    pub git_repository_url: Option<String>,
+    /// FontAwesome icon class to use for the Git repository link.
+    /// Defaults to `fa-github` if `None`.
+    pub git_repository_icon: Option<String>,
+    /// Input path for the 404 file, defaults to 404.md, set to "" to disable 404 file output
+    pub input_404: Option<String>,
+    /// Absolute url to site, used to emit correct paths for the 404 page, which might be accessed in a deeply nested directory
+    pub site_url: Option<String>,
+    /// The DNS subdomain or apex domain at which your book will be hosted. This
+    /// string will be written to a file named CNAME in the root of your site,
+    /// as required by GitHub Pages (see [*Managing a custom domain for your
+    /// GitHub Pages site*][custom domain]).
+    ///
+    /// [custom domain]: https://docs.github.com/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site
+    pub cname: Option<String>,
+    /// Edit url template, when set shows a "Suggest an edit" button for
+    /// directly jumping to editing the currently viewed page.
+    /// Contains {path} that is replaced with chapter source file path
+    pub edit_url_template: Option<String>,
+    /// Endpoint of websocket, for livereload usage. Value loaded from .toml
+    /// file is ignored, because our code overrides this field with an
+    /// internal value (`LIVE_RELOAD_ENDPOINT)
+    ///
+    /// This config item *should not be edited* by the end user.
+    #[doc(hidden)]
+    pub live_reload_endpoint: Option<String>,
+    /// The mapping from old pages to new pages/URLs to use when generating
+    /// redirects.
+    pub redirect: HashMap<String, String>,
+}
+
+impl Default for HtmlConfig {
+    fn default() -> HtmlConfig {
+        HtmlConfig {
+            theme: None,
+            default_theme: None,
+            preferred_dark_theme: None,
+            curly_quotes: false,
+            mathjax_support: false,
+            copy_fonts: true,
+            google_analytics: None,
+            additional_css: Vec::new(),
+            additional_js: Vec::new(),
+            fold: Fold::default(),
+            playground: Playground::default(),
+            code: Code::default(),
+            print: Print::default(),
+            no_section_label: false,
+            search: None,
+            git_repository_url: None,
+            git_repository_icon: None,
+            edit_url_template: None,
+            input_404: None,
+            site_url: None,
+            cname: None,
+            live_reload_endpoint: None,
+            redirect: HashMap::new(),
+        }
+    }
+}
+
+impl HtmlConfig {
+    /// Returns the directory of theme from the provided root directory. If the
+    /// directory is not present it will append the default directory of "theme"
+    pub fn theme_dir(&self, root: &Path) -> PathBuf {
+        match self.theme {
+            Some(ref d) => root.join(d),
+            None => root.join("theme"),
+        }
+    }
+}
+
+/// Configuration for how to render the print icon, print.html, and print.css.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct Print {
+    /// Whether print support is enabled.
+    pub enable: bool,
+    /// Insert page breaks between chapters. Default: `true`.
+    pub page_break: bool,
+}
+
+impl Default for Print {
+    fn default() -> Self {
+        Self {
+            enable: true,
+            page_break: true,
+        }
+    }
+}
+
+/// Configuration for how to fold chapters of sidebar.
+#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct Fold {
+    /// When off, all folds are open. Default: `false`.
+    pub enable: bool,
+    /// The higher the more folded regions are open. When level is 0, all folds
+    /// are closed.
+    /// Default: `0`.
+    pub level: u8,
+}
+
+/// Configuration for tweaking how the the HTML renderer handles the playground.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct Playground {
+    /// Should playground snippets be editable? Default: `false`.
+    pub editable: bool,
+    /// Display the copy button. Default: `true`.
+    pub copyable: bool,
+    /// Copy JavaScript files for the editor to the output directory?
+    /// Default: `true`.
+    pub copy_js: bool,
+    /// Display line numbers on playground snippets. Default: `false`.
+    pub line_numbers: bool,
+    /// Display the run button. Default: `true`
+    pub runnable: bool,
+}
+
+impl Default for Playground {
+    fn default() -> Playground {
+        Playground {
+            editable: false,
+            copyable: true,
+            copy_js: true,
+            line_numbers: false,
+            runnable: true,
+        }
+    }
+}
+
+/// Configuration for tweaking how the the HTML renderer handles code blocks.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct Code {
+    /// A prefix string to hide lines per language (one or more chars).
+    pub hidelines: HashMap<String, String>,
+}
+
+impl Default for Code {
+    fn default() -> Code {
+        Code {
+            hidelines: HashMap::new(),
+        }
+    }
+}
+
+/// Configuration of the search functionality of the HTML renderer.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[serde(default, rename_all = "kebab-case")]
+pub struct Search {
+    /// Enable the search feature. Default: `true`.
+    pub enable: bool,
+    /// Maximum number of visible results. Default: `30`.
+    pub limit_results: u32,
+    /// The number of words used for a search result teaser. Default: `30`.
+    pub teaser_word_count: u32,
+    /// Define the logical link between multiple search words.
+    /// If true, all search words must appear in each result. Default: `false`.
+    pub use_boolean_and: bool,
+    /// Boost factor for the search result score if a search word appears in the header.
+    /// Default: `2`.
+    pub boost_title: u8,
+    /// Boost factor for the search result score if a search word appears in the hierarchy.
+    /// The hierarchy contains all titles of the parent documents and all parent headings.
+    /// Default: `1`.
+    pub boost_hierarchy: u8,
+    /// Boost factor for the search result score if a search word appears in the text.
+    /// Default: `1`.
+    pub boost_paragraph: u8,
+    /// True if the searchword `micro` should match `microwave`. Default: `true`.
+    pub expand: bool,
+    /// Documents are split into smaller parts, separated by headings. This defines, until which
+    /// level of heading documents should be split. Default: `3`. (`### This is a level 3 heading`)
+    pub heading_split_level: u8,
+    /// Copy JavaScript files for the search functionality to the output directory?
+    /// Default: `true`.
+    pub copy_js: bool,
+}
+
+impl Default for Search {
+    fn default() -> Search {
+        // Please update the documentation of `Search` when changing values!
+        Search {
+            enable: true,
+            limit_results: 30,
+            teaser_word_count: 30,
+            use_boolean_and: false,
+            boost_title: 2,
+            boost_hierarchy: 1,
+            boost_paragraph: 1,
+            expand: true,
+            heading_split_level: 3,
+            copy_js: true,
+        }
+    }
+}
+
+/// Allows you to "update" any arbitrary field in a struct by round-tripping via
+/// a `toml::Value`.
+///
+/// This is definitely not the most performant way to do things, which means you
+/// should probably keep it away from tight loops...
+trait Updateable<'de>: Serialize + Deserialize<'de> {
+    fn update_value<S: Serialize>(&mut self, key: &str, value: S) {
+        let mut raw = Value::try_from(&self).expect("unreachable");
+
+        if let Ok(value) = Value::try_from(value) {
+            raw.insert(key, value);
+        } else {
+            return;
+        }
+
+        if let Ok(updated) = raw.try_into() {
+            *self = updated;
+        }
+    }
+}
+
+impl<'de, T> Updateable<'de> for T where T: Serialize + Deserialize<'de> {}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::utils::fs::get_404_output_file;
+    use serde_json::json;
+
+    const COMPLEX_CONFIG: &str = r#"
+        [book]
+        title = "Some Book"
+        authors = ["Michael-F-Bryan <michaelfbryan@gmail.com>"]
+        description = "A completely useless book"
+        multilingual = true
+        src = "source"
+        language = "ja"
+
+        [build]
+        build-dir = "outputs"
+        create-missing = false
+        use-default-preprocessors = true
+
+        [output.html]
+        theme = "./themedir"
+        default-theme = "rust"
+        curly-quotes = true
+        google-analytics = "123456"
+        additional-css = ["./foo/bar/baz.css"]
+        git-repository-url = "https://foo.com/"
+        git-repository-icon = "fa-code-fork"
+
+        [output.html.playground]
+        editable = true
+        editor = "ace"
+
+        [output.html.redirect]
+        "index.html" = "overview.html"
+        "nexted/page.md" = "https://rust-lang.org/"
+
+        [preprocessor.first]
+
+        [preprocessor.second]
+        "#;
+
+    #[test]
+    fn load_a_complex_config_file() {
+        let src = COMPLEX_CONFIG;
+
+        let book_should_be = BookConfig {
+            title: Some(String::from("Some Book")),
+            authors: vec![String::from("Michael-F-Bryan <michaelfbryan@gmail.com>")],
+            description: Some(String::from("A completely useless book")),
+            multilingual: true,
+            src: PathBuf::from("source"),
+            language: Some(String::from("ja")),
+            text_direction: None,
+        };
+        let build_should_be = BuildConfig {
+            build_dir: PathBuf::from("outputs"),
+            create_missing: false,
+            use_default_preprocessors: true,
+            extra_watch_dirs: Vec::new(),
+        };
+        let rust_should_be = RustConfig { edition: None };
+        let playground_should_be = Playground {
+            editable: true,
+            copyable: true,
+            copy_js: true,
+            line_numbers: false,
+            runnable: true,
+        };
+        let html_should_be = HtmlConfig {
+            curly_quotes: true,
+            google_analytics: Some(String::from("123456")),
+            additional_css: vec![PathBuf::from("./foo/bar/baz.css")],
+            theme: Some(PathBuf::from("./themedir")),
+            default_theme: Some(String::from("rust")),
+            playground: playground_should_be,
+            git_repository_url: Some(String::from("https://foo.com/")),
+            git_repository_icon: Some(String::from("fa-code-fork")),
+            redirect: vec![
+                (String::from("index.html"), String::from("overview.html")),
+                (
+                    String::from("nexted/page.md"),
+                    String::from("https://rust-lang.org/"),
+                ),
+            ]
+            .into_iter()
+            .collect(),
+            ..Default::default()
+        };
+
+        let got = Config::from_str(src).unwrap();
+
+        assert_eq!(got.book, book_should_be);
+        assert_eq!(got.build, build_should_be);
+        assert_eq!(got.rust, rust_should_be);
+        assert_eq!(got.html_config().unwrap(), html_should_be);
+    }
+
+    #[test]
+    fn disable_runnable() {
+        let src = r#"
+        [book]
+        title = "Some Book"
+        description = "book book book"
+        authors = ["Shogo Takata"]
+
+        [output.html.playground]
+        runnable = false
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        assert!(!got.html_config().unwrap().playground.runnable);
+    }
+
+    #[test]
+    fn edition_2015() {
+        let src = r#"
+        [book]
+        title = "mdBook Documentation"
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        src = "./source"
+        [rust]
+        edition = "2015"
+        "#;
+
+        let book_should_be = BookConfig {
+            title: Some(String::from("mdBook Documentation")),
+            description: Some(String::from(
+                "Create book from markdown files. Like Gitbook but implemented in Rust",
+            )),
+            authors: vec![String::from("Mathieu David")],
+            src: PathBuf::from("./source"),
+            ..Default::default()
+        };
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.book, book_should_be);
+
+        let rust_should_be = RustConfig {
+            edition: Some(RustEdition::E2015),
+        };
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.rust, rust_should_be);
+    }
+
+    #[test]
+    fn edition_2018() {
+        let src = r#"
+        [book]
+        title = "mdBook Documentation"
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        src = "./source"
+        [rust]
+        edition = "2018"
+        "#;
+
+        let rust_should_be = RustConfig {
+            edition: Some(RustEdition::E2018),
+        };
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.rust, rust_should_be);
+    }
+
+    #[test]
+    fn edition_2021() {
+        let src = r#"
+        [book]
+        title = "mdBook Documentation"
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        src = "./source"
+        [rust]
+        edition = "2021"
+        "#;
+
+        let rust_should_be = RustConfig {
+            edition: Some(RustEdition::E2021),
+        };
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.rust, rust_should_be);
+    }
+
+    #[test]
+    fn load_arbitrary_output_type() {
+        #[derive(Debug, Deserialize, PartialEq)]
+        struct RandomOutput {
+            foo: u32,
+            bar: String,
+            baz: Vec<bool>,
+        }
+
+        let src = r#"
+        [output.random]
+        foo = 5
+        bar = "Hello World"
+        baz = [true, true, false]
+        "#;
+
+        let should_be = RandomOutput {
+            foo: 5,
+            bar: String::from("Hello World"),
+            baz: vec![true, true, false],
+        };
+
+        let cfg = Config::from_str(src).unwrap();
+        let got: RandomOutput = cfg.get_deserialized_opt("output.random").unwrap().unwrap();
+
+        assert_eq!(got, should_be);
+
+        let got_baz: Vec<bool> = cfg
+            .get_deserialized_opt("output.random.baz")
+            .unwrap()
+            .unwrap();
+        let baz_should_be = vec![true, true, false];
+
+        assert_eq!(got_baz, baz_should_be);
+    }
+
+    #[test]
+    fn mutate_some_stuff() {
+        // really this is just a sanity check to make sure the borrow checker
+        // is happy...
+        let src = COMPLEX_CONFIG;
+        let mut config = Config::from_str(src).unwrap();
+        let key = "output.html.playground.editable";
+
+        assert_eq!(config.get(key).unwrap(), &Value::Boolean(true));
+        *config.get_mut(key).unwrap() = Value::Boolean(false);
+        assert_eq!(config.get(key).unwrap(), &Value::Boolean(false));
+    }
+
+    /// The config file format has slightly changed (metadata stuff is now under
+    /// the `book` table instead of being at the top level) so we're adding a
+    /// **temporary** compatibility check. You should be able to still load the
+    /// old format, emitting a warning.
+    #[test]
+    fn can_still_load_the_previous_format() {
+        let src = r#"
+        title = "mdBook Documentation"
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        source = "./source"
+
+        [output.html]
+        destination = "my-book" # the output files will be generated in `root/my-book` instead of `root/book`
+        theme = "my-theme"
+        curly-quotes = true
+        google-analytics = "123456"
+        additional-css = ["custom.css", "custom2.css"]
+        additional-js = ["custom.js"]
+        "#;
+
+        let book_should_be = BookConfig {
+            title: Some(String::from("mdBook Documentation")),
+            description: Some(String::from(
+                "Create book from markdown files. Like Gitbook but implemented in Rust",
+            )),
+            authors: vec![String::from("Mathieu David")],
+            src: PathBuf::from("./source"),
+            ..Default::default()
+        };
+
+        let build_should_be = BuildConfig {
+            build_dir: PathBuf::from("my-book"),
+            create_missing: true,
+            use_default_preprocessors: true,
+            extra_watch_dirs: Vec::new(),
+        };
+
+        let html_should_be = HtmlConfig {
+            theme: Some(PathBuf::from("my-theme")),
+            curly_quotes: true,
+            google_analytics: Some(String::from("123456")),
+            additional_css: vec![PathBuf::from("custom.css"), PathBuf::from("custom2.css")],
+            additional_js: vec![PathBuf::from("custom.js")],
+            ..Default::default()
+        };
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.book, book_should_be);
+        assert_eq!(got.build, build_should_be);
+        assert_eq!(got.html_config().unwrap(), html_should_be);
+    }
+
+    #[test]
+    fn set_a_config_item() {
+        let mut cfg = Config::default();
+        let key = "foo.bar.baz";
+        let value = "Something Interesting";
+
+        assert!(cfg.get(key).is_none());
+        cfg.set(key, value).unwrap();
+
+        let got: String = cfg.get_deserialized_opt(key).unwrap().unwrap();
+        assert_eq!(got, value);
+    }
+
+    #[test]
+    fn parse_env_vars() {
+        let inputs = vec![
+            ("FOO", None),
+            ("MDBOOK_foo", Some("foo")),
+            ("MDBOOK_FOO__bar__baz", Some("foo.bar.baz")),
+            ("MDBOOK_FOO_bar__baz", Some("foo-bar.baz")),
+        ];
+
+        for (src, should_be) in inputs {
+            let got = parse_env(src);
+            let should_be = should_be.map(ToString::to_string);
+
+            assert_eq!(got, should_be);
+        }
+    }
+
+    fn encode_env_var(key: &str) -> String {
+        format!(
+            "MDBOOK_{}",
+            key.to_uppercase().replace('.', "__").replace('-', "_")
+        )
+    }
+
+    #[test]
+    fn update_config_using_env_var() {
+        let mut cfg = Config::default();
+        let key = "foo.bar";
+        let value = "baz";
+
+        assert!(cfg.get(key).is_none());
+
+        let encoded_key = encode_env_var(key);
+        env::set_var(encoded_key, value);
+
+        cfg.update_from_env();
+
+        assert_eq!(
+            cfg.get_deserialized_opt::<String, _>(key).unwrap().unwrap(),
+            value
+        );
+    }
+
+    #[test]
+    fn update_config_using_env_var_and_complex_value() {
+        let mut cfg = Config::default();
+        let key = "foo-bar.baz";
+        let value = json!({"array": [1, 2, 3], "number": 13.37});
+        let value_str = serde_json::to_string(&value).unwrap();
+
+        assert!(cfg.get(key).is_none());
+
+        let encoded_key = encode_env_var(key);
+        env::set_var(encoded_key, value_str);
+
+        cfg.update_from_env();
+
+        assert_eq!(
+            cfg.get_deserialized_opt::<serde_json::Value, _>(key)
+                .unwrap()
+                .unwrap(),
+            value
+        );
+    }
+
+    #[test]
+    fn update_book_title_via_env() {
+        let mut cfg = Config::default();
+        let should_be = "Something else".to_string();
+
+        assert_ne!(cfg.book.title, Some(should_be.clone()));
+
+        env::set_var("MDBOOK_BOOK__TITLE", &should_be);
+        cfg.update_from_env();
+
+        assert_eq!(cfg.book.title, Some(should_be));
+    }
+
+    #[test]
+    fn file_404_default() {
+        let src = r#"
+        [output.html]
+        destination = "my-book"
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        let html_config = got.html_config().unwrap();
+        assert_eq!(html_config.input_404, None);
+        assert_eq!(&get_404_output_file(&html_config.input_404), "404.html");
+    }
+
+    #[test]
+    fn file_404_custom() {
+        let src = r#"
+        [output.html]
+        input-404= "missing.md"
+        output-404= "missing.html"
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        let html_config = got.html_config().unwrap();
+        assert_eq!(html_config.input_404, Some("missing.md".to_string()));
+        assert_eq!(&get_404_output_file(&html_config.input_404), "missing.html");
+    }
+
+    #[test]
+    fn text_direction_ltr() {
+        let src = r#"
+        [book]
+        text-direction = "ltr"
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.book.text_direction, Some(TextDirection::LeftToRight));
+    }
+
+    #[test]
+    fn text_direction_rtl() {
+        let src = r#"
+        [book]
+        text-direction = "rtl"
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.book.text_direction, Some(TextDirection::RightToLeft));
+    }
+
+    #[test]
+    fn text_direction_none() {
+        let src = r#"
+        [book]
+        "#;
+
+        let got = Config::from_str(src).unwrap();
+        assert_eq!(got.book.text_direction, None);
+    }
+
+    #[test]
+    fn test_text_direction() {
+        let mut cfg = BookConfig::default();
+
+        // test deriving the text direction from language codes
+        cfg.language = Some("ar".into());
+        assert_eq!(cfg.realized_text_direction(), TextDirection::RightToLeft);
+
+        cfg.language = Some("he".into());
+        assert_eq!(cfg.realized_text_direction(), TextDirection::RightToLeft);
+
+        cfg.language = Some("en".into());
+        assert_eq!(cfg.realized_text_direction(), TextDirection::LeftToRight);
+
+        cfg.language = Some("ja".into());
+        assert_eq!(cfg.realized_text_direction(), TextDirection::LeftToRight);
+
+        // test forced direction
+        cfg.language = Some("ar".into());
+        cfg.text_direction = Some(TextDirection::LeftToRight);
+        assert_eq!(cfg.realized_text_direction(), TextDirection::LeftToRight);
+
+        cfg.language = Some("ar".into());
+        cfg.text_direction = Some(TextDirection::RightToLeft);
+        assert_eq!(cfg.realized_text_direction(), TextDirection::RightToLeft);
+
+        cfg.language = Some("en".into());
+        cfg.text_direction = Some(TextDirection::LeftToRight);
+        assert_eq!(cfg.realized_text_direction(), TextDirection::LeftToRight);
+
+        cfg.language = Some("en".into());
+        cfg.text_direction = Some(TextDirection::RightToLeft);
+        assert_eq!(cfg.realized_text_direction(), TextDirection::RightToLeft);
+    }
+
+    #[test]
+    #[should_panic(expected = "Invalid configuration file")]
+    fn invalid_language_type_error() {
+        let src = r#"
+        [book]
+        title = "mdBook Documentation"
+        language = ["en", "pt-br"]
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        src = "./source"
+        "#;
+
+        Config::from_str(src).unwrap();
+    }
+
+    #[test]
+    #[should_panic(expected = "Invalid configuration file")]
+    fn invalid_title_type() {
+        let src = r#"
+        [book]
+        title = 20
+        language = "en"
+        description = "Create book from markdown files. Like Gitbook but implemented in Rust"
+        authors = ["Mathieu David"]
+        src = "./source"
+        "#;
+
+        Config::from_str(src).unwrap();
+    }
+
+    #[test]
+    #[should_panic(expected = "Invalid configuration file")]
+    fn invalid_build_dir_type() {
+        let src = r#"
+        [build]
+        build-dir = 99
+        create-missing = false
+        "#;
+
+        Config::from_str(src).unwrap();
+    }
+
+    #[test]
+    #[should_panic(expected = "Invalid configuration file")]
+    fn invalid_rust_edition() {
+        let src = r#"
+        [rust]
+        edition = "1999"
+        "#;
+
+        Config::from_str(src).unwrap();
+    }
+
+    #[test]
+    fn print_config() {
+        let src = r#"
+        [output.html.print]
+        enable = false
+        "#;
+        let got = Config::from_str(src).unwrap();
+        let html_config = got.html_config().unwrap();
+        assert!(!html_config.print.enable);
+        assert!(html_config.print.page_break);
+        let src = r#"
+        [output.html.print]
+        page-break = false
+        "#;
+        let got = Config::from_str(src).unwrap();
+        let html_config = got.html_config().unwrap();
+        assert!(html_config.print.enable);
+        assert!(!html_config.print.page_break);
+    }
+}
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..14cd94d
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,108 @@
+//! # mdBook
+//!
+//! **mdBook** is a tool for rendering a collection of markdown documents into
+//! a form more suitable for end users like HTML or EPUB.  It offers a command
+//! line interface, but this crate can be used if more control is required.
+//!
+//! This is the API doc, the [user guide] is also available if you want
+//! information about the command line tool, format, structure etc. It is also
+//! rendered with mdBook to showcase the features and default theme.
+//!
+//! Some reasons why you would want to use the crate (over the cli):
+//!
+//! - Integrate mdbook in a current project
+//! - Extend the capabilities of mdBook
+//! - Do some processing or test before building your book
+//! - Accessing the public API to help create a new Renderer
+//! - ...
+//!
+//! > **Note:** While we try to ensure `mdbook`'s command-line interface and
+//! > behaviour are backwards compatible, the tool's internals are still
+//! > evolving and being iterated on. If you wish to prevent accidental
+//! > breakages it is recommended to pin any tools building on top of the
+//! > `mdbook` crate to a specific release.
+//!
+//! # Examples
+//!
+//! If creating a new book from scratch, you'll want to get a `BookBuilder` via
+//! the `MDBook::init()` method.
+//!
+//! ```rust,no_run
+//! use mdbook::MDBook;
+//! use mdbook::config::Config;
+//!
+//! let root_dir = "/path/to/book/root";
+//!
+//! // create a default config and change a couple things
+//! let mut cfg = Config::default();
+//! cfg.book.title = Some("My Book".to_string());
+//! cfg.book.authors.push("Michael-F-Bryan".to_string());
+//!
+//! MDBook::init(root_dir)
+//!     .create_gitignore(true)
+//!     .with_config(cfg)
+//!     .build()
+//!     .expect("Book generation failed");
+//! ```
+//!
+//! You can also load an existing book and build it.
+//!
+//! ```rust,no_run
+//! use mdbook::MDBook;
+//!
+//! let root_dir = "/path/to/book/root";
+//!
+//! let mut md = MDBook::load(root_dir)
+//!     .expect("Unable to load the book");
+//! md.build().expect("Building failed");
+//! ```
+//!
+//! ## Implementing a new Backend
+//!
+//! `mdbook` has a fairly flexible mechanism for creating additional backends
+//! for your book. The general idea is you'll add an extra table in the book's
+//! `book.toml` which specifies an executable to be invoked by `mdbook`. This
+//! executable will then be called during a build, with an in-memory
+//! representation ([`RenderContext`]) of the book being passed to the
+//! subprocess via `stdin`.
+//!
+//! The [`RenderContext`] gives the backend access to the contents of
+//! `book.toml` and lets it know which directory all generated artefacts should
+//! be placed in. For a much more in-depth explanation, consult the [relevant
+//! chapter] in the *For Developers* section of the user guide.
+//!
+//! To make creating a backend easier, the `mdbook` crate can be imported
+//! directly, making deserializing the `RenderContext` easy and giving you
+//! access to the various methods for working with the [`Config`].
+//!
+//! [user guide]: https://rust-lang.github.io/mdBook/
+//! [`RenderContext`]: renderer::RenderContext
+//! [relevant chapter]: https://rust-lang.github.io/mdBook/for_developers/backends.html
+//! [`Config`]: config::Config
+
+#![deny(missing_docs)]
+#![deny(rust_2018_idioms)]
+
+pub mod book;
+pub mod config;
+pub mod preprocess;
+pub mod renderer;
+pub mod theme;
+pub mod utils;
+
+/// The current version of `mdbook`.
+///
+/// This is provided as a way for custom preprocessors and renderers to do
+/// compatibility checks.
+pub const MDBOOK_VERSION: &str = env!("CARGO_PKG_VERSION");
+
+pub use crate::book::BookItem;
+pub use crate::book::MDBook;
+pub use crate::config::Config;
+pub use crate::renderer::Renderer;
+
+/// The error types used through out this crate.
+pub mod errors {
+    pub(crate) use anyhow::{bail, ensure, Context};
+    pub use anyhow::{Error, Result};
+}
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..3e576c5
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,146 @@
+#[macro_use]
+extern crate clap;
+#[macro_use]
+extern crate log;
+
+use anyhow::anyhow;
+use chrono::Local;
+use clap::{Arg, ArgMatches, Command};
+use clap_complete::Shell;
+use env_logger::Builder;
+use log::LevelFilter;
+use mdbook::utils;
+use std::env;
+use std::ffi::OsStr;
+use std::io::Write;
+use std::path::PathBuf;
+
+mod cmd;
+
+const VERSION: &str = concat!("v", crate_version!());
+
+fn main() {
+    init_logger();
+
+    let command = create_clap_command();
+
+    // Check which subcommand the user ran...
+    let res = match command.get_matches().subcommand() {
+        Some(("init", sub_matches)) => cmd::init::execute(sub_matches),
+        Some(("build", sub_matches)) => cmd::build::execute(sub_matches),
+        Some(("clean", sub_matches)) => cmd::clean::execute(sub_matches),
+        #[cfg(feature = "watch")]
+        Some(("watch", sub_matches)) => cmd::watch::execute(sub_matches),
+        #[cfg(feature = "serve")]
+        Some(("serve", sub_matches)) => cmd::serve::execute(sub_matches),
+        Some(("test", sub_matches)) => cmd::test::execute(sub_matches),
+        Some(("completions", sub_matches)) => (|| {
+            let shell = sub_matches
+                .get_one::<Shell>("shell")
+                .ok_or_else(|| anyhow!("Shell name missing."))?;
+
+            let mut complete_app = create_clap_command();
+            clap_complete::generate(
+                *shell,
+                &mut complete_app,
+                "mdbook",
+                &mut std::io::stdout().lock(),
+            );
+            Ok(())
+        })(),
+        _ => unreachable!(),
+    };
+
+    if let Err(e) = res {
+        utils::log_backtrace(&e);
+
+        std::process::exit(101);
+    }
+}
+
+/// Create a list of valid arguments and sub-commands
+fn create_clap_command() -> Command {
+    let app = Command::new(crate_name!())
+        .about(crate_description!())
+        .author("Mathieu David <mathieudavid@mathieudavid.org>")
+        .version(VERSION)
+        .propagate_version(true)
+        .arg_required_else_help(true)
+        .after_help(
+            "For more information about a specific command, try `mdbook <command> --help`\n\
+             The source code for mdBook is available at: https://github.com/rust-lang/mdBook",
+        )
+        .subcommand(cmd::init::make_subcommand())
+        .subcommand(cmd::build::make_subcommand())
+        .subcommand(cmd::test::make_subcommand())
+        .subcommand(cmd::clean::make_subcommand())
+        .subcommand(
+            Command::new("completions")
+                .about("Generate shell completions for your shell to stdout")
+                .arg(
+                    Arg::new("shell")
+                        .value_parser(clap::value_parser!(Shell))
+                        .help("the shell to generate completions for")
+                        .value_name("SHELL")
+                        .required(true),
+                ),
+        );
+
+    #[cfg(feature = "watch")]
+    let app = app.subcommand(cmd::watch::make_subcommand());
+    #[cfg(feature = "serve")]
+    let app = app.subcommand(cmd::serve::make_subcommand());
+
+    app
+}
+
+fn init_logger() {
+    let mut builder = Builder::new();
+
+    builder.format(|formatter, record| {
+        writeln!(
+            formatter,
+            "{} [{}] ({}): {}",
+            Local::now().format("%Y-%m-%d %H:%M:%S"),
+            record.level(),
+            record.target(),
+            record.args()
+        )
+    });
+
+    if let Ok(var) = env::var("RUST_LOG") {
+        builder.parse_filters(&var);
+    } else {
+        // if no RUST_LOG provided, default to logging at the Info level
+        builder.filter(None, LevelFilter::Info);
+        // Filter extraneous html5ever not-implemented messages
+        builder.filter(Some("html5ever"), LevelFilter::Error);
+    }
+
+    builder.init();
+}
+
+fn get_book_dir(args: &ArgMatches) -> PathBuf {
+    if let Some(p) = args.get_one::<PathBuf>("dir") {
+        // Check if path is relative from current dir, or absolute...
+        if p.is_relative() {
+            env::current_dir().unwrap().join(p)
+        } else {
+            p.to_path_buf()
+        }
+    } else {
+        env::current_dir().expect("Unable to determine the current directory")
+    }
+}
+
+fn open<P: AsRef<OsStr>>(path: P) {
+    info!("Opening web browser");
+    if let Err(e) = opener::open(path) {
+        error!("Error opening web browser: {}", e);
+    }
+}
+
+#[test]
+fn verify_app() {
+    create_clap_command().debug_assert();
+}
diff --git a/src/preprocess/cmd.rs b/src/preprocess/cmd.rs
new file mode 100644
index 0000000..149dabd
--- /dev/null
+++ b/src/preprocess/cmd.rs
@@ -0,0 +1,208 @@
+use super::{Preprocessor, PreprocessorContext};
+use crate::book::Book;
+use crate::errors::*;
+use log::{debug, trace, warn};
+use shlex::Shlex;
+use std::io::{self, Read, Write};
+use std::process::{Child, Command, Stdio};
+
+/// A custom preprocessor which will shell out to a 3rd-party program.
+///
+/// # Preprocessing Protocol
+///
+/// When the `supports_renderer()` method is executed, `CmdPreprocessor` will
+/// execute the shell command `$cmd supports $renderer`. If the renderer is
+/// supported, custom preprocessors should exit with a exit code of `0`,
+/// any other exit code be considered as unsupported.
+///
+/// The `run()` method is implemented by passing a `(PreprocessorContext, Book)`
+/// tuple to the spawned command (`$cmd`) as JSON via `stdin`. Preprocessors
+/// should then "return" a processed book by printing it to `stdout` as JSON.
+/// For convenience, the `CmdPreprocessor::parse_input()` function can be used
+/// to parse the input provided by `mdbook`.
+///
+/// Exiting with a non-zero exit code while preprocessing is considered an
+/// error. `stderr` is passed directly through to the user, so it can be used
+/// for logging or emitting warnings if desired.
+///
+/// # Examples
+///
+/// An example preprocessor is available in this project's `examples/`
+/// directory.
+#[derive(Debug, Clone, PartialEq)]
+pub struct CmdPreprocessor {
+    name: String,
+    cmd: String,
+}
+
+impl CmdPreprocessor {
+    /// Create a new `CmdPreprocessor`.
+    pub fn new(name: String, cmd: String) -> CmdPreprocessor {
+        CmdPreprocessor { name, cmd }
+    }
+
+    /// A convenience function custom preprocessors can use to parse the input
+    /// written to `stdin` by a `CmdRenderer`.
+    pub fn parse_input<R: Read>(reader: R) -> Result<(PreprocessorContext, Book)> {
+        serde_json::from_reader(reader).with_context(|| "Unable to parse the input")
+    }
+
+    fn write_input_to_child(&self, child: &mut Child, book: &Book, ctx: &PreprocessorContext) {
+        let stdin = child.stdin.take().expect("Child has stdin");
+
+        if let Err(e) = self.write_input(stdin, book, ctx) {
+            // Looks like the backend hung up before we could finish
+            // sending it the render context. Log the error and keep going
+            warn!("Error writing the RenderContext to the backend, {}", e);
+        }
+    }
+
+    fn write_input<W: Write>(
+        &self,
+        writer: W,
+        book: &Book,
+        ctx: &PreprocessorContext,
+    ) -> Result<()> {
+        serde_json::to_writer(writer, &(ctx, book)).map_err(Into::into)
+    }
+
+    /// The command this `Preprocessor` will invoke.
+    pub fn cmd(&self) -> &str {
+        &self.cmd
+    }
+
+    fn command(&self) -> Result<Command> {
+        let mut words = Shlex::new(&self.cmd);
+        let executable = match words.next() {
+            Some(e) => e,
+            None => bail!("Command string was empty"),
+        };
+
+        let mut cmd = Command::new(executable);
+
+        for arg in words {
+            cmd.arg(arg);
+        }
+
+        Ok(cmd)
+    }
+}
+
+impl Preprocessor for CmdPreprocessor {
+    fn name(&self) -> &str {
+        &self.name
+    }
+
+    fn run(&self, ctx: &PreprocessorContext, book: Book) -> Result<Book> {
+        let mut cmd = self.command()?;
+
+        let mut child = cmd
+            .stdin(Stdio::piped())
+            .stdout(Stdio::piped())
+            .stderr(Stdio::inherit())
+            .spawn()
+            .with_context(|| {
+                format!(
+                    "Unable to start the \"{}\" preprocessor. Is it installed?",
+                    self.name()
+                )
+            })?;
+
+        self.write_input_to_child(&mut child, &book, ctx);
+
+        let output = child.wait_with_output().with_context(|| {
+            format!(
+                "Error waiting for the \"{}\" preprocessor to complete",
+                self.name
+            )
+        })?;
+
+        trace!("{} exited with output: {:?}", self.cmd, output);
+        ensure!(
+            output.status.success(),
+            format!(
+                "The \"{}\" preprocessor exited unsuccessfully with {} status",
+                self.name, output.status
+            )
+        );
+
+        serde_json::from_slice(&output.stdout).with_context(|| {
+            format!(
+                "Unable to parse the preprocessed book from \"{}\" processor",
+                self.name
+            )
+        })
+    }
+
+    fn supports_renderer(&self, renderer: &str) -> bool {
+        debug!(
+            "Checking if the \"{}\" preprocessor supports \"{}\"",
+            self.name(),
+            renderer
+        );
+
+        let mut cmd = match self.command() {
+            Ok(c) => c,
+            Err(e) => {
+                warn!(
+                    "Unable to create the command for the \"{}\" preprocessor, {}",
+                    self.name(),
+                    e
+                );
+                return false;
+            }
+        };
+
+        let outcome = cmd
+            .arg("supports")
+            .arg(renderer)
+            .stdin(Stdio::null())
+            .stdout(Stdio::inherit())
+            .stderr(Stdio::inherit())
+            .status()
+            .map(|status| status.code() == Some(0));
+
+        if let Err(ref e) = outcome {
+            if e.kind() == io::ErrorKind::NotFound {
+                warn!(
+                    "The command wasn't found, is the \"{}\" preprocessor installed?",
+                    self.name
+                );
+                warn!("\tCommand: {}", self.cmd);
+            }
+        }
+
+        outcome.unwrap_or(false)
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::MDBook;
+    use std::path::Path;
+
+    fn guide() -> MDBook {
+        let example = Path::new(env!("CARGO_MANIFEST_DIR")).join("guide");
+        MDBook::load(example).unwrap()
+    }
+
+    #[test]
+    fn round_trip_write_and_parse_input() {
+        let cmd = CmdPreprocessor::new("test".to_string(), "test".to_string());
+        let md = guide();
+        let ctx = PreprocessorContext::new(
+            md.root.clone(),
+            md.config.clone(),
+            "some-renderer".to_string(),
+        );
+
+        let mut buffer = Vec::new();
+        cmd.write_input(&mut buffer, &md.book, &ctx).unwrap();
+
+        let (got_ctx, got_book) = CmdPreprocessor::parse_input(buffer.as_slice()).unwrap();
+
+        assert_eq!(got_book, md.book);
+        assert_eq!(got_ctx, ctx);
+    }
+}
diff --git a/src/preprocess/index.rs b/src/preprocess/index.rs
new file mode 100644
index 0000000..004b7ed
--- /dev/null
+++ b/src/preprocess/index.rs
@@ -0,0 +1,105 @@
+use regex::Regex;
+use std::path::Path;
+
+use super::{Preprocessor, PreprocessorContext};
+use crate::book::{Book, BookItem};
+use crate::errors::*;
+use log::warn;
+use once_cell::sync::Lazy;
+
+/// A preprocessor for converting file name `README.md` to `index.md` since
+/// `README.md` is the de facto index file in markdown-based documentation.
+#[derive(Default)]
+pub struct IndexPreprocessor;
+
+impl IndexPreprocessor {
+    pub(crate) const NAME: &'static str = "index";
+
+    /// Create a new `IndexPreprocessor`.
+    pub fn new() -> Self {
+        IndexPreprocessor
+    }
+}
+
+impl Preprocessor for IndexPreprocessor {
+    fn name(&self) -> &str {
+        Self::NAME
+    }
+
+    fn run(&self, ctx: &PreprocessorContext, mut book: Book) -> Result<Book> {
+        let source_dir = ctx.root.join(&ctx.config.book.src);
+        book.for_each_mut(|section: &mut BookItem| {
+            if let BookItem::Chapter(ref mut ch) = *section {
+                if let Some(ref mut path) = ch.path {
+                    if is_readme_file(&path) {
+                        let mut index_md = source_dir.join(path.with_file_name("index.md"));
+                        if index_md.exists() {
+                            warn_readme_name_conflict(&path, &&mut index_md);
+                        }
+
+                        path.set_file_name("index.md");
+                    }
+                }
+            }
+        });
+
+        Ok(book)
+    }
+}
+
+fn warn_readme_name_conflict<P: AsRef<Path>>(readme_path: P, index_path: P) {
+    let file_name = readme_path.as_ref().file_name().unwrap_or_default();
+    let parent_dir = index_path
+        .as_ref()
+        .parent()
+        .unwrap_or_else(|| index_path.as_ref());
+    warn!(
+        "It seems that there are both {:?} and index.md under \"{}\".",
+        file_name,
+        parent_dir.display()
+    );
+    warn!(
+        "mdbook converts {:?} into index.html by default. It may cause",
+        file_name
+    );
+    warn!("unexpected behavior if putting both files under the same directory.");
+    warn!("To solve the warning, try to rearrange the book structure or disable");
+    warn!("\"index\" preprocessor to stop the conversion.");
+}
+
+fn is_readme_file<P: AsRef<Path>>(path: P) -> bool {
+    static RE: Lazy<Regex> = Lazy::new(|| Regex::new(r"(?i)^readme$").unwrap());
+
+    RE.is_match(
+        path.as_ref()
+            .file_stem()
+            .and_then(std::ffi::OsStr::to_str)
+            .unwrap_or_default(),
+    )
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn file_stem_exactly_matches_readme_case_insensitively() {
+        let path = "path/to/Readme.md";
+        assert!(is_readme_file(path));
+
+        let path = "path/to/README.md";
+        assert!(is_readme_file(path));
+
+        let path = "path/to/rEaDmE.md";
+        assert!(is_readme_file(path));
+
+        let path = "path/to/README.markdown";
+        assert!(is_readme_file(path));
+
+        let path = "path/to/README";
+        assert!(is_readme_file(path));
+
+        let path = "path/to/README-README.md";
+        assert!(!is_readme_file(path));
+    }
+}
diff --git a/src/preprocess/links.rs b/src/preprocess/links.rs
new file mode 100644
index 0000000..0af2119
--- /dev/null
+++ b/src/preprocess/links.rs
@@ -0,0 +1,940 @@
+use crate::errors::*;
+use crate::utils::{
+    take_anchored_lines, take_lines, take_rustdoc_include_anchored_lines,
+    take_rustdoc_include_lines,
+};
+use regex::{CaptureMatches, Captures, Regex};
+use std::fs;
+use std::ops::{Bound, Range, RangeBounds, RangeFrom, RangeFull, RangeTo};
+use std::path::{Path, PathBuf};
+
+use super::{Preprocessor, PreprocessorContext};
+use crate::book::{Book, BookItem};
+use log::{error, warn};
+use once_cell::sync::Lazy;
+
+const ESCAPE_CHAR: char = '\\';
+const MAX_LINK_NESTED_DEPTH: usize = 10;
+
+/// A preprocessor for expanding helpers in a chapter. Supported helpers are:
+///
+/// - `{{# include}}` - Insert an external file of any type. Include the whole file, only particular
+///.  lines, or only between the specified anchors.
+/// - `{{# rustdoc_include}}` - Insert an external Rust file, showing the particular lines
+///.  specified or the lines between specified anchors, and include the rest of the file behind `#`.
+///   This hides the lines from initial display but shows them when the reader expands the code
+///   block and provides them to Rustdoc for testing.
+/// - `{{# playground}}` - Insert runnable Rust files
+/// - `{{# title}}` - Override \<title\> of a webpage.
+#[derive(Default)]
+pub struct LinkPreprocessor;
+
+impl LinkPreprocessor {
+    pub(crate) const NAME: &'static str = "links";
+
+    /// Create a new `LinkPreprocessor`.
+    pub fn new() -> Self {
+        LinkPreprocessor
+    }
+}
+
+impl Preprocessor for LinkPreprocessor {
+    fn name(&self) -> &str {
+        Self::NAME
+    }
+
+    fn run(&self, ctx: &PreprocessorContext, mut book: Book) -> Result<Book> {
+        let src_dir = ctx.root.join(&ctx.config.book.src);
+
+        book.for_each_mut(|section: &mut BookItem| {
+            if let BookItem::Chapter(ref mut ch) = *section {
+                if let Some(ref chapter_path) = ch.path {
+                    let base = chapter_path
+                        .parent()
+                        .map(|dir| src_dir.join(dir))
+                        .expect("All book items have a parent");
+
+                    let mut chapter_title = ch.name.clone();
+                    let content =
+                        replace_all(&ch.content, base, chapter_path, 0, &mut chapter_title);
+                    ch.content = content;
+                    if chapter_title != ch.name {
+                        ctx.chapter_titles
+                            .borrow_mut()
+                            .insert(chapter_path.clone(), chapter_title);
+                    }
+                }
+            }
+        });
+
+        Ok(book)
+    }
+}
+
+fn replace_all<P1, P2>(
+    s: &str,
+    path: P1,
+    source: P2,
+    depth: usize,
+    chapter_title: &mut String,
+) -> String
+where
+    P1: AsRef<Path>,
+    P2: AsRef<Path>,
+{
+    // When replacing one thing in a string by something with a different length,
+    // the indices after that will not correspond,
+    // we therefore have to store the difference to correct this
+    let path = path.as_ref();
+    let source = source.as_ref();
+    let mut previous_end_index = 0;
+    let mut replaced = String::new();
+
+    for link in find_links(s) {
+        replaced.push_str(&s[previous_end_index..link.start_index]);
+
+        match link.render_with_path(path, chapter_title) {
+            Ok(new_content) => {
+                if depth < MAX_LINK_NESTED_DEPTH {
+                    if let Some(rel_path) = link.link_type.relative_path(path) {
+                        replaced.push_str(&replace_all(
+                            &new_content,
+                            rel_path,
+                            source,
+                            depth + 1,
+                            chapter_title,
+                        ));
+                    } else {
+                        replaced.push_str(&new_content);
+                    }
+                } else {
+                    error!(
+                        "Stack depth exceeded in {}. Check for cyclic includes",
+                        source.display()
+                    );
+                }
+                previous_end_index = link.end_index;
+            }
+            Err(e) => {
+                error!("Error updating \"{}\", {}", link.link_text, e);
+                for cause in e.chain().skip(1) {
+                    warn!("Caused By: {}", cause);
+                }
+
+                // This should make sure we include the raw `{{# ... }}` snippet
+                // in the page content if there are any errors.
+                previous_end_index = link.start_index;
+            }
+        }
+    }
+
+    replaced.push_str(&s[previous_end_index..]);
+    replaced
+}
+
+#[derive(PartialEq, Debug, Clone)]
+enum LinkType<'a> {
+    Escaped,
+    Include(PathBuf, RangeOrAnchor),
+    Playground(PathBuf, Vec<&'a str>),
+    RustdocInclude(PathBuf, RangeOrAnchor),
+    Title(&'a str),
+}
+
+#[derive(PartialEq, Debug, Clone)]
+enum RangeOrAnchor {
+    Range(LineRange),
+    Anchor(String),
+}
+
+// A range of lines specified with some include directive.
+#[allow(clippy::enum_variant_names)] // The prefix can't be removed, and is meant to mirror the contained type
+#[derive(PartialEq, Debug, Clone)]
+enum LineRange {
+    Range(Range<usize>),
+    RangeFrom(RangeFrom<usize>),
+    RangeTo(RangeTo<usize>),
+    RangeFull(RangeFull),
+}
+
+impl RangeBounds<usize> for LineRange {
+    fn start_bound(&self) -> Bound<&usize> {
+        match self {
+            LineRange::Range(r) => r.start_bound(),
+            LineRange::RangeFrom(r) => r.start_bound(),
+            LineRange::RangeTo(r) => r.start_bound(),
+            LineRange::RangeFull(r) => r.start_bound(),
+        }
+    }
+
+    fn end_bound(&self) -> Bound<&usize> {
+        match self {
+            LineRange::Range(r) => r.end_bound(),
+            LineRange::RangeFrom(r) => r.end_bound(),
+            LineRange::RangeTo(r) => r.end_bound(),
+            LineRange::RangeFull(r) => r.end_bound(),
+        }
+    }
+}
+
+impl From<Range<usize>> for LineRange {
+    fn from(r: Range<usize>) -> LineRange {
+        LineRange::Range(r)
+    }
+}
+
+impl From<RangeFrom<usize>> for LineRange {
+    fn from(r: RangeFrom<usize>) -> LineRange {
+        LineRange::RangeFrom(r)
+    }
+}
+
+impl From<RangeTo<usize>> for LineRange {
+    fn from(r: RangeTo<usize>) -> LineRange {
+        LineRange::RangeTo(r)
+    }
+}
+
+impl From<RangeFull> for LineRange {
+    fn from(r: RangeFull) -> LineRange {
+        LineRange::RangeFull(r)
+    }
+}
+
+impl<'a> LinkType<'a> {
+    fn relative_path<P: AsRef<Path>>(self, base: P) -> Option<PathBuf> {
+        let base = base.as_ref();
+        match self {
+            LinkType::Escaped => None,
+            LinkType::Include(p, _) => Some(return_relative_path(base, &p)),
+            LinkType::Playground(p, _) => Some(return_relative_path(base, &p)),
+            LinkType::RustdocInclude(p, _) => Some(return_relative_path(base, &p)),
+            LinkType::Title(_) => None,
+        }
+    }
+}
+fn return_relative_path<P: AsRef<Path>>(base: P, relative: P) -> PathBuf {
+    base.as_ref()
+        .join(relative)
+        .parent()
+        .expect("Included file should not be /")
+        .to_path_buf()
+}
+
+fn parse_range_or_anchor(parts: Option<&str>) -> RangeOrAnchor {
+    let mut parts = parts.unwrap_or("").splitn(3, ':').fuse();
+
+    let next_element = parts.next();
+    let start = if let Some(value) = next_element.and_then(|s| s.parse::<usize>().ok()) {
+        // subtract 1 since line numbers usually begin with 1
+        Some(value.saturating_sub(1))
+    } else if let Some("") = next_element {
+        None
+    } else if let Some(anchor) = next_element {
+        return RangeOrAnchor::Anchor(String::from(anchor));
+    } else {
+        None
+    };
+
+    let end = parts.next();
+    // If `end` is empty string or any other value that can't be parsed as a usize, treat this
+    // include as a range with only a start bound. However, if end isn't specified, include only
+    // the single line specified by `start`.
+    let end = end.map(|s| s.parse::<usize>());
+
+    match (start, end) {
+        (Some(start), Some(Ok(end))) => RangeOrAnchor::Range(LineRange::from(start..end)),
+        (Some(start), Some(Err(_))) => RangeOrAnchor::Range(LineRange::from(start..)),
+        (Some(start), None) => RangeOrAnchor::Range(LineRange::from(start..start + 1)),
+        (None, Some(Ok(end))) => RangeOrAnchor::Range(LineRange::from(..end)),
+        (None, None) | (None, Some(Err(_))) => RangeOrAnchor::Range(LineRange::from(RangeFull)),
+    }
+}
+
+fn parse_include_path(path: &str) -> LinkType<'static> {
+    let mut parts = path.splitn(2, ':');
+
+    let path = parts.next().unwrap().into();
+    let range_or_anchor = parse_range_or_anchor(parts.next());
+
+    LinkType::Include(path, range_or_anchor)
+}
+
+fn parse_rustdoc_include_path(path: &str) -> LinkType<'static> {
+    let mut parts = path.splitn(2, ':');
+
+    let path = parts.next().unwrap().into();
+    let range_or_anchor = parse_range_or_anchor(parts.next());
+
+    LinkType::RustdocInclude(path, range_or_anchor)
+}
+
+#[derive(PartialEq, Debug, Clone)]
+struct Link<'a> {
+    start_index: usize,
+    end_index: usize,
+    link_type: LinkType<'a>,
+    link_text: &'a str,
+}
+
+impl<'a> Link<'a> {
+    fn from_capture(cap: Captures<'a>) -> Option<Link<'a>> {
+        let link_type = match (cap.get(0), cap.get(1), cap.get(2)) {
+            (_, Some(typ), Some(title)) if typ.as_str() == "title" => {
+                Some(LinkType::Title(title.as_str()))
+            }
+            (_, Some(typ), Some(rest)) => {
+                let mut path_props = rest.as_str().split_whitespace();
+                let file_arg = path_props.next();
+                let props: Vec<&str> = path_props.collect();
+
+                match (typ.as_str(), file_arg) {
+                    ("include", Some(pth)) => Some(parse_include_path(pth)),
+                    ("playground", Some(pth)) => Some(LinkType::Playground(pth.into(), props)),
+                    ("playpen", Some(pth)) => {
+                        warn!(
+                            "the {{{{#playpen}}}} expression has been \
+                            renamed to {{{{#playground}}}}, \
+                            please update your book to use the new name"
+                        );
+                        Some(LinkType::Playground(pth.into(), props))
+                    }
+                    ("rustdoc_include", Some(pth)) => Some(parse_rustdoc_include_path(pth)),
+                    _ => None,
+                }
+            }
+            (Some(mat), None, None) if mat.as_str().starts_with(ESCAPE_CHAR) => {
+                Some(LinkType::Escaped)
+            }
+            _ => None,
+        };
+
+        link_type.and_then(|lnk_type| {
+            cap.get(0).map(|mat| Link {
+                start_index: mat.start(),
+                end_index: mat.end(),
+                link_type: lnk_type,
+                link_text: mat.as_str(),
+            })
+        })
+    }
+
+    fn render_with_path<P: AsRef<Path>>(
+        &self,
+        base: P,
+        chapter_title: &mut String,
+    ) -> Result<String> {
+        let base = base.as_ref();
+        match self.link_type {
+            // omit the escape char
+            LinkType::Escaped => Ok(self.link_text[1..].to_owned()),
+            LinkType::Include(ref pat, ref range_or_anchor) => {
+                let target = base.join(pat);
+
+                fs::read_to_string(&target)
+                    .map(|s| match range_or_anchor {
+                        RangeOrAnchor::Range(range) => take_lines(&s, range.clone()),
+                        RangeOrAnchor::Anchor(anchor) => take_anchored_lines(&s, anchor),
+                    })
+                    .with_context(|| {
+                        format!(
+                            "Could not read file for link {} ({})",
+                            self.link_text,
+                            target.display(),
+                        )
+                    })
+            }
+            LinkType::RustdocInclude(ref pat, ref range_or_anchor) => {
+                let target = base.join(pat);
+
+                fs::read_to_string(&target)
+                    .map(|s| match range_or_anchor {
+                        RangeOrAnchor::Range(range) => {
+                            take_rustdoc_include_lines(&s, range.clone())
+                        }
+                        RangeOrAnchor::Anchor(anchor) => {
+                            take_rustdoc_include_anchored_lines(&s, anchor)
+                        }
+                    })
+                    .with_context(|| {
+                        format!(
+                            "Could not read file for link {} ({})",
+                            self.link_text,
+                            target.display(),
+                        )
+                    })
+            }
+            LinkType::Playground(ref pat, ref attrs) => {
+                let target = base.join(pat);
+
+                let mut contents = fs::read_to_string(&target).with_context(|| {
+                    format!(
+                        "Could not read file for link {} ({})",
+                        self.link_text,
+                        target.display()
+                    )
+                })?;
+                let ftype = if !attrs.is_empty() { "rust," } else { "rust" };
+                if !contents.ends_with('\n') {
+                    contents.push('\n');
+                }
+                Ok(format!(
+                    "```{}{}\n{}```\n",
+                    ftype,
+                    attrs.join(","),
+                    contents
+                ))
+            }
+            LinkType::Title(title) => {
+                *chapter_title = title.to_owned();
+                Ok(String::new())
+            }
+        }
+    }
+}
+
+struct LinkIter<'a>(CaptureMatches<'a, 'a>);
+
+impl<'a> Iterator for LinkIter<'a> {
+    type Item = Link<'a>;
+    fn next(&mut self) -> Option<Link<'a>> {
+        for cap in &mut self.0 {
+            if let Some(inc) = Link::from_capture(cap) {
+                return Some(inc);
+            }
+        }
+        None
+    }
+}
+
+fn find_links(contents: &str) -> LinkIter<'_> {
+    // lazily compute following regex
+    // r"\\\{\{#.*\}\}|\{\{#([a-zA-Z0-9]+)\s*([^}]+)\}\}")?;
+    static RE: Lazy<Regex> = Lazy::new(|| {
+        Regex::new(
+            r"(?x)              # insignificant whitespace mode
+        \\\{\{\#.*\}\}      # match escaped link
+        |                   # or
+        \{\{\s*             # link opening parens and whitespace
+        \#([a-zA-Z0-9_]+)   # link type
+        \s+                 # separating whitespace
+        ([^}]+)             # link target path and space separated properties
+        \}\}                # link closing parens",
+        )
+        .unwrap()
+    });
+
+    LinkIter(RE.captures_iter(contents))
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_replace_all_escaped() {
+        let start = r"
+        Some text over here.
+        ```hbs
+        \{{#include file.rs}} << an escaped link!
+        ```";
+        let end = r"
+        Some text over here.
+        ```hbs
+        {{#include file.rs}} << an escaped link!
+        ```";
+        let mut chapter_title = "test_replace_all_escaped".to_owned();
+        assert_eq!(replace_all(start, "", "", 0, &mut chapter_title), end);
+    }
+
+    #[test]
+    fn test_set_chapter_title() {
+        let start = r"{{#title My Title}}
+        # My Chapter
+        ";
+        let end = r"
+        # My Chapter
+        ";
+        let mut chapter_title = "test_set_chapter_title".to_owned();
+        assert_eq!(replace_all(start, "", "", 0, &mut chapter_title), end);
+        assert_eq!(chapter_title, "My Title");
+    }
+
+    #[test]
+    fn test_find_links_no_link() {
+        let s = "Some random text without link...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+    }
+
+    #[test]
+    fn test_find_links_partial_link() {
+        let s = "Some random text with {{#playground...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+        let s = "Some random text with {{#include...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+        let s = "Some random text with \\{{#include...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+    }
+
+    #[test]
+    fn test_find_links_empty_link() {
+        let s = "Some random text with {{#playground}} and {{#playground   }} {{}} {{#}}...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+    }
+
+    #[test]
+    fn test_find_links_unknown_link_type() {
+        let s = "Some random text with {{#playgroundz ar.rs}} and {{#incn}} {{baz}} {{#bar}}...";
+        assert!(find_links(s).collect::<Vec<_>>() == vec![]);
+    }
+
+    #[test]
+    fn test_find_links_simple_link() {
+        let s = "Some random text with {{#playground file.rs}} and {{#playground test.rs }}...";
+
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+
+        assert_eq!(
+            res,
+            vec![
+                Link {
+                    start_index: 22,
+                    end_index: 45,
+                    link_type: LinkType::Playground(PathBuf::from("file.rs"), vec![]),
+                    link_text: "{{#playground file.rs}}",
+                },
+                Link {
+                    start_index: 50,
+                    end_index: 74,
+                    link_type: LinkType::Playground(PathBuf::from("test.rs"), vec![]),
+                    link_text: "{{#playground test.rs }}",
+                },
+            ]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_special_characters() {
+        let s = "Some random text with {{#playground foo-bar\\baz/_c++.rs}}...";
+
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 57,
+                link_type: LinkType::Playground(PathBuf::from("foo-bar\\baz/_c++.rs"), vec![]),
+                link_text: "{{#playground foo-bar\\baz/_c++.rs}}",
+            },]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_range() {
+        let s = "Some random text with {{#include file.rs:10:20}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 48,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(9..20))
+                ),
+                link_text: "{{#include file.rs:10:20}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_line_number() {
+        let s = "Some random text with {{#include file.rs:10}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 45,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(9..10))
+                ),
+                link_text: "{{#include file.rs:10}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_from_range() {
+        let s = "Some random text with {{#include file.rs:10:}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 46,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(9..))
+                ),
+                link_text: "{{#include file.rs:10:}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_to_range() {
+        let s = "Some random text with {{#include file.rs::20}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 46,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(..20))
+                ),
+                link_text: "{{#include file.rs::20}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_full_range() {
+        let s = "Some random text with {{#include file.rs::}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 44,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(..))
+                ),
+                link_text: "{{#include file.rs::}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_no_range_specified() {
+        let s = "Some random text with {{#include file.rs}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 42,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(..))
+                ),
+                link_text: "{{#include file.rs}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_with_anchor() {
+        let s = "Some random text with {{#include file.rs:anchor}}...";
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 22,
+                end_index: 49,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Anchor(String::from("anchor"))
+                ),
+                link_text: "{{#include file.rs:anchor}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_links_escaped_link() {
+        let s = "Some random text with escaped playground \\{{#playground file.rs editable}} ...";
+
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+
+        assert_eq!(
+            res,
+            vec![Link {
+                start_index: 41,
+                end_index: 74,
+                link_type: LinkType::Escaped,
+                link_text: "\\{{#playground file.rs editable}}",
+            }]
+        );
+    }
+
+    #[test]
+    fn test_find_playgrounds_with_properties() {
+        let s =
+            "Some random text with escaped playground {{#playground file.rs editable }} and some \
+                 more\n text {{#playground my.rs editable no_run should_panic}} ...";
+
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(
+            res,
+            vec![
+                Link {
+                    start_index: 41,
+                    end_index: 74,
+                    link_type: LinkType::Playground(PathBuf::from("file.rs"), vec!["editable"]),
+                    link_text: "{{#playground file.rs editable }}",
+                },
+                Link {
+                    start_index: 95,
+                    end_index: 145,
+                    link_type: LinkType::Playground(
+                        PathBuf::from("my.rs"),
+                        vec!["editable", "no_run", "should_panic"],
+                    ),
+                    link_text: "{{#playground my.rs editable no_run should_panic}}",
+                },
+            ]
+        );
+    }
+
+    #[test]
+    fn test_find_all_link_types() {
+        let s =
+            "Some random text with escaped playground {{#include file.rs}} and \\{{#contents are \
+                 insignifficant in escaped link}} some more\n text  {{#playground my.rs editable \
+                 no_run should_panic}} ...";
+
+        let res = find_links(s).collect::<Vec<_>>();
+        println!("\nOUTPUT: {:?}\n", res);
+        assert_eq!(res.len(), 3);
+        assert_eq!(
+            res[0],
+            Link {
+                start_index: 41,
+                end_index: 61,
+                link_type: LinkType::Include(
+                    PathBuf::from("file.rs"),
+                    RangeOrAnchor::Range(LineRange::from(..))
+                ),
+                link_text: "{{#include file.rs}}",
+            }
+        );
+        assert_eq!(
+            res[1],
+            Link {
+                start_index: 66,
+                end_index: 115,
+                link_type: LinkType::Escaped,
+                link_text: "\\{{#contents are insignifficant in escaped link}}",
+            }
+        );
+        assert_eq!(
+            res[2],
+            Link {
+                start_index: 133,
+                end_index: 183,
+                link_type: LinkType::Playground(
+                    PathBuf::from("my.rs"),
+                    vec!["editable", "no_run", "should_panic"]
+                ),
+                link_text: "{{#playground my.rs editable no_run should_panic}}",
+            }
+        );
+    }
+
+    #[test]
+    fn parse_without_colon_includes_all() {
+        let link_type = parse_include_path("arbitrary");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(RangeFull))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_nothing_after_colon_includes_all() {
+        let link_type = parse_include_path("arbitrary:");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(RangeFull))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_two_colons_includes_all() {
+        let link_type = parse_include_path("arbitrary::");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(RangeFull))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_garbage_after_two_colons_includes_all() {
+        let link_type = parse_include_path("arbitrary::NaN");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(RangeFull))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_one_number_after_colon_only_that_line() {
+        let link_type = parse_include_path("arbitrary:5");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(4..5))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_one_based_start_becomes_zero_based() {
+        let link_type = parse_include_path("arbitrary:1");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(0..1))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_zero_based_start_stays_zero_based_but_is_probably_an_error() {
+        let link_type = parse_include_path("arbitrary:0");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(0..1))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_start_only_range() {
+        let link_type = parse_include_path("arbitrary:5:");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(4..))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_start_with_garbage_interpreted_as_start_only_range() {
+        let link_type = parse_include_path("arbitrary:5:NaN");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(4..))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_end_only_range() {
+        let link_type = parse_include_path("arbitrary::5");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(..5))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_start_and_end_range() {
+        let link_type = parse_include_path("arbitrary:5:10");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(4..10))
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_negative_interpreted_as_anchor() {
+        let link_type = parse_include_path("arbitrary:-5");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Anchor("-5".to_string())
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_floating_point_interpreted_as_anchor() {
+        let link_type = parse_include_path("arbitrary:-5.7");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Anchor("-5.7".to_string())
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_anchor_followed_by_colon() {
+        let link_type = parse_include_path("arbitrary:some-anchor:this-gets-ignored");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Anchor("some-anchor".to_string())
+            )
+        );
+    }
+
+    #[test]
+    fn parse_with_more_than_three_colons_ignores_everything_after_third_colon() {
+        let link_type = parse_include_path("arbitrary:5:10:17:anything:");
+        assert_eq!(
+            link_type,
+            LinkType::Include(
+                PathBuf::from("arbitrary"),
+                RangeOrAnchor::Range(LineRange::from(4..10))
+            )
+        );
+    }
+}
diff --git a/src/preprocess/mod.rs b/src/preprocess/mod.rs
new file mode 100644
index 0000000..df01a3d
--- /dev/null
+++ b/src/preprocess/mod.rs
@@ -0,0 +1,69 @@
+//! Book preprocessing.
+
+pub use self::cmd::CmdPreprocessor;
+pub use self::index::IndexPreprocessor;
+pub use self::links::LinkPreprocessor;
+
+mod cmd;
+mod index;
+mod links;
+
+use crate::book::Book;
+use crate::config::Config;
+use crate::errors::*;
+
+use serde::{Deserialize, Serialize};
+use std::cell::RefCell;
+use std::collections::HashMap;
+use std::path::PathBuf;
+
+/// Extra information for a `Preprocessor` to give them more context when
+/// processing a book.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+pub struct PreprocessorContext {
+    /// The location of the book directory on disk.
+    pub root: PathBuf,
+    /// The book configuration (`book.toml`).
+    pub config: Config,
+    /// The `Renderer` this preprocessor is being used with.
+    pub renderer: String,
+    /// The calling `mdbook` version.
+    pub mdbook_version: String,
+    #[serde(skip)]
+    pub(crate) chapter_titles: RefCell<HashMap<PathBuf, String>>,
+    #[serde(skip)]
+    __non_exhaustive: (),
+}
+
+impl PreprocessorContext {
+    /// Create a new `PreprocessorContext`.
+    pub(crate) fn new(root: PathBuf, config: Config, renderer: String) -> Self {
+        PreprocessorContext {
+            root,
+            config,
+            renderer,
+            mdbook_version: crate::MDBOOK_VERSION.to_string(),
+            chapter_titles: RefCell::new(HashMap::new()),
+            __non_exhaustive: (),
+        }
+    }
+}
+
+/// An operation which is run immediately after loading a book into memory and
+/// before it gets rendered.
+pub trait Preprocessor {
+    /// Get the `Preprocessor`'s name.
+    fn name(&self) -> &str;
+
+    /// Run this `Preprocessor`, allowing it to update the book before it is
+    /// given to a renderer.
+    fn run(&self, ctx: &PreprocessorContext, book: Book) -> Result<Book>;
+
+    /// A hint to `MDBook` whether this preprocessor is compatible with a
+    /// particular renderer.
+    ///
+    /// By default, always returns `true`.
+    fn supports_renderer(&self, _renderer: &str) -> bool {
+        true
+    }
+}
diff --git a/src/renderer/html_handlebars/hbs_renderer.rs b/src/renderer/html_handlebars/hbs_renderer.rs
new file mode 100644
index 0000000..673be6d
--- /dev/null
+++ b/src/renderer/html_handlebars/hbs_renderer.rs
@@ -0,0 +1,1292 @@
+use crate::book::{Book, BookItem};
+use crate::config::{BookConfig, Code, Config, HtmlConfig, Playground, RustEdition};
+use crate::errors::*;
+use crate::renderer::html_handlebars::helpers;
+use crate::renderer::{RenderContext, Renderer};
+use crate::theme::{self, playground_editor, Theme};
+use crate::utils;
+
+use std::borrow::Cow;
+use std::collections::BTreeMap;
+use std::collections::HashMap;
+use std::fs::{self, File};
+use std::path::{Path, PathBuf};
+
+use crate::utils::fs::get_404_output_file;
+use handlebars::Handlebars;
+use log::{debug, trace, warn};
+use once_cell::sync::Lazy;
+use regex::{Captures, Regex};
+use serde_json::json;
+
+#[derive(Default)]
+pub struct HtmlHandlebars;
+
+impl HtmlHandlebars {
+    pub fn new() -> Self {
+        HtmlHandlebars
+    }
+
+    fn render_item(
+        &self,
+        item: &BookItem,
+        mut ctx: RenderItemContext<'_>,
+        print_content: &mut String,
+    ) -> Result<()> {
+        // FIXME: This should be made DRY-er and rely less on mutable state
+
+        let (ch, path) = match item {
+            BookItem::Chapter(ch) if !ch.is_draft_chapter() => (ch, ch.path.as_ref().unwrap()),
+            _ => return Ok(()),
+        };
+
+        if let Some(ref edit_url_template) = ctx.html_config.edit_url_template {
+            let full_path = ctx.book_config.src.to_str().unwrap_or_default().to_owned()
+                + "/"
+                + ch.source_path
+                    .clone()
+                    .unwrap_or_default()
+                    .to_str()
+                    .unwrap_or_default();
+
+            let edit_url = edit_url_template.replace("{path}", &full_path);
+            ctx.data
+                .insert("git_repository_edit_url".to_owned(), json!(edit_url));
+        }
+
+        let content = utils::render_markdown(&ch.content, ctx.html_config.curly_quotes);
+
+        let fixed_content =
+            utils::render_markdown_with_path(&ch.content, ctx.html_config.curly_quotes, Some(path));
+        if !ctx.is_index && ctx.html_config.print.page_break {
+            // Add page break between chapters
+            // See https://developer.mozilla.org/en-US/docs/Web/CSS/break-before and https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before
+            // Add both two CSS properties because of the compatibility issue
+            print_content
+                .push_str(r#"<div style="break-before: page; page-break-before: always;"></div>"#);
+        }
+        print_content.push_str(&fixed_content);
+
+        // Update the context with data for this file
+        let ctx_path = path
+            .to_str()
+            .with_context(|| "Could not convert path to str")?;
+        let filepath = Path::new(&ctx_path).with_extension("html");
+
+        // "print.html" is used for the print page.
+        if path == Path::new("print.md") {
+            bail!("{} is reserved for internal use", path.display());
+        };
+
+        let book_title = ctx
+            .data
+            .get("book_title")
+            .and_then(serde_json::Value::as_str)
+            .unwrap_or("");
+
+        let title = if let Some(title) = ctx.chapter_titles.get(path) {
+            title.clone()
+        } else if book_title.is_empty() {
+            ch.name.clone()
+        } else {
+            ch.name.clone() + " - " + book_title
+        };
+
+        ctx.data.insert("path".to_owned(), json!(path));
+        ctx.data.insert("content".to_owned(), json!(content));
+        ctx.data.insert("chapter_title".to_owned(), json!(ch.name));
+        ctx.data.insert("title".to_owned(), json!(title));
+        if let Some(site_url) = &ctx.html_config.site_url {
+            ctx.data.insert("base_url".to_owned(), json!(site_url));
+            ctx.data.insert(
+                "path_to_root".to_owned(),
+                json!(site_url),
+            );
+        } else {
+            ctx.data.insert(
+                "path_to_root".to_owned(),
+                json!(utils::fs::path_to_root(path)),
+            );
+        }
+        if let Some(ref section) = ch.number {
+            ctx.data
+                .insert("section".to_owned(), json!(section.to_string()));
+        }
+
+        // Render the handlebars template with the data
+        debug!("Render template");
+        let rendered = ctx.handlebars.render("index", &ctx.data)?;
+
+        let rendered = self.post_process(
+            rendered,
+            &ctx.html_config.playground,
+            &ctx.html_config.code,
+            ctx.edition,
+        );
+
+        // Write to file
+        debug!("Creating {}", filepath.display());
+        utils::fs::write_file(&ctx.destination, &filepath, rendered.as_bytes())?;
+
+        if ctx.is_index {
+            ctx.data.insert("path".to_owned(), json!("index.md"));
+            ctx.data.insert("path_to_root".to_owned(), json!(""));
+            ctx.data.insert("is_index".to_owned(), json!(true));
+            let rendered_index = ctx.handlebars.render("index", &ctx.data)?;
+            let rendered_index = self.post_process(
+                rendered_index,
+                &ctx.html_config.playground,
+                &ctx.html_config.code,
+                ctx.edition,
+            );
+            debug!("Creating index.html from {}", ctx_path);
+            utils::fs::write_file(&ctx.destination, "index.html", rendered_index.as_bytes())?;
+        }
+
+        Ok(())
+    }
+
+    fn render_404(
+        &self,
+        ctx: &RenderContext,
+        html_config: &HtmlConfig,
+        src_dir: &Path,
+        handlebars: &mut Handlebars<'_>,
+        data: &mut serde_json::Map<String, serde_json::Value>,
+    ) -> Result<()> {
+        let destination = &ctx.destination;
+        let content_404 = if let Some(ref filename) = html_config.input_404 {
+            let path = src_dir.join(filename);
+            std::fs::read_to_string(&path)
+                .with_context(|| format!("unable to open 404 input file {:?}", path))?
+        } else {
+            // 404 input not explicitly configured try the default file 404.md
+            let default_404_location = src_dir.join("404.md");
+            if default_404_location.exists() {
+                std::fs::read_to_string(&default_404_location).with_context(|| {
+                    format!("unable to open 404 input file {:?}", default_404_location)
+                })?
+            } else {
+                "# Document not found (404)\n\nThis URL is invalid, sorry. Please use the \
+                navigation bar or search to continue."
+                    .to_string()
+            }
+        };
+        let html_content_404 = utils::render_markdown(&content_404, html_config.curly_quotes);
+
+        let mut data_404 = data.clone();
+        let base_url = if let Some(site_url) = &html_config.site_url {
+            site_url
+        } else {
+            debug!(
+                "HTML 'site-url' parameter not set, defaulting to '/'. Please configure \
+                this to ensure the 404 page work correctly, especially if your site is hosted in a \
+                subdirectory on the HTTP server."
+            );
+            "/"
+        };
+        data_404.insert("base_url".to_owned(), json!(base_url));
+        // Set a dummy path to ensure other paths (e.g. in the TOC) are generated correctly
+        data_404.insert("path".to_owned(), json!("404.md"));
+        data_404.insert("content".to_owned(), json!(html_content_404));
+
+        let mut title = String::from("Page not found");
+        if let Some(book_title) = &ctx.config.book.title {
+            title.push_str(" - ");
+            title.push_str(book_title);
+        }
+        data_404.insert("title".to_owned(), json!(title));
+        let rendered = handlebars.render("index", &data_404)?;
+
+        let rendered = self.post_process(
+            rendered,
+            &html_config.playground,
+            &html_config.code,
+            ctx.config.rust.edition,
+        );
+        let output_file = get_404_output_file(&html_config.input_404);
+        utils::fs::write_file(destination, output_file, rendered.as_bytes())?;
+        debug!("Creating 404.html ✓");
+        Ok(())
+    }
+
+    #[cfg_attr(feature = "cargo-clippy", allow(clippy::let_and_return))]
+    fn post_process(
+        &self,
+        rendered: String,
+        playground_config: &Playground,
+        code_config: &Code,
+        edition: Option<RustEdition>,
+    ) -> String {
+        let rendered = build_header_links(&rendered);
+        let rendered = fix_code_blocks(&rendered);
+        let rendered = add_playground_pre(&rendered, playground_config, edition);
+        let rendered = hide_lines(&rendered, code_config);
+
+        rendered
+    }
+
+    fn copy_static_files(
+        &self,
+        destination: &Path,
+        theme: &Theme,
+        html_config: &HtmlConfig,
+    ) -> Result<()> {
+        use crate::utils::fs::write_file;
+
+        write_file(
+            destination,
+            ".nojekyll",
+            b"This file makes sure that Github Pages doesn't process mdBook's output.\n",
+        )?;
+
+        if let Some(cname) = &html_config.cname {
+            write_file(destination, "CNAME", format!("{}\n", cname).as_bytes())?;
+        }
+
+        write_file(destination, "book.js", &theme.js)?;
+        write_file(destination, "css/general.css", &theme.general_css)?;
+        write_file(destination, "css/chrome.css", &theme.chrome_css)?;
+        if html_config.print.enable {
+            write_file(destination, "css/print.css", &theme.print_css)?;
+        }
+        write_file(destination, "css/variables.css", &theme.variables_css)?;
+        if let Some(contents) = &theme.favicon_png {
+            write_file(destination, "favicon.png", contents)?;
+        }
+        if let Some(contents) = &theme.favicon_svg {
+            write_file(destination, "favicon.svg", contents)?;
+        }
+        write_file(destination, "highlight.css", &theme.highlight_css)?;
+        write_file(destination, "tomorrow-night.css", &theme.tomorrow_night_css)?;
+        write_file(destination, "ayu-highlight.css", &theme.ayu_highlight_css)?;
+        write_file(destination, "highlight.js", &theme.highlight_js)?;
+        write_file(destination, "clipboard.min.js", &theme.clipboard_js)?;
+        write_file(
+            destination,
+            "FontAwesome/css/font-awesome.css",
+            theme::FONT_AWESOME,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/fontawesome-webfont.eot",
+            theme::FONT_AWESOME_EOT,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/fontawesome-webfont.svg",
+            theme::FONT_AWESOME_SVG,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/fontawesome-webfont.ttf",
+            theme::FONT_AWESOME_TTF,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/fontawesome-webfont.woff",
+            theme::FONT_AWESOME_WOFF,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/fontawesome-webfont.woff2",
+            theme::FONT_AWESOME_WOFF2,
+        )?;
+        write_file(
+            destination,
+            "FontAwesome/fonts/FontAwesome.ttf",
+            theme::FONT_AWESOME_TTF,
+        )?;
+        // Don't copy the stock fonts if the user has specified their own fonts to use.
+        if html_config.copy_fonts && theme.fonts_css.is_none() {
+            write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
+            for (file_name, contents) in theme::fonts::LICENSES.iter() {
+                write_file(destination, file_name, contents)?;
+            }
+            for (file_name, contents) in theme::fonts::OPEN_SANS.iter() {
+                write_file(destination, file_name, contents)?;
+            }
+            write_file(
+                destination,
+                theme::fonts::SOURCE_CODE_PRO.0,
+                theme::fonts::SOURCE_CODE_PRO.1,
+            )?;
+        }
+        if let Some(fonts_css) = &theme.fonts_css {
+            if !fonts_css.is_empty() {
+                write_file(destination, "fonts/fonts.css", fonts_css)?;
+            }
+        }
+        if !html_config.copy_fonts && theme.fonts_css.is_none() {
+            warn!(
+                "output.html.copy-fonts is deprecated.\n\
+                This book appears to have copy-fonts=false in book.toml without a fonts.css file.\n\
+                Add an empty `theme/fonts/fonts.css` file to squelch this warning."
+            );
+        }
+        for font_file in &theme.font_files {
+            let contents = fs::read(font_file)?;
+            let filename = font_file.file_name().unwrap();
+            let filename = Path::new("fonts").join(filename);
+            write_file(destination, filename, &contents)?;
+        }
+
+        let playground_config = &html_config.playground;
+
+        // Ace is a very large dependency, so only load it when requested
+        if playground_config.editable && playground_config.copy_js {
+            // Load the editor
+            write_file(destination, "editor.js", playground_editor::JS)?;
+            write_file(destination, "ace.js", playground_editor::ACE_JS)?;
+            write_file(destination, "mode-rust.js", playground_editor::MODE_RUST_JS)?;
+            write_file(
+                destination,
+                "theme-dawn.js",
+                playground_editor::THEME_DAWN_JS,
+            )?;
+            write_file(
+                destination,
+                "theme-tomorrow_night.js",
+                playground_editor::THEME_TOMORROW_NIGHT_JS,
+            )?;
+        }
+
+        Ok(())
+    }
+
+    /// Update the context with data for this file
+    fn configure_print_version(
+        &self,
+        data: &mut serde_json::Map<String, serde_json::Value>,
+        print_content: &str,
+    ) {
+        // Make sure that the Print chapter does not display the title from
+        // the last rendered chapter by removing it from its context
+        data.remove("title");
+        data.insert("is_print".to_owned(), json!(true));
+        data.insert("path".to_owned(), json!("print.md"));
+        data.insert("content".to_owned(), json!(print_content));
+        data.insert(
+            "path_to_root".to_owned(),
+            json!(utils::fs::path_to_root(Path::new("print.md"))),
+        );
+    }
+
+    fn register_hbs_helpers(&self, handlebars: &mut Handlebars<'_>, html_config: &HtmlConfig) {
+        handlebars.register_helper(
+            "toc",
+            Box::new(helpers::toc::RenderToc {
+                no_section_label: html_config.no_section_label,
+            }),
+        );
+        handlebars.register_helper("previous", Box::new(helpers::navigation::previous));
+        handlebars.register_helper("next", Box::new(helpers::navigation::next));
+        // TODO: remove theme_option in 0.5, it is not needed.
+        handlebars.register_helper("theme_option", Box::new(helpers::theme::theme_option));
+    }
+
+    /// Copy across any additional CSS and JavaScript files which the book
+    /// has been configured to use.
+    fn copy_additional_css_and_js(
+        &self,
+        html: &HtmlConfig,
+        root: &Path,
+        destination: &Path,
+    ) -> Result<()> {
+        let custom_files = html.additional_css.iter().chain(html.additional_js.iter());
+
+        debug!("Copying additional CSS and JS");
+
+        for custom_file in custom_files {
+            let input_location = root.join(custom_file);
+            let output_location = destination.join(custom_file);
+            if let Some(parent) = output_location.parent() {
+                fs::create_dir_all(parent)
+                    .with_context(|| format!("Unable to create {}", parent.display()))?;
+            }
+            debug!(
+                "Copying {} -> {}",
+                input_location.display(),
+                output_location.display()
+            );
+
+            fs::copy(&input_location, &output_location).with_context(|| {
+                format!(
+                    "Unable to copy {} to {}",
+                    input_location.display(),
+                    output_location.display()
+                )
+            })?;
+        }
+
+        Ok(())
+    }
+
+    fn emit_redirects(
+        &self,
+        root: &Path,
+        handlebars: &Handlebars<'_>,
+        redirects: &HashMap<String, String>,
+    ) -> Result<()> {
+        if redirects.is_empty() {
+            return Ok(());
+        }
+
+        log::debug!("Emitting redirects");
+
+        for (original, new) in redirects {
+            log::debug!("Redirecting \"{}\" → \"{}\"", original, new);
+            // Note: all paths are relative to the build directory, so the
+            // leading slash in an absolute path means nothing (and would mess
+            // up `root.join(original)`).
+            let original = original.trim_start_matches('/');
+            let filename = root.join(original);
+            self.emit_redirect(handlebars, &filename, new)?;
+        }
+
+        Ok(())
+    }
+
+    fn emit_redirect(
+        &self,
+        handlebars: &Handlebars<'_>,
+        original: &Path,
+        destination: &str,
+    ) -> Result<()> {
+        if original.exists() {
+            // sanity check to avoid accidentally overwriting a real file.
+            let msg = format!(
+                "Not redirecting \"{}\" to \"{}\" because it already exists. Are you sure it needs to be redirected?",
+                original.display(),
+                destination,
+            );
+            return Err(Error::msg(msg));
+        }
+
+        if let Some(parent) = original.parent() {
+            std::fs::create_dir_all(parent)
+                .with_context(|| format!("Unable to ensure \"{}\" exists", parent.display()))?;
+        }
+
+        let ctx = json!({
+            "url": destination,
+        });
+        let f = File::create(original)?;
+        handlebars
+            .render_to_write("redirect", &ctx, f)
+            .with_context(|| {
+                format!(
+                    "Unable to create a redirect file at \"{}\"",
+                    original.display()
+                )
+            })?;
+
+        Ok(())
+    }
+}
+
+impl Renderer for HtmlHandlebars {
+    fn name(&self) -> &str {
+        "html"
+    }
+
+    fn render(&self, ctx: &RenderContext) -> Result<()> {
+        let book_config = &ctx.config.book;
+        let html_config = ctx.config.html_config().unwrap_or_default();
+        let src_dir = ctx.root.join(&ctx.config.book.src);
+        let destination = &ctx.destination;
+        let book = &ctx.book;
+        let build_dir = ctx.root.join(&ctx.config.build.build_dir);
+
+        if destination.exists() {
+            utils::fs::remove_dir_content(destination)
+                .with_context(|| "Unable to remove stale HTML output")?;
+        }
+
+        trace!("render");
+        let mut handlebars = Handlebars::new();
+
+        let theme_dir = match html_config.theme {
+            Some(ref theme) => {
+                let dir = ctx.root.join(theme);
+                if !dir.is_dir() {
+                    bail!("theme dir {} does not exist", dir.display());
+                }
+                dir
+            }
+            None => ctx.root.join("theme"),
+        };
+
+        let theme = theme::Theme::new(theme_dir);
+
+        debug!("Register the index handlebars template");
+        handlebars.register_template_string("index", String::from_utf8(theme.index.clone())?)?;
+
+        debug!("Register the head handlebars template");
+        handlebars.register_partial("head", String::from_utf8(theme.head.clone())?)?;
+
+        debug!("Register the redirect handlebars template");
+        handlebars
+            .register_template_string("redirect", String::from_utf8(theme.redirect.clone())?)?;
+
+        debug!("Register the header handlebars template");
+        handlebars.register_partial("header", String::from_utf8(theme.header.clone())?)?;
+
+        debug!("Register handlebars helpers");
+        self.register_hbs_helpers(&mut handlebars, &html_config);
+
+        let mut data = make_data(&ctx.root, book, &ctx.config, &html_config, &theme)?;
+
+        // Print version
+        let mut print_content = String::new();
+
+        fs::create_dir_all(destination)
+            .with_context(|| "Unexpected error when constructing destination path")?;
+
+        let mut is_index = true;
+        for item in book.iter() {
+            let ctx = RenderItemContext {
+                handlebars: &handlebars,
+                destination: destination.to_path_buf(),
+                data: data.clone(),
+                is_index,
+                book_config: book_config.clone(),
+                html_config: html_config.clone(),
+                edition: ctx.config.rust.edition,
+                chapter_titles: &ctx.chapter_titles,
+            };
+            self.render_item(item, ctx, &mut print_content)?;
+            // Only the first non-draft chapter item should be treated as the "index"
+            is_index &= !matches!(item, BookItem::Chapter(ch) if !ch.is_draft_chapter());
+        }
+
+        // Render 404 page
+        if html_config.input_404 != Some("".to_string()) {
+            self.render_404(ctx, &html_config, &src_dir, &mut handlebars, &mut data)?;
+        }
+
+        // Print version
+        self.configure_print_version(&mut data, &print_content);
+        if let Some(ref title) = ctx.config.book.title {
+            data.insert("title".to_owned(), json!(title));
+        }
+
+        // Render the handlebars template with the data
+        if html_config.print.enable {
+            debug!("Render template");
+            let rendered = handlebars.render("index", &data)?;
+
+            let rendered = self.post_process(
+                rendered,
+                &html_config.playground,
+                &html_config.code,
+                ctx.config.rust.edition,
+            );
+
+            utils::fs::write_file(destination, "print.html", rendered.as_bytes())?;
+            debug!("Creating print.html ✓");
+        }
+
+        debug!("Copy static files");
+        self.copy_static_files(destination, &theme, &html_config)
+            .with_context(|| "Unable to copy across static files")?;
+        self.copy_additional_css_and_js(&html_config, &ctx.root, destination)
+            .with_context(|| "Unable to copy across additional CSS and JS")?;
+
+        // Render search index
+        #[cfg(feature = "search")]
+        {
+            let search = html_config.search.unwrap_or_default();
+            if search.enable {
+                super::search::create_files(&search, destination, book)?;
+            }
+        }
+
+        self.emit_redirects(&ctx.destination, &handlebars, &html_config.redirect)
+            .context("Unable to emit redirects")?;
+
+        // Copy all remaining files, avoid a recursive copy from/to the book build dir
+        utils::fs::copy_files_except_ext(&src_dir, destination, true, Some(&build_dir), &["md"])?;
+
+        Ok(())
+    }
+}
+
+fn make_data(
+    root: &Path,
+    book: &Book,
+    config: &Config,
+    html_config: &HtmlConfig,
+    theme: &Theme,
+) -> Result<serde_json::Map<String, serde_json::Value>> {
+    trace!("make_data");
+
+    let mut data = serde_json::Map::new();
+    data.insert(
+        "language".to_owned(),
+        json!(config.book.language.clone().unwrap_or_default()),
+    );
+    data.insert(
+        "text_direction".to_owned(),
+        json!(config.book.realized_text_direction()),
+    );
+    data.insert(
+        "book_title".to_owned(),
+        json!(config.book.title.clone().unwrap_or_default()),
+    );
+    data.insert(
+        "description".to_owned(),
+        json!(config.book.description.clone().unwrap_or_default()),
+    );
+    if theme.favicon_png.is_some() {
+        data.insert("favicon_png".to_owned(), json!("favicon.png"));
+    }
+    if theme.favicon_svg.is_some() {
+        data.insert("favicon_svg".to_owned(), json!("favicon.svg"));
+    }
+    if let Some(ref live_reload_endpoint) = html_config.live_reload_endpoint {
+        data.insert(
+            "live_reload_endpoint".to_owned(),
+            json!(live_reload_endpoint),
+        );
+    }
+
+    // TODO: remove default_theme in 0.5, it is not needed.
+    let default_theme = match html_config.default_theme {
+        Some(ref theme) => theme.to_lowercase(),
+        None => "light".to_string(),
+    };
+    data.insert("default_theme".to_owned(), json!(default_theme));
+
+    let preferred_dark_theme = match html_config.preferred_dark_theme {
+        Some(ref theme) => theme.to_lowercase(),
+        None => "navy".to_string(),
+    };
+    data.insert(
+        "preferred_dark_theme".to_owned(),
+        json!(preferred_dark_theme),
+    );
+
+    // Add google analytics tag
+    if let Some(ref ga) = html_config.google_analytics {
+        data.insert("google_analytics".to_owned(), json!(ga));
+    }
+
+    if html_config.mathjax_support {
+        data.insert("mathjax_support".to_owned(), json!(true));
+    }
+
+    // This `matches!` checks for a non-empty file.
+    if html_config.copy_fonts || matches!(theme.fonts_css.as_deref(), Some([_, ..])) {
+        data.insert("copy_fonts".to_owned(), json!(true));
+    }
+
+    // Add check to see if there is an additional style
+    if !html_config.additional_css.is_empty() {
+        let mut css = Vec::new();
+        for style in &html_config.additional_css {
+            match style.strip_prefix(root) {
+                Ok(p) => css.push(p.to_str().expect("Could not convert to str")),
+                Err(_) => css.push(style.to_str().expect("Could not convert to str")),
+            }
+        }
+        data.insert("additional_css".to_owned(), json!(css));
+    }
+
+    // Add check to see if there is an additional script
+    if !html_config.additional_js.is_empty() {
+        let mut js = Vec::new();
+        for script in &html_config.additional_js {
+            match script.strip_prefix(root) {
+                Ok(p) => js.push(p.to_str().expect("Could not convert to str")),
+                Err(_) => js.push(script.to_str().expect("Could not convert to str")),
+            }
+        }
+        data.insert("additional_js".to_owned(), json!(js));
+    }
+
+    if html_config.playground.editable && html_config.playground.copy_js {
+        data.insert("playground_js".to_owned(), json!(true));
+        if html_config.playground.line_numbers {
+            data.insert("playground_line_numbers".to_owned(), json!(true));
+        }
+    }
+    if html_config.playground.copyable {
+        data.insert("playground_copyable".to_owned(), json!(true));
+    }
+
+    data.insert("print_enable".to_owned(), json!(html_config.print.enable));
+    data.insert("fold_enable".to_owned(), json!(html_config.fold.enable));
+    data.insert("fold_level".to_owned(), json!(html_config.fold.level));
+
+    let search = html_config.search.clone();
+    if cfg!(feature = "search") {
+        let search = search.unwrap_or_default();
+        data.insert("search_enabled".to_owned(), json!(search.enable));
+        data.insert(
+            "search_js".to_owned(),
+            json!(search.enable && search.copy_js),
+        );
+    } else if search.is_some() {
+        warn!("mdBook compiled without search support, ignoring `output.html.search` table");
+        warn!(
+            "please reinstall with `cargo install mdbook --force --features search`to use the \
+             search feature"
+        )
+    }
+
+    if let Some(ref git_repository_url) = html_config.git_repository_url {
+        data.insert("git_repository_url".to_owned(), json!(git_repository_url));
+    }
+
+    let git_repository_icon = match html_config.git_repository_icon {
+        Some(ref git_repository_icon) => git_repository_icon,
+        None => "fa-github",
+    };
+    data.insert("git_repository_icon".to_owned(), json!(git_repository_icon));
+
+    let mut chapters = vec![];
+
+    for item in book.iter() {
+        // Create the data to inject in the template
+        let mut chapter = BTreeMap::new();
+
+        match *item {
+            BookItem::PartTitle(ref title) => {
+                chapter.insert("part".to_owned(), json!(title));
+            }
+            BookItem::Chapter(ref ch) => {
+                if let Some(ref section) = ch.number {
+                    chapter.insert("section".to_owned(), json!(section.to_string()));
+                }
+
+                chapter.insert(
+                    "has_sub_items".to_owned(),
+                    json!((!ch.sub_items.is_empty()).to_string()),
+                );
+
+                chapter.insert("name".to_owned(), json!(ch.name));
+                if let Some(ref path) = ch.path {
+                    let p = path
+                        .to_str()
+                        .with_context(|| "Could not convert path to str")?;
+                    chapter.insert("path".to_owned(), json!(p));
+                }
+            }
+            BookItem::Separator => {
+                chapter.insert("spacer".to_owned(), json!("_spacer_"));
+            }
+        }
+
+        chapters.push(chapter);
+    }
+
+    data.insert("chapters".to_owned(), json!(chapters));
+
+    debug!("[*]: JSON constructed");
+    Ok(data)
+}
+
+/// Goes through the rendered HTML, making sure all header tags have
+/// an anchor respectively so people can link to sections directly.
+fn build_header_links(html: &str) -> String {
+    static BUILD_HEADER_LINKS: Lazy<Regex> = Lazy::new(|| {
+        Regex::new(r#"<h(\d)(?: id="([^"]+)")?(?: class="([^"]+)")?>(.*?)</h\d>"#).unwrap()
+    });
+    static IGNORE_CLASS: &[&str] = &["menu-title"];
+
+    let mut id_counter = HashMap::new();
+
+    BUILD_HEADER_LINKS
+        .replace_all(html, |caps: &Captures<'_>| {
+            let level = caps[1]
+                .parse()
+                .expect("Regex should ensure we only ever get numbers here");
+
+            // Ignore .menu-title because now it's getting detected by the regex.
+            if let Some(classes) = caps.get(3) {
+                for class in classes.as_str().split(" ") {
+                    if IGNORE_CLASS.contains(&class) {
+                        return caps[0].to_string();
+                    }
+                }
+            }
+
+            insert_link_into_header(
+                level,
+                &caps[4],
+                caps.get(2).map(|x| x.as_str().to_string()),
+                caps.get(3).map(|x| x.as_str().to_string()),
+                &mut id_counter,
+            )
+        })
+        .into_owned()
+}
+
+/// Insert a sinle link into a header, making sure each link gets its own
+/// unique ID by appending an auto-incremented number (if necessary).
+fn insert_link_into_header(
+    level: usize,
+    content: &str,
+    id: Option<String>,
+    classes: Option<String>,
+    id_counter: &mut HashMap<String, usize>,
+) -> String {
+    let id = id.unwrap_or_else(|| utils::unique_id_from_content(content, id_counter));
+    let classes = classes
+        .map(|s| format!(" class=\"{s}\""))
+        .unwrap_or_default();
+
+    format!(
+        r##"<h{level} id="{id}"{classes}><a class="header" href="#{id}">{text}</a></h{level}>"##,
+        level = level,
+        id = id,
+        text = content,
+        classes = classes
+    )
+}
+
+// The rust book uses annotations for rustdoc to test code snippets,
+// like the following:
+// ```rust,should_panic
+// fn main() {
+//     // Code here
+// }
+// ```
+// This function replaces all commas by spaces in the code block classes
+fn fix_code_blocks(html: &str) -> String {
+    static FIX_CODE_BLOCKS: Lazy<Regex> =
+        Lazy::new(|| Regex::new(r##"<code([^>]+)class="([^"]+)"([^>]*)>"##).unwrap());
+
+    FIX_CODE_BLOCKS
+        .replace_all(html, |caps: &Captures<'_>| {
+            let before = &caps[1];
+            let classes = &caps[2].replace(',', " ");
+            let after = &caps[3];
+
+            format!(
+                r#"<code{before}class="{classes}"{after}>"#,
+                before = before,
+                classes = classes,
+                after = after
+            )
+        })
+        .into_owned()
+}
+
+static CODE_BLOCK_RE: Lazy<Regex> =
+    Lazy::new(|| Regex::new(r##"((?s)<code[^>]?class="([^"]+)".*?>(.*?)</code>)"##).unwrap());
+
+fn add_playground_pre(
+    html: &str,
+    playground_config: &Playground,
+    edition: Option<RustEdition>,
+) -> String {
+    CODE_BLOCK_RE
+        .replace_all(html, |caps: &Captures<'_>| {
+            let text = &caps[1];
+            let classes = &caps[2];
+            let code = &caps[3];
+
+            if classes.contains("language-rust")
+                && ((!classes.contains("ignore")
+                    && !classes.contains("noplayground")
+                    && !classes.contains("noplaypen")
+                    && playground_config.runnable)
+                    || classes.contains("mdbook-runnable"))
+            {
+                let contains_e2015 = classes.contains("edition2015");
+                let contains_e2018 = classes.contains("edition2018");
+                let contains_e2021 = classes.contains("edition2021");
+                let edition_class = if contains_e2015 || contains_e2018 || contains_e2021 {
+                    // the user forced edition, we should not overwrite it
+                    ""
+                } else {
+                    match edition {
+                        Some(RustEdition::E2015) => " edition2015",
+                        Some(RustEdition::E2018) => " edition2018",
+                        Some(RustEdition::E2021) => " edition2021",
+                        None => "",
+                    }
+                };
+
+                // wrap the contents in an external pre block
+                format!(
+                    "<pre class=\"playground\"><code class=\"{}{}\">{}</code></pre>",
+                    classes,
+                    edition_class,
+                    {
+                        let content: Cow<'_, str> = if playground_config.editable
+                            && classes.contains("editable")
+                            || text.contains("fn main")
+                            || text.contains("quick_main!")
+                        {
+                            code.into()
+                        } else {
+                            // we need to inject our own main
+                            let (attrs, code) = partition_source(code);
+
+                            format!("# #![allow(unused)]\n{}#fn main() {{\n{}#}}", attrs, code)
+                                .into()
+                        };
+                        content
+                    }
+                )
+            } else {
+                // not language-rust, so no-op
+                text.to_owned()
+            }
+        })
+        .into_owned()
+}
+
+/// Modifies all `<code>` blocks to convert "hidden" lines and to wrap them in
+/// a `<span class="boring">`.
+fn hide_lines(html: &str, code_config: &Code) -> String {
+    let language_regex = Regex::new(r"\blanguage-(\w+)\b").unwrap();
+    let hidelines_regex = Regex::new(r"\bhidelines=(\S+)").unwrap();
+    CODE_BLOCK_RE
+        .replace_all(html, |caps: &Captures<'_>| {
+            let text = &caps[1];
+            let classes = &caps[2];
+            let code = &caps[3];
+
+            if classes.contains("language-rust") {
+                format!(
+                    "<code class=\"{}\">{}</code>",
+                    classes,
+                    hide_lines_rust(code)
+                )
+            } else {
+                // First try to get the prefix from the code block
+                let hidelines_capture = hidelines_regex.captures(classes);
+                let hidelines_prefix = match &hidelines_capture {
+                    Some(capture) => Some(&capture[1]),
+                    None => {
+                        // Then look up the prefix by language
+                        language_regex.captures(classes).and_then(|capture| {
+                            code_config.hidelines.get(&capture[1]).map(|p| p.as_str())
+                        })
+                    }
+                };
+
+                match hidelines_prefix {
+                    Some(prefix) => format!(
+                        "<code class=\"{}\">{}</code>",
+                        classes,
+                        hide_lines_with_prefix(code, prefix)
+                    ),
+                    None => text.to_owned(),
+                }
+            }
+        })
+        .into_owned()
+}
+
+fn hide_lines_rust(content: &str) -> String {
+    static BORING_LINES_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"^(\s*)#(.?)(.*)$").unwrap());
+
+    let mut result = String::with_capacity(content.len());
+    let mut lines = content.lines().peekable();
+    while let Some(line) = lines.next() {
+        // Don't include newline on the last line.
+        let newline = if lines.peek().is_none() { "" } else { "\n" };
+        if let Some(caps) = BORING_LINES_REGEX.captures(line) {
+            if &caps[2] == "#" {
+                result += &caps[1];
+                result += &caps[2];
+                result += &caps[3];
+                result += newline;
+                continue;
+            } else if &caps[2] != "!" && &caps[2] != "[" {
+                result += "<span class=\"boring\">";
+                result += &caps[1];
+                if &caps[2] != " " {
+                    result += &caps[2];
+                }
+                result += &caps[3];
+                result += newline;
+                result += "</span>";
+                continue;
+            }
+        }
+        result += line;
+        result += newline;
+    }
+    result
+}
+
+fn hide_lines_with_prefix(content: &str, prefix: &str) -> String {
+    let mut result = String::with_capacity(content.len());
+    for line in content.lines() {
+        if line.trim_start().starts_with(prefix) {
+            let pos = line.find(prefix).unwrap();
+            let (ws, rest) = (&line[..pos], &line[pos + prefix.len()..]);
+
+            result += "<span class=\"boring\">";
+            result += ws;
+            result += rest;
+            result += "\n";
+            result += "</span>";
+            continue;
+        }
+        result += line;
+        result += "\n";
+    }
+    result
+}
+
+fn partition_source(s: &str) -> (String, String) {
+    let mut after_header = false;
+    let mut before = String::new();
+    let mut after = String::new();
+
+    for line in s.lines() {
+        let trimline = line.trim();
+        let header = trimline.chars().all(char::is_whitespace) || trimline.starts_with("#![");
+        if !header || after_header {
+            after_header = true;
+            after.push_str(line);
+            after.push('\n');
+        } else {
+            before.push_str(line);
+            before.push('\n');
+        }
+    }
+
+    (before, after)
+}
+
+struct RenderItemContext<'a> {
+    handlebars: &'a Handlebars<'a>,
+    destination: PathBuf,
+    data: serde_json::Map<String, serde_json::Value>,
+    is_index: bool,
+    book_config: BookConfig,
+    html_config: HtmlConfig,
+    edition: Option<RustEdition>,
+    chapter_titles: &'a HashMap<PathBuf, String>,
+}
+
+#[cfg(test)]
+mod tests {
+    use crate::config::TextDirection;
+
+    use super::*;
+    use pretty_assertions::assert_eq;
+
+    #[test]
+    fn original_build_header_links() {
+        let inputs = vec![
+            (
+                "blah blah <h1>Foo</h1>",
+                r##"blah blah <h1 id="foo"><a class="header" href="#foo">Foo</a></h1>"##,
+            ),
+            (
+                "<h1>Foo</h1>",
+                r##"<h1 id="foo"><a class="header" href="#foo">Foo</a></h1>"##,
+            ),
+            (
+                "<h3>Foo^bar</h3>",
+                r##"<h3 id="foobar"><a class="header" href="#foobar">Foo^bar</a></h3>"##,
+            ),
+            (
+                "<h4></h4>",
+                r##"<h4 id=""><a class="header" href="#"></a></h4>"##,
+            ),
+            (
+                "<h4><em>Hï</em></h4>",
+                r##"<h4 id="hï"><a class="header" href="#hï"><em>Hï</em></a></h4>"##,
+            ),
+            (
+                "<h1>Foo</h1><h3>Foo</h3>",
+                r##"<h1 id="foo"><a class="header" href="#foo">Foo</a></h1><h3 id="foo-1"><a class="header" href="#foo-1">Foo</a></h3>"##,
+            ),
+            // id only
+            (
+                r##"<h1 id="foobar">Foo</h1>"##,
+                r##"<h1 id="foobar"><a class="header" href="#foobar">Foo</a></h1>"##,
+            ),
+            // class only
+            (
+                r##"<h1 class="class1 class2">Foo</h1>"##,
+                r##"<h1 id="foo" class="class1 class2"><a class="header" href="#foo">Foo</a></h1>"##,
+            ),
+            // both id and class
+            (
+                r##"<h1 id="foobar" class="class1 class2">Foo</h1>"##,
+                r##"<h1 id="foobar" class="class1 class2"><a class="header" href="#foobar">Foo</a></h1>"##,
+            ),
+        ];
+
+        for (src, should_be) in inputs {
+            let got = build_header_links(src);
+            assert_eq!(got, should_be);
+        }
+    }
+
+    #[test]
+    fn add_playground() {
+        let inputs = [
+          ("<code class=\"language-rust\">x()</code>",
+           "<pre class=\"playground\"><code class=\"language-rust\"># #![allow(unused)]\n#fn main() {\nx()\n#}</code></pre>"),
+          ("<code class=\"language-rust\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust\">fn main() {}</code></pre>"),
+          ("<code class=\"language-rust editable\">let s = \"foo\n # bar\n\";</code>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n # bar\n\";</code></pre>"),
+          ("<code class=\"language-rust editable\">let s = \"foo\n ## bar\n\";</code>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n ## bar\n\";</code></pre>"),
+          ("<code class=\"language-rust editable\">let s = \"foo\n # bar\n#\n\";</code>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n # bar\n#\n\";</code></pre>"),
+          ("<code class=\"language-rust ignore\">let s = \"foo\n # bar\n\";</code>",
+           "<code class=\"language-rust ignore\">let s = \"foo\n # bar\n\";</code>"),
+          ("<code class=\"language-rust editable\">#![no_std]\nlet s = \"foo\";\n #[some_attr]</code>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">#![no_std]\nlet s = \"foo\";\n #[some_attr]</code></pre>"),
+        ];
+        for (src, should_be) in &inputs {
+            let got = add_playground_pre(
+                src,
+                &Playground {
+                    editable: true,
+                    ..Playground::default()
+                },
+                None,
+            );
+            assert_eq!(&*got, *should_be);
+        }
+    }
+    #[test]
+    fn add_playground_edition2015() {
+        let inputs = [
+          ("<code class=\"language-rust\">x()</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2015\"># #![allow(unused)]\n#fn main() {\nx()\n#}</code></pre>"),
+          ("<code class=\"language-rust\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2015\">fn main() {}</code></pre>"),
+          ("<code class=\"language-rust edition2015\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2015\">fn main() {}</code></pre>"),
+          ("<code class=\"language-rust edition2018\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2018\">fn main() {}</code></pre>"),
+        ];
+        for (src, should_be) in &inputs {
+            let got = add_playground_pre(
+                src,
+                &Playground {
+                    editable: true,
+                    ..Playground::default()
+                },
+                Some(RustEdition::E2015),
+            );
+            assert_eq!(&*got, *should_be);
+        }
+    }
+    #[test]
+    fn add_playground_edition2018() {
+        let inputs = [
+          ("<code class=\"language-rust\">x()</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2018\"># #![allow(unused)]\n#fn main() {\nx()\n#}</code></pre>"),
+          ("<code class=\"language-rust\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2018\">fn main() {}</code></pre>"),
+          ("<code class=\"language-rust edition2015\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2015\">fn main() {}</code></pre>"),
+          ("<code class=\"language-rust edition2018\">fn main() {}</code>",
+           "<pre class=\"playground\"><code class=\"language-rust edition2018\">fn main() {}</code></pre>"),
+        ];
+        for (src, should_be) in &inputs {
+            let got = add_playground_pre(
+                src,
+                &Playground {
+                    editable: true,
+                    ..Playground::default()
+                },
+                Some(RustEdition::E2018),
+            );
+            assert_eq!(&*got, *should_be);
+        }
+    }
+    #[test]
+    fn add_playground_edition2021() {
+        let inputs = [
+            ("<code class=\"language-rust\">x()</code>",
+             "<pre class=\"playground\"><code class=\"language-rust edition2021\"># #![allow(unused)]\n#fn main() {\nx()\n#}</code></pre>"),
+            ("<code class=\"language-rust\">fn main() {}</code>",
+             "<pre class=\"playground\"><code class=\"language-rust edition2021\">fn main() {}</code></pre>"),
+            ("<code class=\"language-rust edition2015\">fn main() {}</code>",
+             "<pre class=\"playground\"><code class=\"language-rust edition2015\">fn main() {}</code></pre>"),
+            ("<code class=\"language-rust edition2018\">fn main() {}</code>",
+             "<pre class=\"playground\"><code class=\"language-rust edition2018\">fn main() {}</code></pre>"),
+        ];
+        for (src, should_be) in &inputs {
+            let got = add_playground_pre(
+                src,
+                &Playground {
+                    editable: true,
+                    ..Playground::default()
+                },
+                Some(RustEdition::E2021),
+            );
+            assert_eq!(&*got, *should_be);
+        }
+    }
+
+    #[test]
+    fn hide_lines_language_rust() {
+        let inputs = [
+          (
+           "<pre class=\"playground\"><code class=\"language-rust\">\n# #![allow(unused)]\n#fn main() {\nx()\n#}</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust\">\n<span class=\"boring\">#![allow(unused)]\n</span><span class=\"boring\">fn main() {\n</span>x()\n<span class=\"boring\">}</span></code></pre>",),
+          (
+           "<pre class=\"playground\"><code class=\"language-rust\">fn main() {}</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust\">fn main() {}</code></pre>",),
+          (
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n # bar\n\";</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n<span class=\"boring\"> bar\n</span>\";</code></pre>",),
+          (
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n ## bar\n\";</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n # bar\n\";</code></pre>",),
+          (
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n # bar\n#\n\";</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">let s = \"foo\n<span class=\"boring\"> bar\n</span><span class=\"boring\">\n</span>\";</code></pre>",),
+          (
+           "<code class=\"language-rust ignore\">let s = \"foo\n # bar\n\";</code>",
+           "<code class=\"language-rust ignore\">let s = \"foo\n<span class=\"boring\"> bar\n</span>\";</code>",),
+          (
+           "<pre class=\"playground\"><code class=\"language-rust editable\">#![no_std]\nlet s = \"foo\";\n #[some_attr]</code></pre>",
+           "<pre class=\"playground\"><code class=\"language-rust editable\">#![no_std]\nlet s = \"foo\";\n #[some_attr]</code></pre>",),
+        ];
+        for (src, should_be) in &inputs {
+            let got = hide_lines(src, &Code::default());
+            assert_eq!(&*got, *should_be);
+        }
+    }
+
+    #[test]
+    fn hide_lines_language_other() {
+        let inputs = [
+          (
+           "<code class=\"language-python\">~hidden()\nnothidden():\n~    hidden()\n    ~hidden()\n    nothidden()</code>",
+           "<code class=\"language-python\"><span class=\"boring\">hidden()\n</span>nothidden():\n<span class=\"boring\">    hidden()\n</span><span class=\"boring\">    hidden()\n</span>    nothidden()\n</code>",),
+           (
+            "<code class=\"language-python hidelines=!!!\">!!!hidden()\nnothidden():\n!!!    hidden()\n    !!!hidden()\n    nothidden()</code>",
+            "<code class=\"language-python hidelines=!!!\"><span class=\"boring\">hidden()\n</span>nothidden():\n<span class=\"boring\">    hidden()\n</span><span class=\"boring\">    hidden()\n</span>    nothidden()\n</code>",),
+        ];
+        for (src, should_be) in &inputs {
+            let got = hide_lines(
+                src,
+                &Code {
+                    hidelines: {
+                        let mut map = HashMap::new();
+                        map.insert("python".to_string(), "~".to_string());
+                        map
+                    },
+                },
+            );
+            assert_eq!(&*got, *should_be);
+        }
+    }
+
+    #[test]
+    fn test_json_direction() {
+        assert_eq!(json!(TextDirection::RightToLeft), json!("rtl"));
+        assert_eq!(json!(TextDirection::LeftToRight), json!("ltr"));
+    }
+}
diff --git a/src/renderer/html_handlebars/helpers/mod.rs b/src/renderer/html_handlebars/helpers/mod.rs
new file mode 100644
index 0000000..52be6d2
--- /dev/null
+++ b/src/renderer/html_handlebars/helpers/mod.rs
@@ -0,0 +1,3 @@
+pub mod navigation;
+pub mod theme;
+pub mod toc;
diff --git a/src/renderer/html_handlebars/helpers/navigation.rs b/src/renderer/html_handlebars/helpers/navigation.rs
new file mode 100644
index 0000000..86b240b
--- /dev/null
+++ b/src/renderer/html_handlebars/helpers/navigation.rs
@@ -0,0 +1,302 @@
+use std::collections::BTreeMap;
+use std::path::Path;
+
+use handlebars::{
+    Context, Handlebars, Helper, Output, RenderContext, RenderError, RenderErrorReason, Renderable,
+};
+
+use crate::utils;
+use log::{debug, trace};
+use serde_json::json;
+
+type StringMap = BTreeMap<String, String>;
+
+/// Target for `find_chapter`.
+enum Target {
+    Previous,
+    Next,
+}
+
+impl Target {
+    /// Returns target if found.
+    fn find(
+        &self,
+        base_path: &str,
+        current_path: &str,
+        current_item: &StringMap,
+        previous_item: &StringMap,
+    ) -> Result<Option<StringMap>, RenderError> {
+        match *self {
+            Target::Next => {
+                let previous_path = previous_item.get("path").ok_or_else(|| {
+                    RenderErrorReason::Other("No path found for chapter in JSON data".to_owned())
+                })?;
+
+                if previous_path == base_path {
+                    return Ok(Some(current_item.clone()));
+                }
+            }
+
+            Target::Previous => {
+                if current_path == base_path {
+                    return Ok(Some(previous_item.clone()));
+                }
+            }
+        }
+
+        Ok(None)
+    }
+}
+
+fn find_chapter(
+    ctx: &Context,
+    rc: &mut RenderContext<'_, '_>,
+    target: Target,
+) -> Result<Option<StringMap>, RenderError> {
+    debug!("Get data from context");
+
+    let chapters = rc.evaluate(ctx, "@root/chapters").and_then(|c| {
+        serde_json::value::from_value::<Vec<StringMap>>(c.as_json().clone()).map_err(|_| {
+            RenderErrorReason::Other("Could not decode the JSON data".to_owned()).into()
+        })
+    })?;
+
+    let base_path = rc
+        .evaluate(ctx, "@root/path")?
+        .as_json()
+        .as_str()
+        .ok_or_else(|| {
+            RenderErrorReason::Other("Type error for `path`, string expected".to_owned())
+        })?
+        .replace('\"', "");
+
+    if !rc.evaluate(ctx, "@root/is_index")?.is_missing() {
+        // Special case for index.md which may be a synthetic page.
+        // Target::find won't match because there is no page with the path
+        // "index.md" (unless there really is an index.md in SUMMARY.md).
+        match target {
+            Target::Previous => return Ok(None),
+            Target::Next => match chapters
+                .iter()
+                .filter(|chapter| {
+                    // Skip things like "spacer"
+                    chapter.contains_key("path")
+                })
+                .nth(1)
+            {
+                Some(chapter) => return Ok(Some(chapter.clone())),
+                None => return Ok(None),
+            },
+        }
+    }
+
+    let mut previous: Option<StringMap> = None;
+
+    debug!("Search for chapter");
+
+    for item in chapters {
+        match item.get("path") {
+            Some(path) if !path.is_empty() => {
+                if let Some(previous) = previous {
+                    if let Some(item) = target.find(&base_path, path, &item, &previous)? {
+                        return Ok(Some(item));
+                    }
+                }
+
+                previous = Some(item.clone());
+            }
+            _ => continue,
+        }
+    }
+
+    Ok(None)
+}
+
+fn render(
+    _h: &Helper<'_>,
+    r: &Handlebars<'_>,
+    ctx: &Context,
+    rc: &mut RenderContext<'_, '_>,
+    out: &mut dyn Output,
+    chapter: &StringMap,
+) -> Result<(), RenderError> {
+    trace!("Creating BTreeMap to inject in context");
+
+    let mut context = BTreeMap::new();
+    let base_path = rc
+        .evaluate(ctx, "@root/path")?
+        .as_json()
+        .as_str()
+        .ok_or_else(|| {
+            RenderErrorReason::Other("Type error for `path`, string expected".to_owned())
+        })?
+        .replace('\"', "");
+
+    context.insert(
+        "path_to_root".to_owned(),
+        json!(utils::fs::path_to_root(base_path)),
+    );
+
+    chapter
+        .get("name")
+        .ok_or_else(|| {
+            RenderErrorReason::Other("No title found for chapter in JSON data".to_owned())
+        })
+        .map(|name| context.insert("title".to_owned(), json!(name)))?;
+
+    chapter
+        .get("path")
+        .ok_or_else(|| {
+            RenderErrorReason::Other("No path found for chapter in JSON data".to_owned())
+        })
+        .and_then(|p| {
+            Path::new(p)
+                .with_extension("html")
+                .to_str()
+                .ok_or_else(|| {
+                    RenderErrorReason::Other("Link could not be converted to str".to_owned())
+                })
+                .map(|p| context.insert("link".to_owned(), json!(p.replace('\\', "/"))))
+        })?;
+
+    trace!("Render template");
+
+    let t = _h
+        .template()
+        .ok_or_else(|| RenderErrorReason::Other("Error with the handlebars template".to_owned()))?;
+    let local_ctx = Context::wraps(&context)?;
+    let mut local_rc = rc.clone();
+    t.render(r, &local_ctx, &mut local_rc, out)
+}
+
+pub fn previous(
+    _h: &Helper<'_>,
+    r: &Handlebars<'_>,
+    ctx: &Context,
+    rc: &mut RenderContext<'_, '_>,
+    out: &mut dyn Output,
+) -> Result<(), RenderError> {
+    trace!("previous (handlebars helper)");
+
+    if let Some(previous) = find_chapter(ctx, rc, Target::Previous)? {
+        render(_h, r, ctx, rc, out, &previous)?;
+    }
+
+    Ok(())
+}
+
+pub fn next(
+    _h: &Helper<'_>,
+    r: &Handlebars<'_>,
+    ctx: &Context,
+    rc: &mut RenderContext<'_, '_>,
+    out: &mut dyn Output,
+) -> Result<(), RenderError> {
+    trace!("next (handlebars helper)");
+
+    if let Some(next) = find_chapter(ctx, rc, Target::Next)? {
+        render(_h, r, ctx, rc, out, &next)?;
+    }
+
+    Ok(())
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    static TEMPLATE: &str =
+        "{{#previous}}{{title}}: {{link}}{{/previous}}|{{#next}}{{title}}: {{link}}{{/next}}";
+
+    #[test]
+    fn test_next_previous() {
+        let data = json!({
+           "name": "two",
+           "path": "two.path",
+           "chapters": [
+              {
+                 "name": "one",
+                 "path": "one.path"
+              },
+              {
+                 "name": "two",
+                 "path": "two.path",
+              },
+              {
+                 "name": "three",
+                 "path": "three.path"
+              }
+           ]
+        });
+
+        let mut h = Handlebars::new();
+        h.register_helper("previous", Box::new(previous));
+        h.register_helper("next", Box::new(next));
+
+        assert_eq!(
+            h.render_template(TEMPLATE, &data).unwrap(),
+            "one: one.html|three: three.html"
+        );
+    }
+
+    #[test]
+    fn test_first() {
+        let data = json!({
+           "name": "one",
+           "path": "one.path",
+           "chapters": [
+              {
+                 "name": "one",
+                 "path": "one.path"
+              },
+              {
+                 "name": "two",
+                 "path": "two.path",
+              },
+              {
+                 "name": "three",
+                 "path": "three.path"
+              }
+           ]
+        });
+
+        let mut h = Handlebars::new();
+        h.register_helper("previous", Box::new(previous));
+        h.register_helper("next", Box::new(next));
+
+        assert_eq!(
+            h.render_template(TEMPLATE, &data).unwrap(),
+            "|two: two.html"
+        );
+    }
+    #[test]
+    fn test_last() {
+        let data = json!({
+           "name": "three",
+           "path": "three.path",
+           "chapters": [
+              {
+                 "name": "one",
+                 "path": "one.path"
+              },
+              {
+                 "name": "two",
+                 "path": "two.path",
+              },
+              {
+                 "name": "three",
+                 "path": "three.path"
+              }
+           ]
+        });
+
+        let mut h = Handlebars::new();
+        h.register_helper("previous", Box::new(previous));
+        h.register_helper("next", Box::new(next));
+
+        assert_eq!(
+            h.render_template(TEMPLATE, &data).unwrap(),
+            "two: two.html|"
+        );
+    }
+}
diff --git a/src/renderer/html_handlebars/helpers/theme.rs b/src/renderer/html_handlebars/helpers/theme.rs
new file mode 100644
index 0000000..29fe98a
--- /dev/null
+++ b/src/renderer/html_handlebars/helpers/theme.rs
@@ -0,0 +1,38 @@
+use handlebars::{
+    Context, Handlebars, Helper, Output, RenderContext, RenderError, RenderErrorReason,
+};
+use log::trace;
+
+pub fn theme_option(
+    h: &Helper<'_>,
+    _r: &Handlebars<'_>,
+    ctx: &Context,
+    rc: &mut RenderContext<'_, '_>,
+    out: &mut dyn Output,
+) -> Result<(), RenderError> {
+    trace!("theme_option (handlebars helper)");
+
+    let param = h.param(0).and_then(|v| v.value().as_str()).ok_or_else(|| {
+        RenderErrorReason::ParamTypeMismatchForName(
+            "theme_option",
+            "0".to_owned(),
+            "string".to_owned(),
+        )
+    })?;
+
+    let default_theme = rc.evaluate(ctx, "@root/default_theme")?;
+    let default_theme_name = default_theme.as_json().as_str().ok_or_else(|| {
+        RenderErrorReason::ParamTypeMismatchForName(
+            "theme_option",
+            "default_theme".to_owned(),
+            "string".to_owned(),
+        )
+    })?;
+
+    out.write(param)?;
+    if param.to_lowercase() == default_theme_name.to_lowercase() {
+        out.write(" (default)")?;
+    }
+
+    Ok(())
+}
diff --git a/src/renderer/html_handlebars/helpers/toc.rs b/src/renderer/html_handlebars/helpers/toc.rs
new file mode 100644
index 0000000..fe193ce
--- /dev/null
+++ b/src/renderer/html_handlebars/helpers/toc.rs
@@ -0,0 +1,222 @@
+use std::path::Path;
+use std::{cmp::Ordering, collections::BTreeMap};
+
+use crate::utils;
+use crate::utils::bracket_escape;
+
+use handlebars::{
+    Context, Handlebars, Helper, HelperDef, Output, RenderContext, RenderError, RenderErrorReason,
+};
+
+// Handlebars helper to construct TOC
+#[derive(Clone, Copy)]
+pub struct RenderToc {
+    pub no_section_label: bool,
+}
+
+impl HelperDef for RenderToc {
+    fn call<'reg: 'rc, 'rc>(
+        &self,
+        _h: &Helper<'rc>,
+        _r: &'reg Handlebars<'_>,
+        ctx: &'rc Context,
+        rc: &mut RenderContext<'reg, 'rc>,
+        out: &mut dyn Output,
+    ) -> Result<(), RenderError> {
+        // get value from context data
+        // rc.get_path() is current json parent path, you should always use it like this
+        // param is the key of value you want to display
+        let base_url = if let Some(val) = ctx.data().get("base_url") {
+            val.as_str().unwrap_or_default()
+        } else {
+            ""
+        };
+        let chapters = rc.evaluate(ctx, "@root/chapters").and_then(|c| {
+            serde_json::value::from_value::<Vec<BTreeMap<String, String>>>(c.as_json().clone())
+                .map_err(|_| {
+                    RenderErrorReason::Other("Could not decode the JSON data".to_owned()).into()
+                })
+        })?;
+        let current_path = rc
+            .evaluate(ctx, "@root/path")?
+            .as_json()
+            .as_str()
+            .ok_or_else(|| {
+                RenderErrorReason::Other("Type error for `path`, string expected".to_owned())
+            })?
+            .replace('\"', "");
+
+        let current_section = rc
+            .evaluate(ctx, "@root/section")?
+            .as_json()
+            .as_str()
+            .map(str::to_owned)
+            .unwrap_or_default();
+
+        let fold_enable = rc
+            .evaluate(ctx, "@root/fold_enable")?
+            .as_json()
+            .as_bool()
+            .ok_or_else(|| {
+                RenderErrorReason::Other("Type error for `fold_enable`, bool expected".to_owned())
+            })?;
+
+        let fold_level = rc
+            .evaluate(ctx, "@root/fold_level")?
+            .as_json()
+            .as_u64()
+            .ok_or_else(|| {
+                RenderErrorReason::Other("Type error for `fold_level`, u64 expected".to_owned())
+            })?;
+
+        out.write("<ol class=\"chapter\">")?;
+
+        let mut current_level = 1;
+        // The "index" page, which has this attribute set, is supposed to alias the first chapter in
+        // the book, i.e. the first link. There seems to be no easy way to determine which chapter
+        // the "index" is aliasing from within the renderer, so this is used instead to force the
+        // first link to be active. See further below.
+        let mut is_first_chapter = ctx.data().get("is_index").is_some();
+
+        for item in chapters {
+            // Spacer
+            if item.get("spacer").is_some() {
+                out.write("<li class=\"spacer\"></li>")?;
+                continue;
+            }
+
+            let (section, level) = if let Some(s) = item.get("section") {
+                (s.as_str(), s.matches('.').count())
+            } else {
+                ("", 1)
+            };
+
+            let is_expanded =
+                if !fold_enable || (!section.is_empty() && current_section.starts_with(section)) {
+                    // Expand if folding is disabled, or if the section is an
+                    // ancestor or the current section itself.
+                    true
+                } else {
+                    // Levels that are larger than this would be folded.
+                    level - 1 < fold_level as usize
+                };
+
+            match level.cmp(&current_level) {
+                Ordering::Greater => {
+                    while level > current_level {
+                        out.write("<li>")?;
+                        out.write("<ol class=\"section\">")?;
+                        current_level += 1;
+                    }
+                    write_li_open_tag(out, is_expanded, false)?;
+                }
+                Ordering::Less => {
+                    while level < current_level {
+                        out.write("</ol>")?;
+                        out.write("</li>")?;
+                        current_level -= 1;
+                    }
+                    write_li_open_tag(out, is_expanded, false)?;
+                }
+                Ordering::Equal => {
+                    write_li_open_tag(out, is_expanded, item.get("section").is_none())?;
+                }
+            }
+
+            // Part title
+            if let Some(title) = item.get("part") {
+                out.write("<li class=\"part-title\">")?;
+                out.write(&bracket_escape(title))?;
+                out.write("</li>")?;
+                continue;
+            }
+
+            // Link
+            let path_exists: bool;
+            match item.get("path") {
+                Some(path) if !path.is_empty() => {
+                    out.write("<a href=\"")?;
+                    let tmp = Path::new(path)
+                        .with_extension("html")
+                        .to_str()
+                        .unwrap()
+                        // Hack for windows who tends to use `\` as separator instead of `/`
+                        .replace('\\', "/");
+
+                    if base_url.is_empty() {
+                    // Add link
+                        out.write(&utils::fs::path_to_root(&current_path))?;
+                        out.write(&tmp)?;
+                    } else {
+                        out.write(format!("{}{}",&base_url,&tmp).as_str())?;
+                    }
+                    out.write("\"")?;
+
+                    if path == &current_path || is_first_chapter {
+                        is_first_chapter = false;
+                        out.write(" class=\"active\"")?;
+                    }
+
+                    out.write(">")?;
+                    path_exists = true;
+                }
+                _ => {
+                    out.write("<div>")?;
+                    path_exists = false;
+                }
+            }
+
+            if !self.no_section_label {
+                // Section does not necessarily exist
+                if let Some(section) = item.get("section") {
+                    out.write("<strong aria-hidden=\"true\">")?;
+                    out.write(section)?;
+                    out.write("</strong> ")?;
+                }
+            }
+
+            if let Some(name) = item.get("name") {
+                out.write(&bracket_escape(name))?
+            }
+
+            if path_exists {
+                out.write("</a>")?;
+            } else {
+                out.write("</div>")?;
+            }
+
+            // Render expand/collapse toggle
+            if let Some(flag) = item.get("has_sub_items") {
+                let has_sub_items = flag.parse::<bool>().unwrap_or_default();
+                if fold_enable && has_sub_items {
+                    out.write("<a class=\"toggle\"><div>❱</div></a>")?;
+                }
+            }
+            out.write("</li>")?;
+        }
+        while current_level > 1 {
+            out.write("</ol>")?;
+            out.write("</li>")?;
+            current_level -= 1;
+        }
+
+        out.write("</ol>")?;
+        Ok(())
+    }
+}
+
+fn write_li_open_tag(
+    out: &mut dyn Output,
+    is_expanded: bool,
+    is_affix: bool,
+) -> Result<(), std::io::Error> {
+    let mut li = String::from("<li class=\"chapter-item ");
+    if is_expanded {
+        li.push_str("expanded ");
+    }
+    if is_affix {
+        li.push_str("affix ");
+    }
+    li.push_str("\">");
+    out.write(&li)
+}
diff --git a/src/renderer/html_handlebars/mod.rs b/src/renderer/html_handlebars/mod.rs
new file mode 100644
index 0000000..f1155ed
--- /dev/null
+++ b/src/renderer/html_handlebars/mod.rs
@@ -0,0 +1,9 @@
+#![allow(missing_docs)] // FIXME: Document this
+
+pub use self::hbs_renderer::HtmlHandlebars;
+
+mod hbs_renderer;
+mod helpers;
+
+#[cfg(feature = "search")]
+mod search;
diff --git a/src/renderer/html_handlebars/search.rs b/src/renderer/html_handlebars/search.rs
new file mode 100644
index 0000000..24d62fd
--- /dev/null
+++ b/src/renderer/html_handlebars/search.rs
@@ -0,0 +1,287 @@
+use std::borrow::Cow;
+use std::collections::{HashMap, HashSet};
+use std::path::Path;
+
+use elasticlunr::{Index, IndexBuilder};
+use once_cell::sync::Lazy;
+use pulldown_cmark::*;
+
+use crate::book::{Book, BookItem};
+use crate::config::Search;
+use crate::errors::*;
+use crate::theme::searcher;
+use crate::utils;
+use log::{debug, warn};
+use serde::Serialize;
+
+const MAX_WORD_LENGTH_TO_INDEX: usize = 80;
+
+/// Tokenizes in the same way as elasticlunr-rs (for English), but also drops long tokens.
+fn tokenize(text: &str) -> Vec<String> {
+    text.split(|c: char| c.is_whitespace() || c == '-')
+        .filter(|s| !s.is_empty())
+        .map(|s| s.trim().to_lowercase())
+        .filter(|s| s.len() <= MAX_WORD_LENGTH_TO_INDEX)
+        .collect()
+}
+
+/// Creates all files required for search.
+pub fn create_files(search_config: &Search, destination: &Path, book: &Book) -> Result<()> {
+    let mut index = IndexBuilder::new()
+        .add_field_with_tokenizer("title", Box::new(&tokenize))
+        .add_field_with_tokenizer("body", Box::new(&tokenize))
+        .add_field_with_tokenizer("breadcrumbs", Box::new(&tokenize))
+        .build();
+
+    let mut doc_urls = Vec::with_capacity(book.sections.len());
+
+    for item in book.iter() {
+        render_item(&mut index, search_config, &mut doc_urls, item)?;
+    }
+
+    let index = write_to_json(index, search_config, doc_urls)?;
+    debug!("Writing search index ✓");
+    if index.len() > 10_000_000 {
+        warn!("searchindex.json is very large ({} bytes)", index.len());
+    }
+
+    if search_config.copy_js {
+        utils::fs::write_file(destination, "searchindex.json", index.as_bytes())?;
+        utils::fs::write_file(
+            destination,
+            "searchindex.js",
+            format!("Object.assign(window.search, {});", index).as_bytes(),
+        )?;
+        utils::fs::write_file(destination, "searcher.js", searcher::JS)?;
+        utils::fs::write_file(destination, "mark.min.js", searcher::MARK_JS)?;
+        utils::fs::write_file(destination, "elasticlunr.min.js", searcher::ELASTICLUNR_JS)?;
+        debug!("Copying search files ✓");
+    }
+
+    Ok(())
+}
+
+/// Uses the given arguments to construct a search document, then inserts it to the given index.
+fn add_doc(
+    index: &mut Index,
+    doc_urls: &mut Vec<String>,
+    anchor_base: &str,
+    section_id: &Option<String>,
+    items: &[&str],
+) {
+    let url = if let Some(ref id) = *section_id {
+        Cow::Owned(format!("{}#{}", anchor_base, id))
+    } else {
+        Cow::Borrowed(anchor_base)
+    };
+    let url = utils::collapse_whitespace(url.trim());
+    let doc_ref = doc_urls.len().to_string();
+    doc_urls.push(url.into());
+
+    let items = items.iter().map(|&x| utils::collapse_whitespace(x.trim()));
+    index.add_doc(&doc_ref, items);
+}
+
+/// Renders markdown into flat unformatted text and adds it to the search index.
+fn render_item(
+    index: &mut Index,
+    search_config: &Search,
+    doc_urls: &mut Vec<String>,
+    item: &BookItem,
+) -> Result<()> {
+    let chapter = match *item {
+        BookItem::Chapter(ref ch) if !ch.is_draft_chapter() => ch,
+        _ => return Ok(()),
+    };
+
+    let chapter_path = chapter
+        .path
+        .as_ref()
+        .expect("Checked that path exists above");
+    let filepath = Path::new(&chapter_path).with_extension("html");
+    let filepath = filepath
+        .to_str()
+        .with_context(|| "Could not convert HTML path to str")?;
+    let anchor_base = utils::fs::normalize_path(filepath);
+
+    let mut p = utils::new_cmark_parser(&chapter.content, false).peekable();
+
+    let mut in_heading = false;
+    let max_section_depth = u32::from(search_config.heading_split_level);
+    let mut section_id = None;
+    let mut heading = String::new();
+    let mut body = String::new();
+    let mut breadcrumbs = chapter.parent_names.clone();
+    let mut footnote_numbers = HashMap::new();
+
+    breadcrumbs.push(chapter.name.clone());
+
+    let mut id_counter = HashMap::new();
+    while let Some(event) = p.next() {
+        match event {
+            Event::Start(Tag::Heading(i, ..)) if i as u32 <= max_section_depth => {
+                if !heading.is_empty() {
+                    // Section finished, the next heading is following now
+                    // Write the data to the index, and clear it for the next section
+                    add_doc(
+                        index,
+                        doc_urls,
+                        &anchor_base,
+                        &section_id,
+                        &[&heading, &body, &breadcrumbs.join(" » ")],
+                    );
+                    section_id = None;
+                    heading.clear();
+                    body.clear();
+                    breadcrumbs.pop();
+                }
+
+                in_heading = true;
+            }
+            Event::End(Tag::Heading(i, id, _classes)) if i as u32 <= max_section_depth => {
+                in_heading = false;
+                section_id = id
+                    .map(|id| id.to_string())
+                    .or_else(|| Some(utils::unique_id_from_content(&heading, &mut id_counter)));
+                breadcrumbs.push(heading.clone());
+            }
+            Event::Start(Tag::FootnoteDefinition(name)) => {
+                let number = footnote_numbers.len() + 1;
+                footnote_numbers.entry(name).or_insert(number);
+            }
+            Event::Html(html) => {
+                let mut html_block = html.into_string();
+
+                // As of pulldown_cmark 0.6, html events are no longer contained
+                // in an HtmlBlock tag. We must collect consecutive Html events
+                // into a block ourselves.
+                while let Some(Event::Html(html)) = p.peek() {
+                    html_block.push_str(html);
+                    p.next();
+                }
+
+                body.push_str(&clean_html(&html_block));
+            }
+            Event::Start(_) | Event::End(_) | Event::Rule | Event::SoftBreak | Event::HardBreak => {
+                // Insert spaces where HTML output would usually separate text
+                // to ensure words don't get merged together
+                if in_heading {
+                    heading.push(' ');
+                } else {
+                    body.push(' ');
+                }
+            }
+            Event::Text(text) | Event::Code(text) => {
+                if in_heading {
+                    heading.push_str(&text);
+                } else {
+                    body.push_str(&text);
+                }
+            }
+            Event::FootnoteReference(name) => {
+                let len = footnote_numbers.len() + 1;
+                let number = footnote_numbers.entry(name).or_insert(len);
+                body.push_str(&format!(" [{}] ", number));
+            }
+            Event::TaskListMarker(_checked) => {}
+        }
+    }
+
+    if !body.is_empty() || !heading.is_empty() {
+        if heading.is_empty() {
+            if let Some(chapter) = breadcrumbs.first() {
+                heading = chapter.clone();
+            }
+        }
+        // Make sure the last section is added to the index
+        add_doc(
+            index,
+            doc_urls,
+            &anchor_base,
+            &section_id,
+            &[&heading, &body, &breadcrumbs.join(" » ")],
+        );
+    }
+
+    Ok(())
+}
+
+fn write_to_json(index: Index, search_config: &Search, doc_urls: Vec<String>) -> Result<String> {
+    use elasticlunr::config::{SearchBool, SearchOptions, SearchOptionsField};
+    use std::collections::BTreeMap;
+
+    #[derive(Serialize)]
+    struct ResultsOptions {
+        limit_results: u32,
+        teaser_word_count: u32,
+    }
+
+    #[derive(Serialize)]
+    struct SearchindexJson {
+        /// The options used for displaying search results
+        results_options: ResultsOptions,
+        /// The searchoptions for elasticlunr.js
+        search_options: SearchOptions,
+        /// Used to lookup a document's URL from an integer document ref.
+        doc_urls: Vec<String>,
+        /// The index for elasticlunr.js
+        index: elasticlunr::Index,
+    }
+
+    let mut fields = BTreeMap::new();
+    let mut opt = SearchOptionsField::default();
+    let mut insert_boost = |key: &str, boost| {
+        opt.boost = Some(boost);
+        fields.insert(key.into(), opt);
+    };
+    insert_boost("title", search_config.boost_title);
+    insert_boost("body", search_config.boost_paragraph);
+    insert_boost("breadcrumbs", search_config.boost_hierarchy);
+
+    let search_options = SearchOptions {
+        bool: if search_config.use_boolean_and {
+            SearchBool::And
+        } else {
+            SearchBool::Or
+        },
+        expand: search_config.expand,
+        fields,
+    };
+
+    let results_options = ResultsOptions {
+        limit_results: search_config.limit_results,
+        teaser_word_count: search_config.teaser_word_count,
+    };
+
+    let json_contents = SearchindexJson {
+        results_options,
+        search_options,
+        doc_urls,
+        index,
+    };
+
+    // By converting to serde_json::Value as an intermediary, we use a
+    // BTreeMap internally and can force a stable ordering of map keys.
+    let json_contents = serde_json::to_value(&json_contents)?;
+    let json_contents = serde_json::to_string(&json_contents)?;
+
+    Ok(json_contents)
+}
+
+fn clean_html(html: &str) -> String {
+    static AMMONIA: Lazy<ammonia::Builder<'static>> = Lazy::new(|| {
+        let mut clean_content = HashSet::new();
+        clean_content.insert("script");
+        clean_content.insert("style");
+        let mut builder = ammonia::Builder::new();
+        builder
+            .tags(HashSet::new())
+            .tag_attributes(HashMap::new())
+            .generic_attributes(HashSet::new())
+            .link_rel(None)
+            .allowed_classes(HashMap::new())
+            .clean_content_tags(clean_content);
+        builder
+    });
+    AMMONIA.clean(html).to_string()
+}
diff --git a/src/renderer/markdown_renderer.rs b/src/renderer/markdown_renderer.rs
new file mode 100644
index 0000000..4a5a5c2
--- /dev/null
+++ b/src/renderer/markdown_renderer.rs
@@ -0,0 +1,52 @@
+use crate::book::BookItem;
+use crate::errors::*;
+use crate::renderer::{RenderContext, Renderer};
+use crate::utils;
+use log::trace;
+use std::fs;
+
+#[derive(Default)]
+/// A renderer to output the Markdown after the preprocessors have run. Mostly useful
+/// when debugging preprocessors.
+pub struct MarkdownRenderer;
+
+impl MarkdownRenderer {
+    /// Create a new `MarkdownRenderer` instance.
+    pub fn new() -> Self {
+        MarkdownRenderer
+    }
+}
+
+impl Renderer for MarkdownRenderer {
+    fn name(&self) -> &str {
+        "markdown"
+    }
+
+    fn render(&self, ctx: &RenderContext) -> Result<()> {
+        let destination = &ctx.destination;
+        let book = &ctx.book;
+
+        if destination.exists() {
+            utils::fs::remove_dir_content(destination)
+                .with_context(|| "Unable to remove stale Markdown output")?;
+        }
+
+        trace!("markdown render");
+        for item in book.iter() {
+            if let BookItem::Chapter(ref ch) = *item {
+                if !ch.is_draft_chapter() {
+                    utils::fs::write_file(
+                        &ctx.destination,
+                        ch.path.as_ref().expect("Checked path exists before"),
+                        ch.content.as_bytes(),
+                    )?;
+                }
+            }
+        }
+
+        fs::create_dir_all(destination)
+            .with_context(|| "Unexpected error when constructing destination path")?;
+
+        Ok(())
+    }
+}
diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs
new file mode 100644
index 0000000..1c97f8f
--- /dev/null
+++ b/src/renderer/mod.rs
@@ -0,0 +1,266 @@
+//! `mdbook`'s low level rendering interface.
+//!
+//! # Note
+//!
+//! You usually don't need to work with this module directly. If you want to
+//! implement your own backend, then check out the [For Developers] section of
+//! the user guide.
+//!
+//! The definition for [RenderContext] may be useful though.
+//!
+//! [For Developers]: https://rust-lang.github.io/mdBook/for_developers/index.html
+//! [RenderContext]: struct.RenderContext.html
+
+pub use self::html_handlebars::HtmlHandlebars;
+pub use self::markdown_renderer::MarkdownRenderer;
+
+mod html_handlebars;
+mod markdown_renderer;
+
+use shlex::Shlex;
+use std::collections::HashMap;
+use std::fs;
+use std::io::{self, ErrorKind, Read};
+use std::path::{Path, PathBuf};
+use std::process::{Command, Stdio};
+
+use crate::book::Book;
+use crate::config::Config;
+use crate::errors::*;
+use log::{error, info, trace, warn};
+use toml::Value;
+
+use serde::{Deserialize, Serialize};
+
+/// An arbitrary `mdbook` backend.
+///
+/// Although it's quite possible for you to import `mdbook` as a library and
+/// provide your own renderer, there are two main renderer implementations that
+/// 99% of users will ever use:
+///
+/// - [`HtmlHandlebars`] - the built-in HTML renderer
+/// - [`CmdRenderer`] - a generic renderer which shells out to a program to do the
+///   actual rendering
+pub trait Renderer {
+    /// The `Renderer`'s name.
+    fn name(&self) -> &str;
+
+    /// Invoke the `Renderer`, passing in all the necessary information for
+    /// describing a book.
+    fn render(&self, ctx: &RenderContext) -> Result<()>;
+}
+
+/// The context provided to all renderers.
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+pub struct RenderContext {
+    /// Which version of `mdbook` did this come from (as written in `mdbook`'s
+    /// `Cargo.toml`). Useful if you know the renderer is only compatible with
+    /// certain versions of `mdbook`.
+    pub version: String,
+    /// The book's root directory.
+    pub root: PathBuf,
+    /// A loaded representation of the book itself.
+    pub book: Book,
+    /// The loaded configuration file.
+    pub config: Config,
+    /// Where the renderer *must* put any build artefacts generated. To allow
+    /// renderers to cache intermediate results, this directory is not
+    /// guaranteed to be empty or even exist.
+    pub destination: PathBuf,
+    #[serde(skip)]
+    pub(crate) chapter_titles: HashMap<PathBuf, String>,
+    #[serde(skip)]
+    __non_exhaustive: (),
+}
+
+impl RenderContext {
+    /// Create a new `RenderContext`.
+    pub fn new<P, Q>(root: P, book: Book, config: Config, destination: Q) -> RenderContext
+    where
+        P: Into<PathBuf>,
+        Q: Into<PathBuf>,
+    {
+        RenderContext {
+            book,
+            config,
+            version: crate::MDBOOK_VERSION.to_string(),
+            root: root.into(),
+            destination: destination.into(),
+            chapter_titles: HashMap::new(),
+            __non_exhaustive: (),
+        }
+    }
+
+    /// Get the source directory's (absolute) path on disk.
+    pub fn source_dir(&self) -> PathBuf {
+        self.root.join(&self.config.book.src)
+    }
+
+    /// Load a `RenderContext` from its JSON representation.
+    pub fn from_json<R: Read>(reader: R) -> Result<RenderContext> {
+        serde_json::from_reader(reader).with_context(|| "Unable to deserialize the `RenderContext`")
+    }
+}
+
+/// A generic renderer which will shell out to an arbitrary executable.
+///
+/// # Rendering Protocol
+///
+/// When the renderer's `render()` method is invoked, `CmdRenderer` will spawn
+/// the `cmd` as a subprocess. The `RenderContext` is passed to the subprocess
+/// as a JSON string (using `serde_json`).
+///
+/// > **Note:** The command used doesn't necessarily need to be a single
+/// > executable (i.e. `/path/to/renderer`). The `cmd` string lets you pass
+/// > in command line arguments, so there's no reason why it couldn't be
+/// > `python /path/to/renderer --from mdbook --to epub`.
+///
+/// Anything the subprocess writes to `stdin` or `stdout` will be passed through
+/// to the user. While this gives the renderer maximum flexibility to output
+/// whatever it wants, to avoid spamming users it is recommended to avoid
+/// unnecessary output.
+///
+/// To help choose the appropriate output level, the `RUST_LOG` environment
+/// variable will be passed through to the subprocess, if set.
+///
+/// If the subprocess wishes to indicate that rendering failed, it should exit
+/// with a non-zero return code.
+#[derive(Debug, Clone, PartialEq)]
+pub struct CmdRenderer {
+    name: String,
+    cmd: String,
+}
+
+impl CmdRenderer {
+    /// Create a new `CmdRenderer` which will invoke the provided `cmd` string.
+    pub fn new(name: String, cmd: String) -> CmdRenderer {
+        CmdRenderer { name, cmd }
+    }
+
+    fn compose_command(&self, root: &Path, destination: &Path) -> Result<Command> {
+        let mut words = Shlex::new(&self.cmd);
+        let exe = match words.next() {
+            Some(e) => PathBuf::from(e),
+            None => bail!("Command string was empty"),
+        };
+
+        let exe = if exe.components().count() == 1 {
+            // Search PATH for the executable.
+            exe
+        } else {
+            // Relative paths are preferred to be relative to the book root.
+            let abs_exe = root.join(&exe);
+            if abs_exe.exists() {
+                abs_exe
+            } else {
+                // Historically paths were relative to the destination, but
+                // this is not the preferred way.
+                let legacy_path = destination.join(&exe);
+                if legacy_path.exists() {
+                    warn!(
+                        "Renderer command `{}` uses a path relative to the \
+                        renderer output directory `{}`. This was previously \
+                        accepted, but has been deprecated. Relative executable \
+                        paths should be relative to the book root.",
+                        exe.display(),
+                        destination.display()
+                    );
+                    legacy_path
+                } else {
+                    // Let this bubble through to later be handled by
+                    // handle_render_command_error.
+                    abs_exe
+                }
+            }
+        };
+
+        let mut cmd = Command::new(exe);
+
+        for arg in words {
+            cmd.arg(arg);
+        }
+
+        Ok(cmd)
+    }
+}
+
+impl CmdRenderer {
+    fn handle_render_command_error(&self, ctx: &RenderContext, error: io::Error) -> Result<()> {
+        if let ErrorKind::NotFound = error.kind() {
+            // Look for "output.{self.name}.optional".
+            // If it exists and is true, treat this as a warning.
+            // Otherwise, fail the build.
+
+            let optional_key = format!("output.{}.optional", self.name);
+
+            let is_optional = match ctx.config.get(&optional_key) {
+                Some(Value::Boolean(value)) => *value,
+                _ => false,
+            };
+
+            if is_optional {
+                warn!(
+                    "The command `{}` for backend `{}` was not found, \
+                    but was marked as optional.",
+                    self.cmd, self.name
+                );
+                return Ok(());
+            } else {
+                error!(
+                    "The command `{0}` wasn't found, is the \"{1}\" backend installed? \
+                    If you want to ignore this error when the \"{1}\" backend is not installed, \
+                    set `optional = true` in the `[output.{1}]` section of the book.toml configuration file.",
+                    self.cmd, self.name
+                );
+            }
+        }
+        Err(error).with_context(|| "Unable to start the backend")?
+    }
+}
+
+impl Renderer for CmdRenderer {
+    fn name(&self) -> &str {
+        &self.name
+    }
+
+    fn render(&self, ctx: &RenderContext) -> Result<()> {
+        info!("Invoking the \"{}\" renderer", self.name);
+
+        let _ = fs::create_dir_all(&ctx.destination);
+
+        let mut child = match self
+            .compose_command(&ctx.root, &ctx.destination)?
+            .stdin(Stdio::piped())
+            .stdout(Stdio::inherit())
+            .stderr(Stdio::inherit())
+            .current_dir(&ctx.destination)
+            .spawn()
+        {
+            Ok(c) => c,
+            Err(e) => return self.handle_render_command_error(ctx, e),
+        };
+
+        let mut stdin = child.stdin.take().expect("Child has stdin");
+        if let Err(e) = serde_json::to_writer(&mut stdin, &ctx) {
+            // Looks like the backend hung up before we could finish
+            // sending it the render context. Log the error and keep going
+            warn!("Error writing the RenderContext to the backend, {}", e);
+        }
+
+        // explicitly close the `stdin` file handle
+        drop(stdin);
+
+        let status = child
+            .wait()
+            .with_context(|| "Error waiting for the backend to complete")?;
+
+        trace!("{} exited with output: {:?}", self.cmd, status);
+
+        if !status.success() {
+            error!("Renderer exited with non-zero return code.");
+            bail!("The \"{}\" renderer failed", self.name);
+        } else {
+            Ok(())
+        }
+    }
+}
diff --git a/src/theme/FontAwesome/css/font-awesome.min.css b/src/theme/FontAwesome/css/font-awesome.min.css
new file mode 100644
index 0000000..540440c
--- /dev/null
+++ b/src/theme/FontAwesome/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
diff --git a/src/theme/FontAwesome/fonts/FontAwesome.otf b/src/theme/FontAwesome/fonts/FontAwesome.otf
new file mode 100644
index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70
GIT binary patch
literal 134808
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

literal 0
HcmV?d00001

diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.eot b/src/theme/FontAwesome/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928
GIT binary patch
literal 165742
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

literal 0
HcmV?d00001

diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.svg b/src/theme/FontAwesome/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/src/theme/FontAwesome/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+  <font-face 
+    font-family="FontAwesome"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1792"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="1536"
+    descent="-256"
+    bbox="-1.02083 -256.962 2304.6 1537.02"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-F500"
+  />
+<missing-glyph horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+    <glyph glyph-name="music" unicode="&#xf001;" 
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+    <glyph glyph-name="off" unicode="&#xf011;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="cog" unicode="&#xf013;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+    <glyph glyph-name="file_alt" unicode="&#xf016;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+    <glyph glyph-name="time" unicode="&#xf017;" 
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+    <glyph glyph-name="download" unicode="&#xf01a;" 
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="upload" unicode="&#xf01b;" 
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="inbox" unicode="&#xf01c;" 
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="repeat" unicode="&#xf01e;" 
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+    <glyph glyph-name="refresh" unicode="&#xf021;" 
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+    <glyph glyph-name="tag" unicode="&#xf02b;" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+    <glyph glyph-name="text_width" unicode="&#xf035;" 
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="pencil" unicode="&#xf040;" 
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+    <glyph glyph-name="adjust" unicode="&#xf042;" 
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+    <glyph glyph-name="pause" unicode="&#xf04c;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="stop" unicode="&#xf04d;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="question_sign" unicode="&#xf059;" 
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+    <glyph glyph-name="resize_full" unicode="&#xf065;" 
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="resize_small" unicode="&#xf066;" 
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+    <glyph glyph-name="gift" unicode="&#xf06b;" 
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="magnet" unicode="&#xf076;" 
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="signin" unicode="&#xf090;" 
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="github_sign" unicode="&#xf092;" 
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+    <glyph glyph-name="lemon" unicode="&#xf094;" 
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+    <glyph glyph-name="github" unicode="&#xf09b;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="globe" unicode="&#xf0ac;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+    <glyph glyph-name="superscript" unicode="&#xf12b;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+    <glyph glyph-name="subscript" unicode="&#xf12c;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" 
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" 
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" 
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+    <glyph glyph-name="bullseye" unicode="&#xf140;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="_303" unicode="&#xf143;" 
+d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="play_sign" unicode="&#xf144;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_312" unicode="&#xf14c;" 
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="share_sign" unicode="&#xf14d;" 
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="compass" unicode="&#xf14e;" 
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="collapse" unicode="&#xf150;" 
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="collapse_top" unicode="&#xf151;" 
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_317" unicode="&#xf152;" 
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" 
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
+d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
+q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
+d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
+t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
+q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
+d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
+l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
+t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+    <glyph glyph-name="file" unicode="&#xf15b;" 
+d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+    <glyph glyph-name="file_text" unicode="&#xf15c;" 
+d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
+d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
+v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
+l230 -662h70z" />
+    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
+d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
+v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
+v119h121z" />
+    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
+d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
+q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
+d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
+q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
+d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
+zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
+t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
+d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
+t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
+q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
+d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
+q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
+t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
+d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
+t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
+t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
+d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
+q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
+q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
+q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
+q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
+h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube" unicode="&#xf167;" 
+d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
+q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
+q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
+q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
+q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
+d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
+q25 45 64 45h241q22 0 31 -15z" />
+    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
+d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
+l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
+d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
+l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
+q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
+    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
+d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
+d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+    <glyph glyph-name="instagram" unicode="&#xf16d;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
+q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
+t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
+q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
+    <glyph glyph-name="flickr" unicode="&#xf16e;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
+t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+    <glyph glyph-name="adn" unicode="&#xf170;" 
+d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" 
+d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
+t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
+t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
+t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
+d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
+t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
+M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
+d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
+q78 2 134 29z" />
+    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
+d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
+d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
+d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
+d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
+d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
+d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
+q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
+d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
+d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
+t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
+h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+    <glyph glyph-name="linux" unicode="&#xf17c;" 
+d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
+M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
+q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
+q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
+t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
+q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
+q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
+q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
+q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
+t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
+t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
+q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
+t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
+q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
+t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
+t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+    <glyph glyph-name="dribble" unicode="&#xf17d;" 
+d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
+t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
+q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
+t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="skype" unicode="&#xf17e;" 
+d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
+t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
+q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
+q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
+d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
+M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
+l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+    <glyph glyph-name="trello" unicode="&#xf181;" 
+d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
+q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
+d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
+q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
+d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
+M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="gittip" unicode="&#xf184;" 
+d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" 
+d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
+l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
+q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+    <glyph glyph-name="_366" unicode="&#xf186;" 
+d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
+t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
+d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
+q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
+d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
+q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
+t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
+d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
+t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
+q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
+q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
+q39 5 64 -2.5t31 -16.5z" />
+    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
+d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
+q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
+q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
+q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
+M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+    <glyph glyph-name="renren" unicode="&#xf18b;" 
+d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
+q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
+d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
+t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
+t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
+t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
+d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
+" />
+    <glyph glyph-name="_374" unicode="&#xf18e;" 
+d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
+d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_376" unicode="&#xf191;" 
+d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
+t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" 
+d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
+q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
+d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
+q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" 
+d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
+q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
+q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
+d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
+t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
+q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
+d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
+q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
+t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+    <glyph glyph-name="_384" unicode="&#xf199;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
+q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
+t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
+d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
+t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
+t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
+t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
+t273 -182.5t331.5 -68z" />
+    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
+d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
+d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
+q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
+d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
+q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+    <glyph glyph-name="_389" unicode="&#xf19e;" 
+d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
+q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
+d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
+t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
+d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
+t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
+q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
+t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_392" unicode="&#xf1a2;" 
+d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
+q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
+q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_393" unicode="&#xf1a3;" 
+d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
+v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
+t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
+d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
+v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+    <glyph glyph-name="_395" unicode="&#xf1a5;" 
+d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
+d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
+v-369h123z" />
+    <glyph glyph-name="_397" unicode="&#xf1a7;" 
+d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
+v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
+d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
+q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
+q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
+q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
+t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
+q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
+t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
+t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+    <glyph glyph-name="_399" unicode="&#xf1a9;" 
+d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
+q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
+q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
+t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
+q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+    <glyph glyph-name="_400" unicode="&#xf1aa;" 
+d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
+M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
+t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
+q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
+t135.5 51q85 0 145 -60.5t60 -145.5z" />
+    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
+d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
+q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
+q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
+M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
+q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
+q20 0 20 -21v-418z" />
+    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
+d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
+l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
+t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
+q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
+q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+    <glyph glyph-name="_403" unicode="&#xf1ad;" 
+d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
+t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
+t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
+t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
+d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
+q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
+d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
+q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
+q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
+t100.5 134t141.5 55.5z" />
+    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
+d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
+d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
+" />
+    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
+d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
+t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
+v-400l434 -186q36 -16 57 -48t21 -70z" />
+    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
+d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
+q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
+q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+    <glyph glyph-name="_410" unicode="&#xf1b5;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
+t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
+t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
+d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
+q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
+q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+    <glyph glyph-name="_412" unicode="&#xf1b7;" 
+d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
+q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
+q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
+" />
+    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
+d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
+l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
+t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
+q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
+d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
+q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
+l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
+d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
+t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
+M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+    <glyph glyph-name="_416" unicode="&#xf1bb;" 
+d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
+q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+    <glyph glyph-name="_417" unicode="&#xf1bc;" 
+d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
+q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
+q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
+d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
+    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
+d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
+q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
+q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
+l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
+q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
+q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
+q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
+d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
+t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
+t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
+q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
+q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+    <glyph glyph-name="_422" unicode="&#xf1c2;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
+t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
+    <glyph glyph-name="_423" unicode="&#xf1c3;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
+h-290v-107h68l189 -272l-194 -283h-68z" />
+    <glyph glyph-name="_424" unicode="&#xf1c4;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+    <glyph glyph-name="_425" unicode="&#xf1c5;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+    <glyph glyph-name="_426" unicode="&#xf1c6;" 
+d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
+v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
+q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+    <glyph glyph-name="_427" unicode="&#xf1c7;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
+q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+    <glyph glyph-name="_428" unicode="&#xf1c8;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+    <glyph glyph-name="_429" unicode="&#xf1c9;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
+l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+    <glyph glyph-name="_430" unicode="&#xf1ca;" 
+d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
+q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
+d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
+q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
+d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
+q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
+t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
+    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
+q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
+t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
+d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
+t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
+    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
+d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
+t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
+t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
+q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
+d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
+l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
+q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
+q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
+t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
+d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
+q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
+q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
+q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
+d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
+q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
+q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
+v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+    <glyph glyph-name="_439" unicode="&#xf1d4;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
+d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
+t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
+t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
+d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
+q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
+t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
+t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
+d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
+q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
+q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
+q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
+l863 639l-478 -797z" />
+    <glyph glyph-name="_445" unicode="&#xf1da;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
+t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_446" unicode="&#xf1db;" 
+d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
+d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
+t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
+t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
+q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
+q0 -26 -12 -48t-36 -22z" />
+    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
+d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
+q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+    <glyph glyph-name="_449" unicode="&#xf1de;" 
+d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
+q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
+d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
+t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+    <glyph glyph-name="_451" unicode="&#xf1e1;" 
+d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
+t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
+d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
+t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
+q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
+t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
+d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
+l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
+d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
+t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
+d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
+M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
+d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
+l401 400q38 37 91 37t90 -37z" />
+    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
+d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
+t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
+M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
+t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" 
+d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+    <glyph glyph-name="_459" unicode="&#xf1e9;" 
+d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
+q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
+t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
+q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" 
+d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
+t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" 
+d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
+q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
+M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" 
+d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
+t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
+h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_463" unicode="&#xf1ed;" 
+d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
+q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
+q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
+    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" 
+d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
+q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
+    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" 
+d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
+q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
+q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" 
+d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
+q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
+M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
+h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
+q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
+q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
+q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
+q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
+q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
+h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
+t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" 
+d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
+q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
+v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
+q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
+t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" 
+d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
+M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
+l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
+v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
+q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
+q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
+t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
+h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
+t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" 
+d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
+t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
+q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
+t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
+l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
+q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" 
+d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
+q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
+q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
+q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
+q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" 
+d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
+l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
+l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" 
+d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
+q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
+q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" 
+d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
+q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_474" unicode="&#xf1f9;" 
+d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
+t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
+t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_475" unicode="&#xf1fa;" 
+d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
+q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
+t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
+t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" 
+d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
+t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" 
+d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
+t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" 
+d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
+t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
+t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
+h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
+q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" 
+d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" 
+d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
+q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
+t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
+q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+    <glyph glyph-name="_483" unicode="&#xf203;" 
+d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
+q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
+q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048" 
+d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
+t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
+t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" 
+d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
+t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
+    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" 
+d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
+q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
+q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
+q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="_487" unicode="&#xf207;" 
+d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
+h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_612" unicode="&#xf28c;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.ttf b/src/theme/FontAwesome/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3
GIT binary patch
literal 165548
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

literal 0
HcmV?d00001

diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.woff b/src/theme/FontAwesome/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..400014a4b06eee3d0c0d54402a47ab2601b2862b
GIT binary patch
literal 98024
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
SdSQM28?+M|D(2r_;{O0|uQ74}

literal 0
HcmV?d00001

diff --git a/src/theme/FontAwesome/fonts/fontawesome-webfont.woff2 b/src/theme/FontAwesome/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586
GIT binary patch
literal 77160
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

literal 0
HcmV?d00001

diff --git a/src/theme/ayu-highlight.css b/src/theme/ayu-highlight.css
new file mode 100644
index 0000000..32c9432
--- /dev/null
+++ b/src/theme/ayu-highlight.css
@@ -0,0 +1,78 @@
+/*
+Based off of the Ayu theme
+Original by Dempfi (https://github.com/dempfi/ayu)
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #191f26;
+  color: #e6e1cf;
+}
+
+.hljs-comment,
+.hljs-quote {
+  color: #5c6773;
+  font-style: italic;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-attr,
+.hljs-regexp,
+.hljs-link,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #ff7733;
+}
+
+.hljs-number,
+.hljs-meta,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #ffee99;
+}
+
+.hljs-string,
+.hljs-bullet {
+  color: #b8cc52;
+}
+
+.hljs-title,
+.hljs-built_in,
+.hljs-section {
+  color: #ffb454;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-symbol {
+  color: #ff7733;
+}
+
+.hljs-name {
+    color: #36a3d9;
+}
+
+.hljs-tag {
+    color: #00568d;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-addition {
+  color: #91b362;
+}
+
+.hljs-deletion {
+  color: #d96c75;
+}
diff --git a/src/theme/book.js b/src/theme/book.js
new file mode 100644
index 0000000..aa12e7e
--- /dev/null
+++ b/src/theme/book.js
@@ -0,0 +1,697 @@
+"use strict";
+
+// Fix back button cache problem
+window.onunload = function () { };
+
+// Global variable, shared between modules
+function playground_text(playground, hidden = true) {
+    let code_block = playground.querySelector("code");
+
+    if (window.ace && code_block.classList.contains("editable")) {
+        let editor = window.ace.edit(code_block);
+        return editor.getValue();
+    } else if (hidden) {
+        return code_block.textContent;
+    } else {
+        return code_block.innerText;
+    }
+}
+
+(function codeSnippets() {
+    function fetch_with_timeout(url, options, timeout = 6000) {
+        return Promise.race([
+            fetch(url, options),
+            new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout))
+        ]);
+    }
+
+    var playgrounds = Array.from(document.querySelectorAll(".playground"));
+    if (playgrounds.length > 0) {
+        fetch_with_timeout("https://play.rust-lang.org/meta/crates", {
+            headers: {
+                'Content-Type': "application/json",
+            },
+            method: 'POST',
+            mode: 'cors',
+        })
+        .then(response => response.json())
+        .then(response => {
+            // get list of crates available in the rust playground
+            let playground_crates = response.crates.map(item => item["id"]);
+            playgrounds.forEach(block => handle_crate_list_update(block, playground_crates));
+        });
+    }
+
+    function handle_crate_list_update(playground_block, playground_crates) {
+        // update the play buttons after receiving the response
+        update_play_button(playground_block, playground_crates);
+
+        // and install on change listener to dynamically update ACE editors
+        if (window.ace) {
+            let code_block = playground_block.querySelector("code");
+            if (code_block.classList.contains("editable")) {
+                let editor = window.ace.edit(code_block);
+                editor.addEventListener("change", function (e) {
+                    update_play_button(playground_block, playground_crates);
+                });
+                // add Ctrl-Enter command to execute rust code
+                editor.commands.addCommand({
+                    name: "run",
+                    bindKey: {
+                        win: "Ctrl-Enter",
+                        mac: "Ctrl-Enter"
+                    },
+                    exec: _editor => run_rust_code(playground_block)
+                });
+            }
+        }
+    }
+
+    // updates the visibility of play button based on `no_run` class and
+    // used crates vs ones available on https://play.rust-lang.org
+    function update_play_button(pre_block, playground_crates) {
+        var play_button = pre_block.querySelector(".play-button");
+
+        // skip if code is `no_run`
+        if (pre_block.querySelector('code').classList.contains("no_run")) {
+            play_button.classList.add("hidden");
+            return;
+        }
+
+        // get list of `extern crate`'s from snippet
+        var txt = playground_text(pre_block);
+        var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g;
+        var snippet_crates = [];
+        var item;
+        while (item = re.exec(txt)) {
+            snippet_crates.push(item[1]);
+        }
+
+        // check if all used crates are available on play.rust-lang.org
+        var all_available = snippet_crates.every(function (elem) {
+            return playground_crates.indexOf(elem) > -1;
+        });
+
+        if (all_available) {
+            play_button.classList.remove("hidden");
+        } else {
+            play_button.classList.add("hidden");
+        }
+    }
+
+    function run_rust_code(code_block) {
+        var result_block = code_block.querySelector(".result");
+        if (!result_block) {
+            result_block = document.createElement('code');
+            result_block.className = 'result hljs language-bash';
+
+            code_block.append(result_block);
+        }
+
+        let text = playground_text(code_block);
+        let classes = code_block.querySelector('code').classList;
+        let edition = "2015";
+        if(classes.contains("edition2018")) {
+            edition = "2018";
+        } else if(classes.contains("edition2021")) {
+            edition = "2021";
+        }
+        var params = {
+            version: "stable",
+            optimize: "0",
+            code: text,
+            edition: edition
+        };
+
+        if (text.indexOf("#![feature") !== -1) {
+            params.version = "nightly";
+        }
+
+        result_block.innerText = "Running...";
+
+        fetch_with_timeout("https://play.rust-lang.org/evaluate.json", {
+            headers: {
+                'Content-Type': "application/json",
+            },
+            method: 'POST',
+            mode: 'cors',
+            body: JSON.stringify(params)
+        })
+        .then(response => response.json())
+        .then(response => {
+            if (response.result.trim() === '') {
+                result_block.innerText = "No output";
+                result_block.classList.add("result-no-output");
+            } else {
+                result_block.innerText = response.result;
+                result_block.classList.remove("result-no-output");
+            }
+        })
+        .catch(error => result_block.innerText = "Playground Communication: " + error.message);
+    }
+
+    // Syntax highlighting Configuration
+    hljs.configure({
+        tabReplace: '    ', // 4 spaces
+        languages: [],      // Languages used for auto-detection
+    });
+
+    let code_nodes = Array
+        .from(document.querySelectorAll('code'))
+        // Don't highlight `inline code` blocks in headers.
+        .filter(function (node) {return !node.parentElement.classList.contains("header"); });
+
+    if (window.ace) {
+        // language-rust class needs to be removed for editable
+        // blocks or highlightjs will capture events
+        code_nodes
+            .filter(function (node) {return node.classList.contains("editable"); })
+            .forEach(function (block) { block.classList.remove('language-rust'); });
+
+        code_nodes
+            .filter(function (node) {return !node.classList.contains("editable"); })
+            .forEach(function (block) { hljs.highlightBlock(block); });
+    } else {
+        code_nodes.forEach(function (block) { hljs.highlightBlock(block); });
+    }
+
+    // Adding the hljs class gives code blocks the color css
+    // even if highlighting doesn't apply
+    code_nodes.forEach(function (block) { block.classList.add('hljs'); });
+
+    Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) {
+
+        var lines = Array.from(block.querySelectorAll('.boring'));
+        // If no lines were hidden, return
+        if (!lines.length) { return; }
+        block.classList.add("hide-boring");
+
+        var buttons = document.createElement('div');
+        buttons.className = 'buttons';
+        buttons.innerHTML = "<button class=\"fa fa-eye\" title=\"Show hidden lines\" aria-label=\"Show hidden lines\"></button>";
+
+        // add expand button
+        var pre_block = block.parentNode;
+        pre_block.insertBefore(buttons, pre_block.firstChild);
+
+        pre_block.querySelector('.buttons').addEventListener('click', function (e) {
+            if (e.target.classList.contains('fa-eye')) {
+                e.target.classList.remove('fa-eye');
+                e.target.classList.add('fa-eye-slash');
+                e.target.title = 'Hide lines';
+                e.target.setAttribute('aria-label', e.target.title);
+
+                block.classList.remove('hide-boring');
+            } else if (e.target.classList.contains('fa-eye-slash')) {
+                e.target.classList.remove('fa-eye-slash');
+                e.target.classList.add('fa-eye');
+                e.target.title = 'Show hidden lines';
+                e.target.setAttribute('aria-label', e.target.title);
+
+                block.classList.add('hide-boring');
+            }
+        });
+    });
+
+    if (window.playground_copyable) {
+        Array.from(document.querySelectorAll('pre code')).forEach(function (block) {
+            var pre_block = block.parentNode;
+            if (!pre_block.classList.contains('playground')) {
+                var buttons = pre_block.querySelector(".buttons");
+                if (!buttons) {
+                    buttons = document.createElement('div');
+                    buttons.className = 'buttons';
+                    pre_block.insertBefore(buttons, pre_block.firstChild);
+                }
+
+                var clipButton = document.createElement('button');
+                clipButton.className = 'fa fa-copy clip-button';
+                clipButton.title = 'Copy to clipboard';
+                clipButton.setAttribute('aria-label', clipButton.title);
+                clipButton.innerHTML = '<i class=\"tooltiptext\"></i>';
+
+                buttons.insertBefore(clipButton, buttons.firstChild);
+            }
+        });
+    }
+
+    // Process playground code blocks
+    Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) {
+        // Add play button
+        var buttons = pre_block.querySelector(".buttons");
+        if (!buttons) {
+            buttons = document.createElement('div');
+            buttons.className = 'buttons';
+            pre_block.insertBefore(buttons, pre_block.firstChild);
+        }
+
+        var runCodeButton = document.createElement('button');
+        runCodeButton.className = 'fa fa-play play-button';
+        runCodeButton.hidden = true;
+        runCodeButton.title = 'Run this code';
+        runCodeButton.setAttribute('aria-label', runCodeButton.title);
+
+        buttons.insertBefore(runCodeButton, buttons.firstChild);
+        runCodeButton.addEventListener('click', function (e) {
+            run_rust_code(pre_block);
+        });
+
+        if (window.playground_copyable) {
+            var copyCodeClipboardButton = document.createElement('button');
+            copyCodeClipboardButton.className = 'fa fa-copy clip-button';
+            copyCodeClipboardButton.innerHTML = '<i class="tooltiptext"></i>';
+            copyCodeClipboardButton.title = 'Copy to clipboard';
+            copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title);
+
+            buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild);
+        }
+
+        let code_block = pre_block.querySelector("code");
+        if (window.ace && code_block.classList.contains("editable")) {
+            var undoChangesButton = document.createElement('button');
+            undoChangesButton.className = 'fa fa-history reset-button';
+            undoChangesButton.title = 'Undo changes';
+            undoChangesButton.setAttribute('aria-label', undoChangesButton.title);
+
+            buttons.insertBefore(undoChangesButton, buttons.firstChild);
+
+            undoChangesButton.addEventListener('click', function () {
+                let editor = window.ace.edit(code_block);
+                editor.setValue(editor.originalCode);
+                editor.clearSelection();
+            });
+        }
+    });
+})();
+
+(function themes() {
+    var html = document.querySelector('html');
+    var themeToggleButton = document.getElementById('theme-toggle');
+    var themePopup = document.getElementById('theme-list');
+    var themeColorMetaTag = document.querySelector('meta[name="theme-color"]');
+    var stylesheets = {
+        ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"),
+        tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"),
+        highlight: document.querySelector("[href$='highlight.css']"),
+    };
+
+    function showThemes() {
+        themePopup.style.display = 'block';
+        themeToggleButton.setAttribute('aria-expanded', true);
+        themePopup.querySelector("button#" + get_theme()).focus();
+    }
+
+    function updateThemeSelected() {
+        themePopup.querySelectorAll('.theme-selected').forEach(function (el) {
+            el.classList.remove('theme-selected');
+        });
+        themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected');
+    }
+
+    function hideThemes() {
+        themePopup.style.display = 'none';
+        themeToggleButton.setAttribute('aria-expanded', false);
+        themeToggleButton.focus();
+    }
+
+    function get_theme() {
+        var theme;
+        try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { }
+        if (theme === null || theme === undefined) {
+            return default_theme;
+        } else {
+            return theme;
+        }
+    }
+
+    function set_theme(theme, store = true) {
+        let ace_theme;
+
+        if (theme == 'coal' || theme == 'navy') {
+            stylesheets.ayuHighlight.disabled = true;
+            stylesheets.tomorrowNight.disabled = false;
+            stylesheets.highlight.disabled = true;
+
+            ace_theme = "ace/theme/tomorrow_night";
+        } else if (theme == 'ayu') {
+            stylesheets.ayuHighlight.disabled = false;
+            stylesheets.tomorrowNight.disabled = true;
+            stylesheets.highlight.disabled = true;
+            ace_theme = "ace/theme/tomorrow_night";
+        } else {
+            stylesheets.ayuHighlight.disabled = true;
+            stylesheets.tomorrowNight.disabled = true;
+            stylesheets.highlight.disabled = false;
+            ace_theme = "ace/theme/dawn";
+        }
+
+        setTimeout(function () {
+            themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor;
+        }, 1);
+
+        if (window.ace && window.editors) {
+            window.editors.forEach(function (editor) {
+                editor.setTheme(ace_theme);
+            });
+        }
+
+        var previousTheme = get_theme();
+
+        if (store) {
+            try { localStorage.setItem('mdbook-theme', theme); } catch (e) { }
+        }
+
+        html.classList.remove(previousTheme);
+        html.classList.add(theme);
+        updateThemeSelected();
+    }
+
+    // Set theme
+    var theme = get_theme();
+
+    set_theme(theme, false);
+
+    themeToggleButton.addEventListener('click', function () {
+        if (themePopup.style.display === 'block') {
+            hideThemes();
+        } else {
+            showThemes();
+        }
+    });
+
+    themePopup.addEventListener('click', function (e) {
+        var theme;
+        if (e.target.className === "theme") {
+            theme = e.target.id;
+        } else if (e.target.parentElement.className === "theme") {
+            theme = e.target.parentElement.id;
+        } else {
+            return;
+        }
+        set_theme(theme);
+    });
+
+    themePopup.addEventListener('focusout', function(e) {
+        // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below)
+        if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) {
+            hideThemes();
+        }
+    });
+
+    // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628
+    document.addEventListener('click', function(e) {
+        if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) {
+            hideThemes();
+        }
+    });
+
+    document.addEventListener('keydown', function (e) {
+        if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; }
+        if (!themePopup.contains(e.target)) { return; }
+
+        switch (e.key) {
+            case 'Escape':
+                e.preventDefault();
+                hideThemes();
+                break;
+            case 'ArrowUp':
+                e.preventDefault();
+                var li = document.activeElement.parentElement;
+                if (li && li.previousElementSibling) {
+                    li.previousElementSibling.querySelector('button').focus();
+                }
+                break;
+            case 'ArrowDown':
+                e.preventDefault();
+                var li = document.activeElement.parentElement;
+                if (li && li.nextElementSibling) {
+                    li.nextElementSibling.querySelector('button').focus();
+                }
+                break;
+            case 'Home':
+                e.preventDefault();
+                themePopup.querySelector('li:first-child button').focus();
+                break;
+            case 'End':
+                e.preventDefault();
+                themePopup.querySelector('li:last-child button').focus();
+                break;
+        }
+    });
+})();
+
+(function sidebar() {
+    var body = document.querySelector("body");
+    var sidebar = document.getElementById("sidebar");
+    var sidebarLinks = document.querySelectorAll('#sidebar a');
+    var sidebarToggleButton = document.getElementById("sidebar-toggle");
+    var sidebarResizeHandle = document.getElementById("sidebar-resize-handle");
+    var firstContact = null;
+
+    function showSidebar() {
+        body.classList.remove('sidebar-hidden')
+        body.classList.add('sidebar-visible');
+        Array.from(sidebarLinks).forEach(function (link) {
+            link.setAttribute('tabIndex', 0);
+        });
+        sidebarToggleButton.setAttribute('aria-expanded', true);
+        sidebar.setAttribute('aria-hidden', false);
+        try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { }
+    }
+
+
+    var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle');
+
+    function toggleSection(ev) {
+        ev.currentTarget.parentElement.classList.toggle('expanded');
+    }
+
+    Array.from(sidebarAnchorToggles).forEach(function (el) {
+        el.addEventListener('click', toggleSection);
+    });
+
+    function hideSidebar() {
+        body.classList.remove('sidebar-visible')
+        body.classList.add('sidebar-hidden');
+        Array.from(sidebarLinks).forEach(function (link) {
+            link.setAttribute('tabIndex', -1);
+        });
+        sidebarToggleButton.setAttribute('aria-expanded', false);
+        sidebar.setAttribute('aria-hidden', true);
+        try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { }
+    }
+
+    // Toggle sidebar
+    sidebarToggleButton.addEventListener('click', function sidebarToggle() {
+        if (body.classList.contains("sidebar-hidden")) {
+            var current_width = parseInt(
+                document.documentElement.style.getPropertyValue('--sidebar-width'), 10);
+            if (current_width < 150) {
+                document.documentElement.style.setProperty('--sidebar-width', '150px');
+            }
+            showSidebar();
+        } else if (body.classList.contains("sidebar-visible")) {
+            hideSidebar();
+        } else {
+            if (getComputedStyle(sidebar)['transform'] === 'none') {
+                hideSidebar();
+            } else {
+                showSidebar();
+            }
+        }
+    });
+
+    sidebarResizeHandle.addEventListener('mousedown', initResize, false);
+
+    function initResize(e) {
+        window.addEventListener('mousemove', resize, false);
+        window.addEventListener('mouseup', stopResize, false);
+        body.classList.add('sidebar-resizing');
+    }
+    function resize(e) {
+        var pos = (e.clientX - sidebar.offsetLeft);
+        if (pos < 20) {
+            hideSidebar();
+        } else {
+            if (body.classList.contains("sidebar-hidden")) {
+                showSidebar();
+            }
+            pos = Math.min(pos, window.innerWidth - 100);
+            document.documentElement.style.setProperty('--sidebar-width', pos + 'px');
+        }
+    }
+    //on mouseup remove windows functions mousemove & mouseup
+    function stopResize(e) {
+        body.classList.remove('sidebar-resizing');
+        window.removeEventListener('mousemove', resize, false);
+        window.removeEventListener('mouseup', stopResize, false);
+    }
+
+    document.addEventListener('touchstart', function (e) {
+        firstContact = {
+            x: e.touches[0].clientX,
+            time: Date.now()
+        };
+    }, { passive: true });
+
+    document.addEventListener('touchmove', function (e) {
+        if (!firstContact)
+            return;
+
+        var curX = e.touches[0].clientX;
+        var xDiff = curX - firstContact.x,
+            tDiff = Date.now() - firstContact.time;
+
+        if (tDiff < 250 && Math.abs(xDiff) >= 150) {
+            if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300))
+                showSidebar();
+            else if (xDiff < 0 && curX < 300)
+                hideSidebar();
+
+            firstContact = null;
+        }
+    }, { passive: true });
+})();
+
+(function chapterNavigation() {
+    document.addEventListener('keydown', function (e) {
+        if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; }
+        if (window.search && window.search.hasFocus()) { return; }
+        var html = document.querySelector('html');
+
+        function next() {
+            var nextButton = document.querySelector('.nav-chapters.next');
+            if (nextButton) {
+                window.location.href = nextButton.href;
+            }
+        }
+        function prev() {
+            var previousButton = document.querySelector('.nav-chapters.previous');
+            if (previousButton) {
+                window.location.href = previousButton.href;
+            }
+        }
+        switch (e.key) {
+            case 'ArrowRight':
+                e.preventDefault();
+                if (html.dir == 'rtl') {
+                    prev();
+                } else {
+                    next();
+                }
+                break;
+            case 'ArrowLeft':
+                e.preventDefault();
+                if (html.dir == 'rtl') {
+                    next();
+                } else {
+                    prev();
+                }
+                break;
+        }
+    });
+})();
+
+(function clipboard() {
+    var clipButtons = document.querySelectorAll('.clip-button');
+
+    function hideTooltip(elem) {
+        elem.firstChild.innerText = "";
+        elem.className = 'fa fa-copy clip-button';
+    }
+
+    function showTooltip(elem, msg) {
+        elem.firstChild.innerText = msg;
+        elem.className = 'fa fa-copy tooltipped';
+    }
+
+    var clipboardSnippets = new ClipboardJS('.clip-button', {
+        text: function (trigger) {
+            hideTooltip(trigger);
+            let playground = trigger.closest("pre");
+            return playground_text(playground, false);
+        }
+    });
+
+    Array.from(clipButtons).forEach(function (clipButton) {
+        clipButton.addEventListener('mouseout', function (e) {
+            hideTooltip(e.currentTarget);
+        });
+    });
+
+    clipboardSnippets.on('success', function (e) {
+        e.clearSelection();
+        showTooltip(e.trigger, "Copied!");
+    });
+
+    clipboardSnippets.on('error', function (e) {
+        showTooltip(e.trigger, "Clipboard error!");
+    });
+})();
+
+(function scrollToTop () {
+    var menuTitle = document.querySelector('.menu-title');
+
+    menuTitle.addEventListener('click', function () {
+        document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' });
+    });
+})();
+
+(function controllMenu() {
+    var menu = document.getElementById('menu-bar');
+
+    (function controllPosition() {
+        var scrollTop = document.scrollingElement.scrollTop;
+        var prevScrollTop = scrollTop;
+        var minMenuY = -menu.clientHeight - 50;
+        // When the script loads, the page can be at any scroll (e.g. if you reforesh it).
+        menu.style.top = scrollTop + 'px';
+        // Same as parseInt(menu.style.top.slice(0, -2), but faster
+        var topCache = menu.style.top.slice(0, -2);
+        menu.classList.remove('sticky');
+        var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster
+        document.addEventListener('scroll', function () {
+            scrollTop = Math.max(document.scrollingElement.scrollTop, 0);
+            // `null` means that it doesn't need to be updated
+            var nextSticky = null;
+            var nextTop = null;
+            var scrollDown = scrollTop > prevScrollTop;
+            var menuPosAbsoluteY = topCache - scrollTop;
+            if (scrollDown) {
+                nextSticky = false;
+                if (menuPosAbsoluteY > 0) {
+                    nextTop = prevScrollTop;
+                }
+            } else {
+                if (menuPosAbsoluteY > 0) {
+                    nextSticky = true;
+                } else if (menuPosAbsoluteY < minMenuY) {
+                    nextTop = prevScrollTop + minMenuY;
+                }
+            }
+            if (nextSticky === true && stickyCache === false) {
+                menu.classList.add('sticky');
+                stickyCache = true;
+            } else if (nextSticky === false && stickyCache === true) {
+                menu.classList.remove('sticky');
+                stickyCache = false;
+            }
+            if (nextTop !== null) {
+                menu.style.top = nextTop + 'px';
+                topCache = nextTop;
+            }
+            prevScrollTop = scrollTop;
+        }, { passive: true });
+    })();
+    (function controllBorder() {
+        function updateBorder() {
+            if (menu.offsetTop === 0) {
+                menu.classList.remove('bordered');
+            } else {
+                menu.classList.add('bordered');
+            }
+        }
+        updateBorder();
+        document.addEventListener('scroll', updateBorder, { passive: true });
+    })();
+})();
diff --git a/src/theme/clipboard.min.js b/src/theme/clipboard.min.js
new file mode 100644
index 0000000..02c549e
--- /dev/null
+++ b/src/theme/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v2.0.4
+ * https://zenorocha.github.io/clipboard.js
+ * 
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
\ No newline at end of file
diff --git a/src/theme/css/chrome.css b/src/theme/css/chrome.css
new file mode 100644
index 0000000..8b78255
--- /dev/null
+++ b/src/theme/css/chrome.css
@@ -0,0 +1,606 @@
+/* CSS for UI elements (a.k.a. chrome) */
+
+@import 'variables.css';
+
+html {
+    scrollbar-color: var(--scrollbar) var(--bg);
+}
+#searchresults a,
+.content a:link,
+a:visited,
+a > .hljs {
+    color: var(--links);
+}
+
+/*
+    body-container is necessary because mobile browsers don't seem to like
+    overflow-x on the body tag when there is a <meta name="viewport"> tag.
+*/
+#body-container {
+    /*
+        This is used when the sidebar pushes the body content off the side of
+        the screen on small screens. Without it, dragging on mobile Safari
+        will want to reposition the viewport in a weird way.
+    */
+    overflow-x: clip;
+}
+
+/* Menu Bar */
+
+#menu-bar,
+#menu-bar-hover-placeholder {
+    z-index: 101;
+    margin: auto calc(0px - var(--page-padding));
+}
+#menu-bar {
+    position: relative;
+    display: flex;
+    flex-wrap: wrap;
+    background-color: var(--bg);
+    border-block-end-color: var(--bg);
+    border-block-end-width: 1px;
+    border-block-end-style: solid;
+}
+#menu-bar.sticky,
+.js #menu-bar-hover-placeholder:hover + #menu-bar,
+.js #menu-bar:hover,
+.js.sidebar-visible #menu-bar {
+    position: -webkit-sticky;
+    position: sticky;
+    top: 0 !important;
+}
+#menu-bar-hover-placeholder {
+    position: sticky;
+    position: -webkit-sticky;
+    top: 0;
+    height: var(--menu-bar-height);
+}
+#menu-bar.bordered {
+    border-block-end-color: var(--table-border-color);
+}
+#menu-bar i, #menu-bar .icon-button {
+    position: relative;
+    padding: 0 8px;
+    z-index: 10;
+    line-height: var(--menu-bar-height);
+    cursor: pointer;
+    transition: color 0.5s;
+}
+@media only screen and (max-width: 420px) {
+    #menu-bar i, #menu-bar .icon-button {
+        padding: 0 5px;
+    }
+}
+
+.icon-button {
+    border: none;
+    background: none;
+    padding: 0;
+    color: inherit;
+}
+.icon-button i {
+    margin: 0;
+}
+
+.right-buttons {
+    margin: 0 15px;
+}
+.right-buttons a {
+    text-decoration: none;
+}
+
+.left-buttons {
+    display: flex;
+    margin: 0 5px;
+}
+.no-js .left-buttons button {
+    display: none;
+}
+
+.menu-title {
+    display: inline-block;
+    font-weight: 200;
+    font-size: 2.4rem;
+    line-height: var(--menu-bar-height);
+    text-align: center;
+    margin: 0;
+    flex: 1;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+.js .menu-title {
+    cursor: pointer;
+}
+
+.menu-bar,
+.menu-bar:visited,
+.nav-chapters,
+.nav-chapters:visited,
+.mobile-nav-chapters,
+.mobile-nav-chapters:visited,
+.menu-bar .icon-button,
+.menu-bar a i {
+    color: var(--icons);
+}
+
+.menu-bar i:hover,
+.menu-bar .icon-button:hover,
+.nav-chapters:hover,
+.mobile-nav-chapters i:hover {
+    color: var(--icons-hover);
+}
+
+/* Nav Icons */
+
+.nav-chapters {
+    font-size: 2.5em;
+    text-align: center;
+    text-decoration: none;
+
+    position: fixed;
+    top: 0;
+    bottom: 0;
+    margin: 0;
+    max-width: 150px;
+    min-width: 90px;
+
+    display: flex;
+    justify-content: center;
+    align-content: center;
+    flex-direction: column;
+
+    transition: color 0.5s, background-color 0.5s;
+}
+
+.nav-chapters:hover {
+    text-decoration: none;
+    background-color: var(--theme-hover);
+    transition: background-color 0.15s, color 0.15s;
+}
+
+.nav-wrapper {
+    margin-block-start: 50px;
+    display: none;
+}
+
+.mobile-nav-chapters {
+    font-size: 2.5em;
+    text-align: center;
+    text-decoration: none;
+    width: 90px;
+    border-radius: 5px;
+    background-color: var(--sidebar-bg);
+}
+
+/* Only Firefox supports flow-relative values */
+.previous { float: left; }
+[dir=rtl] .previous { float: right; }
+
+/* Only Firefox supports flow-relative values */
+.next {
+    float: right;
+    right: var(--page-padding);
+}
+[dir=rtl] .next {
+    float: left;
+    right: unset;
+    left: var(--page-padding);
+}
+
+/* Use the correct buttons for RTL layouts*/
+[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";}
+[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; }
+
+@media only screen and (max-width: 1080px) {
+    .nav-wide-wrapper { display: none; }
+    .nav-wrapper { display: block; }
+}
+
+/* sidebar-visible */
+@media only screen and (max-width: 1380px) {
+    #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; }
+    #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; }
+}
+
+/* Inline code */
+
+:not(pre) > .hljs {
+    display: inline;
+    padding: 0.1em 0.3em;
+    border-radius: 3px;
+}
+
+:not(pre):not(a) > .hljs {
+    color: var(--inline-code-color);
+    overflow-x: initial;
+}
+
+a:hover > .hljs {
+    text-decoration: underline;
+}
+
+pre {
+    position: relative;
+}
+pre > .buttons {
+    position: absolute;
+    z-index: 100;
+    right: 0px;
+    top: 2px;
+    margin: 0px;
+    padding: 2px 0px;
+
+    color: var(--sidebar-fg);
+    cursor: pointer;
+    visibility: hidden;
+    opacity: 0;
+    transition: visibility 0.1s linear, opacity 0.1s linear;
+}
+pre:hover > .buttons {
+    visibility: visible;
+    opacity: 1
+}
+pre > .buttons :hover {
+    color: var(--sidebar-active);
+    border-color: var(--icons-hover);
+    background-color: var(--theme-hover);
+}
+pre > .buttons i {
+    margin-inline-start: 8px;
+}
+pre > .buttons button {
+    cursor: inherit;
+    margin: 0px 5px;
+    padding: 3px 5px;
+    font-size: 14px;
+
+    border-style: solid;
+    border-width: 1px;
+    border-radius: 4px;
+    border-color: var(--icons);
+    background-color: var(--theme-popup-bg);
+    transition: 100ms;
+    transition-property: color,border-color,background-color;
+    color: var(--icons);
+}
+@media (pointer: coarse) {
+    pre > .buttons button {
+        /* On mobile, make it easier to tap buttons. */
+        padding: 0.3rem 1rem;
+    }
+
+    .sidebar-resize-indicator {
+        /* Hide resize indicator on devices with limited accuracy */
+        display: none;
+    }
+}
+pre > code {
+    display: block;
+    padding: 1rem;
+}
+
+/* FIXME: ACE editors overlap their buttons because ACE does absolute
+   positioning within the code block which breaks padding. The only solution I
+   can think of is to move the padding to the outer pre tag (or insert a div
+   wrapper), but that would require fixing a whole bunch of CSS rules.
+*/
+.hljs.ace_editor {
+  padding: 0rem 0rem;
+}
+
+pre > .result {
+    margin-block-start: 10px;
+}
+
+/* Search */
+
+#searchresults a {
+    text-decoration: none;
+}
+
+mark {
+    border-radius: 2px;
+    padding-block-start: 0;
+    padding-block-end: 1px;
+    padding-inline-start: 3px;
+    padding-inline-end: 3px;
+    margin-block-start: 0;
+    margin-block-end: -1px;
+    margin-inline-start: -3px;
+    margin-inline-end: -3px;
+    background-color: var(--search-mark-bg);
+    transition: background-color 300ms linear;
+    cursor: pointer;
+}
+
+mark.fade-out {
+    background-color: rgba(0,0,0,0) !important;
+    cursor: auto;
+}
+
+.searchbar-outer {
+    margin-inline-start: auto;
+    margin-inline-end: auto;
+    max-width: var(--content-max-width);
+}
+
+#searchbar {
+    width: 100%;
+    margin-block-start: 5px;
+    margin-block-end: 0;
+    margin-inline-start: auto;
+    margin-inline-end: auto;
+    padding: 10px 16px;
+    transition: box-shadow 300ms ease-in-out;
+    border: 1px solid var(--searchbar-border-color);
+    border-radius: 3px;
+    background-color: var(--searchbar-bg);
+    color: var(--searchbar-fg);
+}
+#searchbar:focus,
+#searchbar.active {
+    box-shadow: 0 0 3px var(--searchbar-shadow-color);
+}
+
+.searchresults-header {
+    font-weight: bold;
+    font-size: 1em;
+    padding-block-start: 18px;
+    padding-block-end: 0;
+    padding-inline-start: 5px;
+    padding-inline-end: 0;
+    color: var(--searchresults-header-fg);
+}
+
+.searchresults-outer {
+    margin-inline-start: auto;
+    margin-inline-end: auto;
+    max-width: var(--content-max-width);
+    border-block-end: 1px dashed var(--searchresults-border-color);
+}
+
+ul#searchresults {
+    list-style: none;
+    padding-inline-start: 20px;
+}
+ul#searchresults li {
+    margin: 10px 0px;
+    padding: 2px;
+    border-radius: 2px;
+}
+ul#searchresults li.focus {
+    background-color: var(--searchresults-li-bg);
+}
+ul#searchresults span.teaser {
+    display: block;
+    clear: both;
+    margin-block-start: 5px;
+    margin-block-end: 0;
+    margin-inline-start: 20px;
+    margin-inline-end: 0;
+    font-size: 0.8em;
+}
+ul#searchresults span.teaser em {
+    font-weight: bold;
+    font-style: normal;
+}
+
+/* Sidebar */
+
+.sidebar {
+    position: fixed;
+    left: 0;
+    top: 0;
+    bottom: 0;
+    width: var(--sidebar-width);
+    font-size: 0.875em;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    overscroll-behavior-y: contain;
+    background-color: var(--sidebar-bg);
+    color: var(--sidebar-fg);
+}
+[dir=rtl] .sidebar { left: unset; right: 0; }
+.sidebar-resizing {
+    -moz-user-select: none;
+    -webkit-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+.no-js .sidebar,
+.js:not(.sidebar-resizing) .sidebar {
+    transition: transform 0.3s; /* Animation: slide away */
+}
+.sidebar code {
+    line-height: 2em;
+}
+.sidebar .sidebar-scrollbox {
+    overflow-y: auto;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    padding: 10px 10px;
+}
+.sidebar .sidebar-resize-handle {
+    position: absolute;
+    cursor: col-resize;
+    width: 0;
+    right: calc(var(--sidebar-resize-indicator-width) * -1);
+    top: 0;
+    bottom: 0;
+    display: flex;
+    align-items: center;
+}
+
+.sidebar-resize-handle .sidebar-resize-indicator {
+    width: 100%;
+    height: 12px;
+    background-color: var(--icons);
+    margin-inline-start: var(--sidebar-resize-indicator-space);
+}
+
+[dir=rtl] .sidebar .sidebar-resize-handle {
+    left: calc(var(--sidebar-resize-indicator-width) * -1);
+    right: unset;
+}
+.js .sidebar .sidebar-resize-handle {
+    cursor: col-resize;
+    width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space));
+}
+/* sidebar-hidden */
+#sidebar-toggle-anchor:not(:checked) ~ .sidebar {
+    transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width)));
+    z-index: -1;
+}
+[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar {
+    transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)));
+}
+.sidebar::-webkit-scrollbar {
+    background: var(--sidebar-bg);
+}
+.sidebar::-webkit-scrollbar-thumb {
+    background: var(--scrollbar);
+}
+
+/* sidebar-visible */
+#sidebar-toggle-anchor:checked ~ .page-wrapper {
+    transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)));
+}
+[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper {
+    transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width)));
+}
+@media only screen and (min-width: 620px) {
+    #sidebar-toggle-anchor:checked ~ .page-wrapper {
+        transform: none;
+        margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width));
+    }
+    [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper {
+        transform: none;
+    }
+}
+
+.chapter {
+    list-style: none outside none;
+    padding-inline-start: 0;
+    line-height: 2.2em;
+}
+
+.chapter ol {
+    width: 100%;
+}
+
+.chapter li {
+    display: flex;
+    color: var(--sidebar-non-existant);
+}
+.chapter li a {
+    display: block;
+    padding: 0;
+    text-decoration: none;
+    color: var(--sidebar-fg);
+}
+
+.chapter li a:hover {
+    color: var(--sidebar-active);
+}
+
+.chapter li a.active {
+    color: var(--sidebar-active);
+}
+
+.chapter li > a.toggle {
+    cursor: pointer;
+    display: block;
+    margin-inline-start: auto;
+    padding: 0 10px;
+    user-select: none;
+    opacity: 0.68;
+}
+
+.chapter li > a.toggle div {
+    transition: transform 0.5s;
+}
+
+/* collapse the section */
+.chapter li:not(.expanded) + li > ol {
+    display: none;
+}
+
+.chapter li.chapter-item {
+    line-height: 1.5em;
+    margin-block-start: 0.6em;
+}
+
+.chapter li.expanded > a.toggle div {
+    transform: rotate(90deg);
+}
+
+.spacer {
+    width: 100%;
+    height: 3px;
+    margin: 5px 0px;
+}
+.chapter .spacer {
+    background-color: var(--sidebar-spacer);
+}
+
+@media (-moz-touch-enabled: 1), (pointer: coarse) {
+    .chapter li a { padding: 5px 0; }
+    .spacer { margin: 10px 0; }
+}
+
+.section {
+    list-style: none outside none;
+    padding-inline-start: 20px;
+    line-height: 1.9em;
+}
+
+/* Theme Menu Popup */
+
+.theme-popup {
+    position: absolute;
+    left: 10px;
+    top: var(--menu-bar-height);
+    z-index: 1000;
+    border-radius: 4px;
+    font-size: 0.7em;
+    color: var(--fg);
+    background: var(--theme-popup-bg);
+    border: 1px solid var(--theme-popup-border);
+    margin: 0;
+    padding: 0;
+    list-style: none;
+    display: none;
+    /* Don't let the children's background extend past the rounded corners. */
+    overflow: hidden;
+}
+[dir=rtl] .theme-popup { left: unset;  right: 10px; }
+.theme-popup .default {
+    color: var(--icons);
+}
+.theme-popup .theme {
+    width: 100%;
+    border: 0;
+    margin: 0;
+    padding: 2px 20px;
+    line-height: 25px;
+    white-space: nowrap;
+    text-align: start;
+    cursor: pointer;
+    color: inherit;
+    background: inherit;
+    font-size: inherit;
+}
+.theme-popup .theme:hover {
+    background-color: var(--theme-hover);
+}
+
+.theme-selected::before {
+    display: inline-block;
+    content: "✓";
+    margin-inline-start: -14px;
+    width: 14px;
+}
diff --git a/src/theme/css/general.css b/src/theme/css/general.css
new file mode 100644
index 0000000..e7d20da
--- /dev/null
+++ b/src/theme/css/general.css
@@ -0,0 +1,234 @@
+/* Base styles and content styles */
+
+@import 'variables.css';
+
+:root {
+    /* Browser default font-size is 16px, this way 1 rem = 10px */
+    font-size: 62.5%;
+    color-scheme: var(--color-scheme);
+}
+
+html {
+    font-family: "Open Sans", sans-serif;
+    color: var(--fg);
+    background-color: var(--bg);
+    text-size-adjust: none;
+    -webkit-text-size-adjust: none;
+}
+
+body {
+    margin: 0;
+    font-size: 1.6rem;
+    overflow-x: hidden;
+}
+
+code {
+    font-family: var(--mono-font) !important;
+    font-size: var(--code-font-size);
+    direction: ltr !important;
+}
+
+/* make long words/inline code not x overflow */
+main {
+    overflow-wrap: break-word;
+}
+
+/* make wide tables scroll if they overflow */
+.table-wrapper {
+    overflow-x: auto;
+}
+
+/* Don't change font size in headers. */
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    font-size: unset;
+}
+
+.left { float: left; }
+.right { float: right; }
+.boring { opacity: 0.6; }
+.hide-boring .boring { display: none; }
+.hidden { display: none !important; }
+
+h2, h3 { margin-block-start: 2.5em; }
+h4, h5 { margin-block-start: 2em; }
+
+.header + .header h3,
+.header + .header h4,
+.header + .header h5 {
+    margin-block-start: 1em;
+}
+
+h1:target::before,
+h2:target::before,
+h3:target::before,
+h4:target::before,
+h5:target::before,
+h6:target::before {
+    display: inline-block;
+    content: "»";
+    margin-inline-start: -30px;
+    width: 30px;
+}
+
+/* This is broken on Safari as of version 14, but is fixed
+   in Safari Technology Preview 117 which I think will be Safari 14.2.
+   https://bugs.webkit.org/show_bug.cgi?id=218076
+*/
+:target {
+    /* Safari does not support logical properties */
+    scroll-margin-top: calc(var(--menu-bar-height) + 0.5em);
+}
+
+.page {
+    outline: 0;
+    padding: 0 var(--page-padding);
+    margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */
+}
+.page-wrapper {
+    box-sizing: border-box;
+    background-color: var(--bg);
+}
+.no-js .page-wrapper,
+.js:not(.sidebar-resizing) .page-wrapper {
+    transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */
+}
+[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper {
+    transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */
+}
+
+.content {
+    overflow-y: auto;
+    padding: 0 5px 50px 5px;
+}
+.content main {
+    margin-inline-start: auto;
+    margin-inline-end: auto;
+    max-width: var(--content-max-width);
+}
+.content p { line-height: 1.45em; }
+.content ol { line-height: 1.45em; }
+.content ul { line-height: 1.45em; }
+.content a { text-decoration: none; }
+.content a:hover { text-decoration: underline; }
+.content img, .content video { max-width: 100%; }
+.content .header:link,
+.content .header:visited {
+    color: var(--fg);
+}
+.content .header:link,
+.content .header:visited:hover {
+    text-decoration: none;
+}
+
+table {
+    margin: 0 auto;
+    border-collapse: collapse;
+}
+table td {
+    padding: 3px 20px;
+    border: 1px var(--table-border-color) solid;
+}
+table thead {
+    background: var(--table-header-bg);
+}
+table thead td {
+    font-weight: 700;
+    border: none;
+}
+table thead th {
+    padding: 3px 20px;
+}
+table thead tr {
+    border: 1px var(--table-header-bg) solid;
+}
+/* Alternate background colors for rows */
+table tbody tr:nth-child(2n) {
+    background: var(--table-alternate-bg);
+}
+
+
+blockquote {
+    margin: 20px 0;
+    padding: 0 20px;
+    color: var(--fg);
+    background-color: var(--quote-bg);
+    border-block-start: .1em solid var(--quote-border);
+    border-block-end: .1em solid var(--quote-border);
+}
+
+.warning {
+    margin: 20px;
+    padding: 0 20px;
+    border-inline-start: 2px solid var(--warning-border);
+}
+
+.warning:before {
+    position: absolute;
+    width: 3rem;
+    height: 3rem;
+    margin-inline-start: calc(-1.5rem - 21px);
+    content: "ⓘ";
+    text-align: center;
+    background-color: var(--bg);
+    color: var(--warning-border);
+    font-weight: bold;
+    font-size: 2rem;
+}
+
+blockquote .warning:before {
+    background-color: var(--quote-bg);
+}
+
+kbd {
+    background-color: var(--table-border-color);
+    border-radius: 4px;
+    border: solid 1px var(--theme-popup-border);
+    box-shadow: inset 0 -1px 0 var(--theme-hover);
+    display: inline-block;
+    font-size: var(--code-font-size);
+    font-family: var(--mono-font);
+    line-height: 10px;
+    padding: 4px 5px;
+    vertical-align: middle;
+}
+
+:not(.footnote-definition) + .footnote-definition,
+.footnote-definition + :not(.footnote-definition) {
+    margin-block-start: 2em;
+}
+.footnote-definition {
+    font-size: 0.9em;
+    margin: 0.5em 0;
+}
+.footnote-definition p {
+    display: inline;
+}
+
+.tooltiptext {
+    position: absolute;
+    visibility: hidden;
+    color: #fff;
+    background-color: #333;
+    transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */
+    left: -8px; /* Half of the width of the icon */
+    top: -35px;
+    font-size: 0.8em;
+    text-align: center;
+    border-radius: 6px;
+    padding: 5px 8px;
+    margin: 5px;
+    z-index: 1000;
+}
+.tooltipped .tooltiptext {
+    visibility: visible;
+}
+
+.chapter li.part-title {
+    color: var(--sidebar-fg);
+    margin: 5px 0px;
+    font-weight: bold;
+}
+
+.result-no-output {
+    font-style: italic;
+}
diff --git a/src/theme/css/print.css b/src/theme/css/print.css
new file mode 100644
index 0000000..80ec3a5
--- /dev/null
+++ b/src/theme/css/print.css
@@ -0,0 +1,50 @@
+
+#sidebar,
+#menu-bar,
+.nav-chapters,
+.mobile-nav-chapters {
+    display: none;
+}
+
+#page-wrapper.page-wrapper {
+    transform: none !important;
+    margin-inline-start: 0px;
+    overflow-y: initial;
+}
+
+#content {
+    max-width: none;
+    margin: 0;
+    padding: 0;
+}
+
+.page {
+    overflow-y: initial;
+}
+
+code {
+    direction: ltr !important;
+}
+
+pre > .buttons {
+    z-index: 2;
+}
+
+a, a:visited, a:active, a:hover {
+    color: #4183c4;
+    text-decoration: none;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    page-break-inside: avoid;
+    page-break-after: avoid;
+}
+
+pre, code {
+    page-break-inside: avoid;
+    white-space: pre-wrap;
+}
+
+.fa {
+    display: none !important;
+}
diff --git a/src/theme/css/variables.css b/src/theme/css/variables.css
new file mode 100644
index 0000000..0da55e8
--- /dev/null
+++ b/src/theme/css/variables.css
@@ -0,0 +1,279 @@
+
+/* Globals */
+
+:root {
+    --sidebar-width: 300px;
+    --sidebar-resize-indicator-width: 8px;
+    --sidebar-resize-indicator-space: 2px;
+    --page-padding: 15px;
+    --content-max-width: 750px;
+    --menu-bar-height: 50px;
+    --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace;
+    --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */
+}
+
+/* Themes */
+
+.ayu {
+    --bg: hsl(210, 25%, 8%);
+    --fg: #c5c5c5;
+
+    --sidebar-bg: #14191f;
+    --sidebar-fg: #c8c9db;
+    --sidebar-non-existant: #5c6773;
+    --sidebar-active: #ffb454;
+    --sidebar-spacer: #2d334f;
+
+    --scrollbar: var(--sidebar-fg);
+
+    --icons: #737480;
+    --icons-hover: #b7b9cc;
+
+    --links: #0096cf;
+
+    --inline-code-color: #ffb454;
+
+    --theme-popup-bg: #14191f;
+    --theme-popup-border: #5c6773;
+    --theme-hover: #191f26;
+
+    --quote-bg: hsl(226, 15%, 17%);
+    --quote-border: hsl(226, 15%, 22%);
+
+    --warning-border: #ff8e00;
+
+    --table-border-color: hsl(210, 25%, 13%);
+    --table-header-bg: hsl(210, 25%, 28%);
+    --table-alternate-bg: hsl(210, 25%, 11%);
+
+    --searchbar-border-color: #848484;
+    --searchbar-bg: #424242;
+    --searchbar-fg: #fff;
+    --searchbar-shadow-color: #d4c89f;
+    --searchresults-header-fg: #666;
+    --searchresults-border-color: #888;
+    --searchresults-li-bg: #252932;
+    --search-mark-bg: #e3b171;
+
+    --color-scheme: dark;
+}
+
+.coal {
+    --bg: hsl(200, 7%, 8%);
+    --fg: #98a3ad;
+
+    --sidebar-bg: #292c2f;
+    --sidebar-fg: #a1adb8;
+    --sidebar-non-existant: #505254;
+    --sidebar-active: #3473ad;
+    --sidebar-spacer: #393939;
+
+    --scrollbar: var(--sidebar-fg);
+
+    --icons: #43484d;
+    --icons-hover: #b3c0cc;
+
+    --links: #2b79a2;
+
+    --inline-code-color: #c5c8c6;
+
+    --theme-popup-bg: #141617;
+    --theme-popup-border: #43484d;
+    --theme-hover: #1f2124;
+
+    --quote-bg: hsl(234, 21%, 18%);
+    --quote-border: hsl(234, 21%, 23%);
+
+    --warning-border: #ff8e00;
+
+    --table-border-color: hsl(200, 7%, 13%);
+    --table-header-bg: hsl(200, 7%, 28%);
+    --table-alternate-bg: hsl(200, 7%, 11%);
+
+    --searchbar-border-color: #aaa;
+    --searchbar-bg: #b7b7b7;
+    --searchbar-fg: #000;
+    --searchbar-shadow-color: #aaa;
+    --searchresults-header-fg: #666;
+    --searchresults-border-color: #98a3ad;
+    --searchresults-li-bg: #2b2b2f;
+    --search-mark-bg: #355c7d;
+
+    --color-scheme: dark;
+}
+
+.light {
+    --bg: hsl(0, 0%, 100%);
+    --fg: hsl(0, 0%, 0%);
+
+    --sidebar-bg: #fafafa;
+    --sidebar-fg: hsl(0, 0%, 0%);
+    --sidebar-non-existant: #aaaaaa;
+    --sidebar-active: #1f1fff;
+    --sidebar-spacer: #f4f4f4;
+
+    --scrollbar: #8F8F8F;
+
+    --icons: #747474;
+    --icons-hover: #000000;
+
+    --links: #20609f;
+
+    --inline-code-color: #301900;
+
+    --theme-popup-bg: #fafafa;
+    --theme-popup-border: #cccccc;
+    --theme-hover: #e6e6e6;
+
+    --quote-bg: hsl(197, 37%, 96%);
+    --quote-border: hsl(197, 37%, 91%);
+
+    --warning-border: #ff8e00;
+
+    --table-border-color: hsl(0, 0%, 95%);
+    --table-header-bg: hsl(0, 0%, 80%);
+    --table-alternate-bg: hsl(0, 0%, 97%);
+
+    --searchbar-border-color: #aaa;
+    --searchbar-bg: #fafafa;
+    --searchbar-fg: #000;
+    --searchbar-shadow-color: #aaa;
+    --searchresults-header-fg: #666;
+    --searchresults-border-color: #888;
+    --searchresults-li-bg: #e4f2fe;
+    --search-mark-bg: #a2cff5;
+
+    --color-scheme: light;
+}
+
+.navy {
+    --bg: hsl(226, 23%, 11%);
+    --fg: #bcbdd0;
+
+    --sidebar-bg: #282d3f;
+    --sidebar-fg: #c8c9db;
+    --sidebar-non-existant: #505274;
+    --sidebar-active: #2b79a2;
+    --sidebar-spacer: #2d334f;
+
+    --scrollbar: var(--sidebar-fg);
+
+    --icons: #737480;
+    --icons-hover: #b7b9cc;
+
+    --links: #2b79a2;
+
+    --inline-code-color: #c5c8c6;
+
+    --theme-popup-bg: #161923;
+    --theme-popup-border: #737480;
+    --theme-hover: #282e40;
+
+    --quote-bg: hsl(226, 15%, 17%);
+    --quote-border: hsl(226, 15%, 22%);
+
+    --warning-border: #ff8e00;
+
+    --table-border-color: hsl(226, 23%, 16%);
+    --table-header-bg: hsl(226, 23%, 31%);
+    --table-alternate-bg: hsl(226, 23%, 14%);
+
+    --searchbar-border-color: #aaa;
+    --searchbar-bg: #aeaec6;
+    --searchbar-fg: #000;
+    --searchbar-shadow-color: #aaa;
+    --searchresults-header-fg: #5f5f71;
+    --searchresults-border-color: #5c5c68;
+    --searchresults-li-bg: #242430;
+    --search-mark-bg: #a2cff5;
+
+    --color-scheme: dark;
+}
+
+.rust {
+    --bg: hsl(60, 9%, 87%);
+    --fg: #262625;
+
+    --sidebar-bg: #3b2e2a;
+    --sidebar-fg: #c8c9db;
+    --sidebar-non-existant: #505254;
+    --sidebar-active: #e69f67;
+    --sidebar-spacer: #45373a;
+
+    --scrollbar: var(--sidebar-fg);
+
+    --icons: #737480;
+    --icons-hover: #262625;
+
+    --links: #2b79a2;
+
+    --inline-code-color: #6e6b5e;
+
+    --theme-popup-bg: #e1e1db;
+    --theme-popup-border: #b38f6b;
+    --theme-hover: #99908a;
+
+    --quote-bg: hsl(60, 5%, 75%);
+    --quote-border: hsl(60, 5%, 70%);
+
+    --warning-border: #ff8e00;
+
+    --table-border-color: hsl(60, 9%, 82%);
+    --table-header-bg: #b3a497;
+    --table-alternate-bg: hsl(60, 9%, 84%);
+
+    --searchbar-border-color: #aaa;
+    --searchbar-bg: #fafafa;
+    --searchbar-fg: #000;
+    --searchbar-shadow-color: #aaa;
+    --searchresults-header-fg: #666;
+    --searchresults-border-color: #888;
+    --searchresults-li-bg: #dec2a2;
+    --search-mark-bg: #e69f67;
+
+    --color-scheme: light;
+}
+
+@media (prefers-color-scheme: dark) {
+    .light.no-js {
+        --bg: hsl(200, 7%, 8%);
+        --fg: #98a3ad;
+
+        --sidebar-bg: #292c2f;
+        --sidebar-fg: #a1adb8;
+        --sidebar-non-existant: #505254;
+        --sidebar-active: #3473ad;
+        --sidebar-spacer: #393939;
+
+        --scrollbar: var(--sidebar-fg);
+
+        --icons: #43484d;
+        --icons-hover: #b3c0cc;
+
+        --links: #2b79a2;
+
+        --inline-code-color: #c5c8c6;
+
+        --theme-popup-bg: #141617;
+        --theme-popup-border: #43484d;
+        --theme-hover: #1f2124;
+
+        --quote-bg: hsl(234, 21%, 18%);
+        --quote-border: hsl(234, 21%, 23%);
+
+        --warning-border: #ff8e00;
+
+        --table-border-color: hsl(200, 7%, 13%);
+        --table-header-bg: hsl(200, 7%, 28%);
+        --table-alternate-bg: hsl(200, 7%, 11%);
+
+        --searchbar-border-color: #aaa;
+        --searchbar-bg: #b7b7b7;
+        --searchbar-fg: #000;
+        --searchbar-shadow-color: #aaa;
+        --searchresults-header-fg: #666;
+        --searchresults-border-color: #98a3ad;
+        --searchresults-li-bg: #2b2b2f;
+        --search-mark-bg: #355c7d;
+    }
+}
diff --git a/src/theme/favicon.png b/src/theme/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b1aa16c4dcb6c872cb5af799bfc9b5552c7b9e
GIT binary patch
literal 5679
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
A;{X5v

literal 0
HcmV?d00001

diff --git a/src/theme/favicon.svg b/src/theme/favicon.svg
new file mode 100755
index 0000000..90e0ea5
--- /dev/null
+++ b/src/theme/favicon.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 199.7 184.2">
+  <style>
+    @media (prefers-color-scheme: dark) {
+      svg { fill: white; }
+    }
+  </style>
+<path d="M189.5,36.8c0.2,2.8,0,5.1-0.6,6.8L153,162c-0.6,2.1-2,3.7-4.2,5c-2.2,1.2-4.4,1.9-6.7,1.9H31.4c-9.6,0-15.3-2.8-17.3-8.4
+  c-0.8-2.2-0.8-3.9,0.1-5.2c0.9-1.2,2.4-1.8,4.6-1.8H123c7.4,0,12.6-1.4,15.4-4.1s5.7-8.9,8.6-18.4l32.9-108.6
+  c1.8-5.9,1-11.1-2.2-15.6S169.9,0,164,0H72.7c-1,0-3.1,0.4-6.1,1.1l0.1-0.4C64.5,0.2,62.6,0,61,0.1s-3,0.5-4.3,1.4
+  c-1.3,0.9-2.4,1.8-3.2,2.8S52,6.5,51.2,8.1c-0.8,1.6-1.4,3-1.9,4.3s-1.1,2.7-1.8,4.2c-0.7,1.5-1.3,2.7-2,3.7c-0.5,0.6-1.2,1.5-2,2.5
+  s-1.6,2-2.2,2.8s-0.9,1.5-1.1,2.2c-0.2,0.7-0.1,1.8,0.2,3.2c0.3,1.4,0.4,2.4,0.4,3.1c-0.3,3-1.4,6.9-3.3,11.6
+  c-1.9,4.7-3.6,8.1-5.1,10.1c-0.3,0.4-1.2,1.3-2.6,2.7c-1.4,1.4-2.3,2.6-2.6,3.7c-0.3,0.4-0.3,1.5-0.1,3.4c0.3,1.8,0.4,3.1,0.3,3.8
+  c-0.3,2.7-1.3,6.3-3,10.8c-1.7,4.5-3.4,8.2-5,11c-0.2,0.5-0.9,1.4-2,2.8c-1.1,1.4-1.8,2.5-2,3.4c-0.2,0.6-0.1,1.8,0.1,3.4
+  c0.2,1.6,0.2,2.8-0.1,3.6c-0.6,3-1.8,6.7-3.6,11c-1.8,4.3-3.6,7.9-5.4,11c-0.5,0.8-1.1,1.7-2,2.8c-0.8,1.1-1.5,2-2,2.8
+  s-0.8,1.6-1,2.5c-0.1,0.5,0,1.3,0.4,2.3c0.3,1.1,0.4,1.9,0.4,2.6c-0.1,1.1-0.2,2.6-0.5,4.4c-0.2,1.8-0.4,2.9-0.4,3.2
+  c-1.8,4.8-1.7,9.9,0.2,15.2c2.2,6.2,6.2,11.5,11.9,15.8c5.7,4.3,11.7,6.4,17.8,6.4h110.7c5.2,0,10.1-1.7,14.7-5.2s7.7-7.8,9.2-12.9
+  l33-108.6c1.8-5.8,1-10.9-2.2-15.5C194.9,39.7,192.6,38,189.5,36.8z M59.6,122.8L73.8,80c0,0,7,0,10.8,0s28.8-1.7,25.4,17.5
+  c-3.4,19.2-18.8,25.2-36.8,25.4S59.6,122.8,59.6,122.8z M78.6,116.8c4.7-0.1,18.9-2.9,22.1-17.1S89.2,86.3,89.2,86.3l-8.9,0
+  l-10.2,30.5C70.2,116.9,74,116.9,78.6,116.8z M75.3,68.7L89,26.2h9.8l0.8,34l23.6-34h9.9l-13.6,42.5h-7.1l12.5-35.4l-24.5,35.4h-6.8
+  l-0.8-35L82,68.7H75.3z"/>
+</svg>
+<!-- Original image Copyright Dave Gandy — CC BY 4.0 License -->
diff --git a/src/theme/fonts/OPEN-SANS-LICENSE.txt b/src/theme/fonts/OPEN-SANS-LICENSE.txt
new file mode 100755
index 0000000..d645695
--- /dev/null
+++ b/src/theme/fonts/OPEN-SANS-LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt b/src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt
new file mode 100644
index 0000000..366206f
--- /dev/null
+++ b/src/theme/fonts/SOURCE-CODE-PRO-LICENSE.txt
@@ -0,0 +1,93 @@
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/theme/fonts/fonts.css b/src/theme/fonts/fonts.css
new file mode 100644
index 0000000..858efa5
--- /dev/null
+++ b/src/theme/fonts/fonts.css
@@ -0,0 +1,100 @@
+/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */
+/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */
+
+/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 300;
+  src: local('Open Sans Light'), local('OpenSans-Light'),
+       url('open-sans-v17-all-charsets-300.woff2') format('woff2');
+}
+
+/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 300;
+  src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
+       url('open-sans-v17-all-charsets-300italic.woff2') format('woff2');
+}
+
+/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Open Sans Regular'), local('OpenSans-Regular'),
+       url('open-sans-v17-all-charsets-regular.woff2') format('woff2');
+}
+
+/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 400;
+  src: local('Open Sans Italic'), local('OpenSans-Italic'),
+       url('open-sans-v17-all-charsets-italic.woff2') format('woff2');
+}
+
+/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 600;
+  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
+       url('open-sans-v17-all-charsets-600.woff2') format('woff2');
+}
+
+/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 600;
+  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
+       url('open-sans-v17-all-charsets-600italic.woff2') format('woff2');
+}
+
+/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 700;
+  src: local('Open Sans Bold'), local('OpenSans-Bold'),
+       url('open-sans-v17-all-charsets-700.woff2') format('woff2');
+}
+
+/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 700;
+  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+       url('open-sans-v17-all-charsets-700italic.woff2') format('woff2');
+}
+
+/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 800;
+  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
+       url('open-sans-v17-all-charsets-800.woff2') format('woff2');
+}
+
+/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 800;
+  src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
+       url('open-sans-v17-all-charsets-800italic.woff2') format('woff2');
+}
+
+/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 500;
+  src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2');
+}
diff --git a/src/theme/fonts/mod.rs b/src/theme/fonts/mod.rs
new file mode 100644
index 0000000..5d2e29c
--- /dev/null
+++ b/src/theme/fonts/mod.rs
@@ -0,0 +1,61 @@
+pub static CSS: &[u8] = include_bytes!("fonts.css");
+// An array of (file_name, file_contents) pairs
+pub static LICENSES: [(&str, &[u8]); 2] = [
+    (
+        "fonts/OPEN-SANS-LICENSE.txt",
+        include_bytes!("OPEN-SANS-LICENSE.txt"),
+    ),
+    (
+        "fonts/SOURCE-CODE-PRO-LICENSE.txt",
+        include_bytes!("SOURCE-CODE-PRO-LICENSE.txt"),
+    ),
+];
+// An array of (file_name, file_contents) pairs
+pub static OPEN_SANS: [(&str, &[u8]); 10] = [
+    (
+        "fonts/open-sans-v17-all-charsets-300.woff2",
+        include_bytes!("open-sans-v17-all-charsets-300.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-300italic.woff2",
+        include_bytes!("open-sans-v17-all-charsets-300italic.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-regular.woff2",
+        include_bytes!("open-sans-v17-all-charsets-regular.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-italic.woff2",
+        include_bytes!("open-sans-v17-all-charsets-italic.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-600.woff2",
+        include_bytes!("open-sans-v17-all-charsets-600.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-600italic.woff2",
+        include_bytes!("open-sans-v17-all-charsets-600italic.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-700.woff2",
+        include_bytes!("open-sans-v17-all-charsets-700.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-700italic.woff2",
+        include_bytes!("open-sans-v17-all-charsets-700italic.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-800.woff2",
+        include_bytes!("open-sans-v17-all-charsets-800.woff2"),
+    ),
+    (
+        "fonts/open-sans-v17-all-charsets-800italic.woff2",
+        include_bytes!("open-sans-v17-all-charsets-800italic.woff2"),
+    ),
+];
+
+// A (file_name, file_contents) pair
+pub static SOURCE_CODE_PRO: (&str, &[u8]) = (
+    "fonts/source-code-pro-v11-all-charsets-500.woff2",
+    include_bytes!("source-code-pro-v11-all-charsets-500.woff2"),
+);
diff --git a/src/theme/fonts/open-sans-v17-all-charsets-300.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-300.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..9f51be370fa913ce6de2922b580c262c4822b337
GIT binary patch
literal 44352
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

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-300italic.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-300italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..2f545448418cba6668a2e7d49e9616e8c69dfd15
GIT binary patch
literal 40656
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
bQBM5)6s%p?oy_T)f<heOvL9c)cYydmSX$yH

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-600.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-600.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..f503d558d58dbd4dee1f6b962d23002c85893573
GIT binary patch
literal 44936
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%0Dn1c<2_+E7q!}_WoeXk9?T@D7)yDCvAa+
zTbWFL;qrA#i%g-Hs|#(#bp@@9r;BV+QVV|zK`SXD1V&o*f$re`n*4!$c}OL&-mKo*
zty}l&|M*Mzga{=lV`WU8{mK2wbxUBYSUisz%$wYYB4TW=GQ0F;;SJS&ih=Ni@Qa9-
zgY)g97cOO9>DzNL{!Ig63!IHcCdrxH?Zztk`Nj@7guRTK;bwZRiZmXjWZKC!H<g(~
zoM`6)PO`3!7H%k=3Q@R__^}?OD3{xSH`6!dWgVb4vAmi2_^E9TV2VgkGQN?n=NkYA
za0A_!kcZ1SSbC6Gkf+^F3gOt*q03Z}O&!^3{LN%iB#pRQR8#s;_`3e;k**p}548x3
z<!&@pOUs7aSeZCU`9djgj#5jxO9$^5-#XF1I=-OABW8}CvOTo{?d>1x!?6BgqDo6m
ztDvcrrK!xUNcowZUO<;CO`n&Mua6=BqXu`BEo4ojrxl<eerGAI)x5`@$)2Hmzl}nB
z#=0!T&=P6Rvj9`Uet+U)_6~@o3{xCuNBF{|Q<1@VC7i+QF<NOkB{&Gogkxt^qNcXS
zp7<iul{H|=!9nnNO%+%gSkRYkk$!PyhK`+OieY7CfdM-226z>wkiZ-Vq{C`<?}hx~
zO?#VYBWH?X>JS!9mXR`35a2XKwT8}xlF31}@mbIx-Y^`L4rQkIh4l1U%+taRd!nw8
z!6?BK6cNQ4#3m}6uB#)Lz#+DYl-E#`C;AT{F@-dgpvFN5s6$)_Dx~ZwjP4X~2OT_V
zXK9xZ#Q1uPqB|ton9yia>C1D0ry@*V!C{O(kA**oy!-Hh|A}CVftZ?-fmrLF@F!8t
zq}Mu+wa&^lR68iPwY8NW=^j7O(4IVgq-*X_4$yIvk2M`hcB#E(3AYSUyvq^XqixJ)
z<qqahtgCee3jbN1>Vh62pq%98;^$;~9foZU(Gc{It$p8u91A@R#C&LAbSoANm9!U>
zQth;<5&!&0D@Y_lI#tAs8f04*AH#%h9Oq(TOycBrh&D7f4YFnVOe)5~aUyh(<D&uV
zvz9a7N}fqwNy`uOkc!vCq^7UVC2uO5@iM~u0yVOp9SL!8{1f}q<ZJC~EdX1qXLK(S
z3X!xEl2UGutr3riicW1;EmM%mz9KG)$*j4e2}vOpk1SYDBd_A;P`)_$Oh?k3st(vc
zT&a#dv`=p}wKf>g^k!F@1;-rut1{CGUFouFQZlc|j{Cc!I<H$D&{5+nGCw(Pk&q6$
zOIDH4tw4~zx_jjavd;&dj%Ojq9`^fjwPYM9g^CsBaP0iBw&nJLz4@;`U|xGnHRR)8
zT;MpeyyktNnvkDNK!%ElYO5BehZE)}am_KhN6SfN9^?{|6!3Du3OWAbYRS>^{*raw
z$xjgg{T1VRVldyzCwUL1A9wEXFuF>9i4T<+LMLlAy{hvkmglR9`6v(e?WM~@c@mWo
zjX3Ct4o{m=gh1PxBVQXNimz>4D+V^ME6@Uu;AvTR<ZXjQKsd@?(>mIEglfFhSfzHd
zC-`gJYVa|NCYq&+M92h+Xs5(RMoHFi+jvRY3k6G*2)Qygi1Aty4NS}oHUG;>VY^xw
zxGDzCW0}k2xa7iztx98Knavw3xL5#5RNS)vH4Tl;xL`M1s41u!hZ%}`VZ|{BPw7DZ
zo&KF(lH0g@c{+r6P}qNEHJOB%v4Ks<ZSi#84m)Iv8nGOGIv-7PhMMvdN2910?t{~l
z!m&O9z((VFNZG%E2q-cdKxc)`Tvd)4lXB@m?aVO5Dj(QY`G_ewcj`Hec@+WXb3Il`
zV$3ym*)d?8g_;TfJ*nBN6GNkm$`7v2it(m2pfiqNc%o+P>?$m2HH86dgZH!;rtH!+
zA;pxswW|J0I(lB(&bwLNj~c)1=(VWsYY7=yu)Za4a%bo*IsC#)YC-BiZcm1k1pwvA
zE7%M&Bbf#s*KY2vRM3t-rS!122=m0-1D!lL%CO>0RP;Zbrk&P($kIAbO?xHpMZahV
z@M4)V_Lj^j{JoP!gu90w(D{&|celZln}Qa+20m>Nl0A5QD15?G4=GtI>HhSoxuZWM
zA-v6RwhRqek*vGCyfkk$|3LHk>~3Svr{1@}((BZ}D&rCiV*hE9eX~Zg{7La%ao6(9
zi*rjGa%PWhK*smFpMm-G^t@1=72}`c5>Si-rzO_Kv~@coYG+UyQF<;>mryAks1LF*
zYA*N8Ny10ew*YaIISF^k#*wwzid*~VXL)#L=-Q0T#!b3%ld0FO)dhaSTn)l!GgeFe
zYw>pu3!=r+<x&~3?BJ!ADNfIs22KC{Q_yDe18<t7HSxLz*{uhu;y)T%2+1G_=YEVr
zcI(iagM-@(WYD()fAxoc8WC}+<6|R@(?goI?U&fMOTTz5X>`aqWmxFGi|dD3)>$U>
z3x8Ic8fsa?L8c6A0iO$GknvXgAU)Cwo<L^^blbt<fY{#oW;?2480-d)?U`{I`??32
z0nTk17V|K(?N>l@d7Q^XFXGBPk~h(Lj3P-!-}(^Qtxx{D!-GF_&1Ji|g?(L(A?=+}
zvyzRH`cL(v8>84(_d*n4g;3Xj(eK#eI6}2bnbc<L&NO}aB!b!PRg!1y#ZnyxkWSQ@
zHko3AI$>p15YHR=`pg7uP=@`v4!YJMf3BeTvc`47kki0IVCM{fRvN+KfH>BJ>h`ry
z(qB8*KM%xf?+kVJ>2ccnGf)#QHJ5cx_0jIU?sVC6ymi&myALuXztuF_rL&mu>?X;j
zHjG_7K78};1p&@rcztGd#_i8IRa4(n{SlwP4^ne7eAOR$XoZHw-WwUIp6--9==@l<
zQFV!JJ<-&vKhKCKGjdRBZ;jy!uwOMc`?fscHBjQ}Ay~30Jy>u2G7gccrIE@yuQQM1
zvB{MuIpy3E>x5#gs7v0jd>J2K|MU8Dso7m)W8B@sEYxEyu&KK1vA?3=_hv8G6lj_g
zF*p+XsW=JaD;!aEmJ?6f!9u2ZO|arsCc;5R>2cGK`ZMSARDO78&-V08R9AFNb;r6a
zS!yP#gB|<bqVH{=<IhV!o%L^_w)$1{LTkL<>}nsSzp3$>m{zGJd4Khuo802xLm4rG
z+!D3SltjQInLqOB6!jHVH&r#SHI*!xR&ghdXy6*=(Yn&&9p>hGgZ+1i6Y~|Qq!vh(
zihgGM2MlZ6d4qpfnx39f22%oPw@w3X4?9)DhVD^jJj`W&=L&yb>UEa8rMflAm45LF
ztp2qIar&|9vhJz&N&0M!;DiMj4HyfN`Rk&M{U4vRZddmx^R*A8J|g79&DZhSXqOR@
zzDd|*WH4>D>Y(RsP_SzCU>40}4>4C)uC9f_mWHdc?m_lgY8Ox-*prgmNQ4dOd#p1p
zEAbPuSaDC%Y5T>>i1{^lP+(B9WgmZ$eD5cXimH|&Y>Akk#y5XGJSB#$4bBfY)oDP$
z6VXh1VX6nuJ>_(K>^KZ;ZXLxCvys{^UgARXmIwiTNK!mZoc8(K&(v=a;|C{no07-#
zTMqDgsTcp}4_*S+&JsUTnW}kq2oYrFEG0$-1AmIp)80yuyukkIw*}kb@34ks<<RB;
z(vph3v`(r2UqTivT%7~4aoxQEpR~ORpZ&CFb5B`)rcFJkgq61bwFu8BriHi2skU2b
zlVvb-C+iK~2|uEQYWARcFc6r6bPeW_oqj*8TO2vAf5Yt9$FMC~(9HdCBTMpUZL3Wx
zvpMf>l3ZTP=*8o`{}U);P=6@&|88o2wzvAj04=|`+^Iod8yh@N{ss2p*MpzH?TarY
z<N}7~jXUIx?hHL8!QX@sBL(8eEUojDw9Be6ooPYkXe{>i<PGW?-X-+o3}PV=DK3Ei
z=bi$BaqcF`6}EO9J)xH<S?J#XW)jHd@W@XqAR@Sjq_6*uF?-?fOn;F5f6lFIA+ST<
z<WApHB8EmGVF1$0w*+~;UwV$;jJ#GSMZ9tB!_4QpbNnQ-Y&n>%s2<2gp5iU(U3bR5
zl6Q(qq>(gd$z`oA1CL*9-N$ULvy`;(V}q~O-XgJ>z|hfC&Jys0Hex?n=SHy@6J6x)
z>YfWu|BaBPKl^Y_J&Kq(eNOv8{&;RvS5SmNE+$FC$e?oh60mxn_>sK5xxH#;0<&Nt
z)-O!$z80LDOPvi!Pb|`<es#=YE;Z?@!*4cqKUtupVmO%J*16!P=r!AMlYOb^89;h9
zn2PxStZ&wBGO=;?(MJ~2Kig%wr{qz+H!Y|wN9jFTr<UQCeA&uq1X%HB)T|>=NYeXk
zXjzGVoADg)@b5}L$y29cHzrOcWBk|h)YNxEo#a!jsWDQ*N~&ilZfN$EB%5_Z+E${7
z^egzLwkXINYApU5y+s~Io&>@Uzd}`4h;ro*>sBtl<AYu4L&3(i^tEpPsQAvnfkq`g
zrgs-F_70@Z*^;r>NHXH$(&^;KlY1{WcS8HIQgA|5Z@^@0bkh4Pp9m)$)`;cZ4+&=a
zQ-$>%zeZYyK$FtT%t%KMZ-Q-j9M_e>^4{8RbPY`3MH4+`>p7DV-$*hc_&A|I`zCcJ
zd<vUaJ~>JppGydHP4kSjZB??@iD+Ca1s#*kw&!-=tKtLpv5obSl##?c`+9mi2gdbZ
z?k_)ou>b7kA<6bXbC}DZhkbY)*M&i0=jLe>Nd+mP)GoVhD7hjJW}Lax(F{lQJ4w!o
z#LU00&6--%0D7~;g^}XPI?N432-)2eO@fpoY*T|JJ6HI3rJtKqZh}7-k1j1fii>c`
z^Gci^4UA}Xga1VpzNMNsuJqd*UJ~y<*iM^WuDq|yoO+}|9WM}^;+_0d`zZZX)27n$
zZo`nVnI%!v+sTnYa0-s;zuaFudHDG0@%{Tju{_V^LZRultALtrj0|?-z3tpRT^xRt
zt9AcyY~K7_g5rDZ7&!)ky2<jmq9-|u4p#NCb-@$tI`k|ZZJ=)YZoW)k?Rz`A<DKmI
z{(jNC`)r+L5&z}n5{puK%^c}9n`{}L@BVfWYd&@ceB@@ivTDEj=8ph5@Eh05dn>E+
zz*wyoZ&@@u3p)e5f&?QgOj_jCFvfTcDL5)_dT(ZF;a=B5XGLRnlCIWJl8>7U9`76y
z-T!fa`PGB1r_Wbc0@}BrTZ5X)*Pz|w)fGYf#OMT`+s6@4nEAqWVX*ReT@!fY<P+a^
z<xp4i85)EN?sL_fRVQQ@<6X|WyXX7gUPMQH@uFICJQz0-W><TCzjR}Ik_FhxIXY^D
z{rhCHoz*O>b$;fTn#YGh@cveK!^hfgbVK2W*@IsR)cl<yx$xW~2S%#%>yKG)rrr7!
zj5vSoEx&(fddB60#6V*=yI{NvIGM9{RLADKbz(w3ZUO72=()uTu`dpe=hS-hB{12<
zZQ>)>ITKyLp??!^XD?_nZZS5;3x#LhQt>x+;AHtf{CKEe92W)5i#i%i8O*P4Co1lp
zuDdSC^IcK|!37a8;O3F2+V;3ZAS7Z%jk%$Mzqur8wmqnQ2{DoA@Mwsejh%V2NhD`y
zzox}2L+APyq_oF(BwoQ|nbkHl#4ZF)R@q*8rzDXQ<$&<8_A~|}ld1Ci>v#prPl7`1
zY(rUB6ntRL2%gHWI$(Y>ec2?DsVtGYw7r6t=X)$6jK{`_$~}vYSJ_-r)lM90i#IAc
z|K;T7%Dp~Px$_oRe3Zqnd*VZ0+g5j$-bqQOG_=<xxXb?}&@hoYyCV;}cdmvEf*4f7
z)pZeqI9b=IU@sV$smMuA^op-*3Ik!Eantb6v^v4plsCSyp?6~P4+(wkcgYWmNi`Ko
z43Z;6T5&S^;zZ1ap=yF~726E|Ku>>JslZ}WHYJ5MQ86<M!7wF+eI>I;_2|*S#_mqp
zr8z$5`0BlRp9!u0TdAp2aC0Ra3V;Raj@%1?`C`5S$pGnB4*l^>wCS%FpFWA#^WNge
z@damB`re|%8-qc5N)hiG^-W^gAksZalXei0eHtOygO=V-{?C**0u1nW5`&n;9E`IB
z%)G?u`V%r3<fbqc!%!R=BB_Z&5!GUn717U%*f8~BQ1|MUkF2h_B>ku|?GD%!M#oy8
zyB@%;Mq30lzgZ2wXb}FnL2tN1?W)4A@ZofqhtobDeo$J5!}VgNL5INxQB|6t+1+~_
zVYjH}3TYNFUoal~tVTx%G>6tfjXG#_wnl9{6hGJG5^U0(l{#qw?E6u<7QPC94QwVR
z@6`i>(4k*D|2oh4xj6s{Rq~sdOMoeK`h1r%K~r}?^Rvc{WGr7;?HO8#-KEtt@dB3)
zrsmPqt#nVfP-qe>g51M<sRT~_zgG|7IX4V3PoTQ7vM_QCPS;F0`-c|N!LUqfee8H-
z?|nh&croUD+_;H~YLG@!kER~-OZSHKPMP#X)R-}QO)|3GxfXOiEke7SF~_+M^+9d;
zlK}X{uxzd*g~>R)dpsw$W^5iSDyyzSu`_kbo*9!1NiKnzu@}K?lq5NgtJ$Dy|9$|v
zUnku})Rss`y3eOiwCFbe*H?*HclR|+!G(~kIV;*sK`CB(^SmyQ9b(;^-&hfV1+7~s
z8}a?UDf$X49@85x2pvmf&d@LnWf>l3Dk^h2$YK-G@1hu0W?>J0o5}-mZ_!<XW!02d
z%dzvGV1j0Sze)3ENkeGOl6BB_hgLl=tvglCLTXVfE<bEbCtj&lFz;akb<$g~v|8s|
zF<Jzntzyic6FQ2=oLQl#d(2z83H^)gsbY@=H>-)Qkx)&ms<5doPI)2m+Ex8s*t<5r
z_?H|k09XeII9!Y>01{+XA+ZA+o-M0>N_NvVnmM*gE^R4~#E}5hD9>ckv6*y;s%}O$
zJL7sUa{b4mj_Q9UaT3z`s=pmdE1tfp6gR8-AGWmv)ZG^~;l0JNRm&)s;_g!h=W7*d
zrPNlqfq4`#fFTTH1f!V5oSXenyH7F5steHqG#^HP`v}^_qLw~+&OJFza57$da8iqt
zVpDo15O!|{2$w#?XQE}>k)u^LYf9-~dqWZR8Ctrb2)rb~#5@$ORggF3)E9FnV!^zc
zY3#LTF+O6bS1|62T(J-NJlV!3W?|;#vBjcmyKP`IZ&eVuyL9L7=}I@vY#?f}yX;&!
zdHJE0(_HSEAA503bN()9Ps0f8p%%uOf+mVkWWSJwCk(@}8G38lS1z*5p0cB++*rBv
zqvj)b12h?AJ2$+)Nk2Y6tZEh`#oOZxx*Ltxy7bV?tt6Yv!+e-3F3M2T*o>ID=A_}4
zrM32OcGkI#r-go){L<?u(!$W}xfi&%o=8dLBpmVDDHWH$Hqi;pTU!8;RD4}?r&+AU
zdeivt!A8_e`(Xq<rZ)q1on|w8lv8^r&+l>4I*dO{ZlB`KB`N5VS}h5DMuOR{4<(y!
z<-Mo@FAy<;Sd}ObJrnI&5c{+-3a4nOkmjQYlU2g@tgh85^IX9MLdH|NzlY~9X5_EO
zumtEmyr`^Yixx(*o&VG&-ZV85^k89O<Jd^EZo0>s&mFCfxR|#SNG~@1VzEp6lES*Y
z1ZFBZ02@A#M*Hy!r9Lgib!XV8gycuCrx&@;sV=+|S_(tWWw<yGk;{lXG|k3rf`a$y
z#VN_%^QC=eS>#>XugbToB{`MLNbPVc-QQYgwN6Kyuq^l}R=$|Ep$V57*>I`scFWdc
zBTnoW${ERoT5FI=wN{RW>t$m1dbm->!i_QzZZ>djvmDWj1?kpMLuqQBEeGGT?XYmG
z5iV~{3bz|<xLtyh-8<n<35UB4ns-Nw!dHY5!>}$IdSiYVeW%t|lQ0>#49@nW!D<#u
zG@>7SnT0`pUk6{!?AM<mMF+d3SOij%M2ZeVN<WNnvz$A;nQULab>kVlSzL9k{eJ4=
zB31S(YGru?o1*v7#~8d~MYJ*oaaP1u#`L3-!|MsS<rS-DGh?J*AVnZWz<pR?jDJ@Q
z-Iqg@XXFdazYv`$2o2%2@x*LlWg#eD$@2sQqiOTG6tU3tL<sQC)E{!xux2hzB})x!
z3>jt#AWPVHpp-3xdRl|-Vhn7I1;-fVdMr(14D7qH%i1yV_K!Bn|5zIlwufi8wzsDT
zx<{iPcH8QG;q5O&?Kds8VoTpotB~c7bVV(is3PTE-%7%;J8pvRe*E3Qo*_Y>AmpI9
zydpkxE>2Btfa1MmSvDlR9`G|oDH<|;yDctYk#zSeU_gQFkG`b-tlrnN|NIaB#Qw(F
zcls~ByZ9M@z5wjKCs_cjgnRlregn>tKY;X$nRzI2LW|h{tHx^pmI1&%IR9QQCKCQ6
z{=7|+Sm~nqdh!2{WEGf$8Ckkj|HA3<oDQ3vn8pj{9eo{qEz%vQPV1Uingpj#5btzU
zBmiUg?I5Rjh_)YE)$&UB*$#C2oJL44VKk_YA_qIN{yK;XX3#7@p>anFe3%JBXfqh(
zqWfst(p;uM?ve0e)V5r(AD;=!%@AnP)rmggW*fzZW$6c(j4l@QFhSH&06!NYFTRHB
z#muo90?e4wMh}|qA-Ne<di|Z_{FMmJ40`OUtCxLlC-H08lVS+4I#Lw1f)4MoGza#$
zUYa>}vx8~!MkkFaZ8XuCkkV#kS}4_1)EvD>HbFG#Rvpvypx2+;%yg6it)zQ6@*GJe
zsKcGeX)YADH#3LV4hG9i>D=2%HSc{~rz`mBRj2Wj*@I%oT`;vpbl7x*^&=fW!;D6?
zonx{oW}y7nW#@FCzKkh+K8&Y<zBAj|9DVzPU7IQMDM0h7@0rcWO?d|7X3(9~22EIk
zVICHu;#nB55Urm=iL}3$A`6?oC0b!jkim}{6SV(kWc|d{rlZ3Ys@GqQkP%=BD^?6M
zHI^RjXE#x1C+>NRW-Sc{{SV!jcg|JL3}Z?g9X4~2?rkChZ6A^vcJlbM*f74Lu`;D)
zpVtPUk&&j~x05m>|03Vdk<e%S=#AQqC%_(EJEtAwOAPD%#lf86)+yaz$d^|p<bOSP
z_k4g2!fQi4oDk@D27QC$h<cpo`V7Q{>a&vgn?WOHymwjK{Sx-Aaj2f|!!iauh*6Z_
zwt#P1@5UiVQ+T)#m>{~u{+=tz-l{zl@@37tO|X*qt+5%C<TK4#B5k|h5-K&Ek;(Z6
z$>a19*axvI<&ia{e3v2~h@T2uXuq8|tWWmcGd6sjm7XYKeVd#iW()YY=w+P|%}qP^
zt%S9oxH#mxu)f<VgY!WBb$*-R(va*dkk}z7jfZuQ*?^o;dD#o=4e|weGN-UP&-WeD
z$J;5IX8-1Vp7h{gm2|kCUL)t1ukl`Ly%pi#vSRt(MoX0z*7bEputS=`dL_3joM}MS
zBnPqorUa2%=eOXv^iQ`STFjmoGr>ONb~G&D-x_0d86jjl;zxz?%jFqA9~138>;GS#
zhCzwkXZz&&PwlsyED5l-!};9M&`8&wR)uxL-nL~*(_=wrfY^DnI=+J$6ym-|a6!vY
z1!T=7L!L>!!lr`e4xq80>99pB7(l^0hB;DWQ6X><TE^yR8mmjoE<McC%PYj_n$g79
zi`q-GN8@q%t!YL9tuz>f+J_GslhVZR0M|>iN27Bof3zC|_}2|;m(dlO)-k2~{nUg|
z*<nImfX&+kElSf7UgB<lw{u1c+wlh|@+)dEqkUis!0fc|D39gyvA67=%^1$0;j5Fa
z6wC<nwi=o$nKN^oGlChj@09zAK(oxI3iKjRJXW`rF?a@chb)fPuRInSg8H_}ffGX~
zIGd%*EO0tr1bBnv)zxe>GG^v=i;iUO*%JzWM-^Qq8CGv6xgeqw@(W~;JIoInXWc2E
zkG<uW*^FnLaWfsrO~HWNbPfY@14{PabNA=ubxvnBI_Sh$lVGGUdFxIZWoLOVnkDRP
z+jp&EOXS!YpEf!gI;XQ59q<!#OoEZZ<gMr!0Es!vW0s3L=dnej;m%IX1^yaPJ{ivR
z5j(qEav&qWrt-BoC8PR{j7`;P$;*WwjwZwYrE^EW->0f4o<q~C`YE0N2l@x{{Lza{
zue;C4!sBJ=FMbBQJ#Jgzwd~kGTzNPHGdj=xr=Di_2csm8TregDxZE9%#*+Jcb2P_S
zFHcsEOwLW3km9K5uSy3GduSf){XsK#%$VbFsdkkz<TGW#J0*hm$B#<ff&Vv~22X2Y
zq_m-`#Bp|YSd1z4J4)a{8^-*?^C#>gHhHt0Gn(^>ln<bF>rE-*u;?(C0T0K?-`?LJ
z4(5pB0(&xUanxcG5k<U_PE_38Z4SU!FHdh|9T(ecPFbGd(f|un%MLFX-%cBQcH=22
zH+X%`<5u$gGvwb4b&Laa8R4)ua5Tr}aAdN5s(;t$k5YUjne6Z{GG1E8+w1*JH~B5g
zq33$qUf*yW%<zw2kX&Bg;?H;T=R!*P_7-n!YH71_>d6o0b-q8ZqG~;fCa>bTFYj;m
z)?e=U4E^5s^NzhfZmZjCdUJ`J2GtkijUB~XBYi2Ky>uCIo5L6egwsvnp8+K7oF{+W
zNV`tf$cdstgo3XrIe66`uR{^Bil0Bnq#G1QEzy#-o>f4q50ZTnyBuRo2?LdEOHQHq
zAt4Sf?~Mz(V>e@divuAEN+0G|^S^ua-IAnaNT4AIBm9Us2%i@@(Sie%Z1gK(1gcm3
zB?3AJ!bEPc@F3li+_oUSheIR$J48xNRbp#F=JpH(&|r+16Dyj>J-AK2zm}*!m@uuo
zB&kbJ7lX;)F==u~$lXsNjZ77AFL+e!OYPDgfVJ#ae0PblY2ueOO}^QTn{kuoUC0R^
z+u<+6D_5N$Sd;Q#jDZ$M*kJDn{>zQ1G1<ggRO(4)`3SMf`Dkx=bsW>UPnp6ykJ;ML
zaRKHX0DcSYPYIl7GZvSIk)#h*Z&rB@AQN6}^SY|eUs6>|lBjkk>C${6)JnR*wl^jR
z6mUX8VUNjAkl)LU7$?E3F8i6^y~+jVdA~0J-nb!6cMzi(3kQ;Pz;fOLTS*Bg3w+?^
zg;cAWzC<ZneftidV)z-pl-UL-bHhGX_0Om@%-~3Y+v7;4=shdVmV)p6R~`#_YhxPy
zafh$3-hZ!LfXfIV>%Y^D@I8JL-_m~&CAhpl-;Txiho(Smf#o-pApAy=3;A+<Gbo<o
zZ*~2>jJ0nyVNN^+^}O$Z#XR(o&QQ$*-CfccHNYFK^S3nJj6Y-Jj8kmGoWn4-J^ZNt
zJPn^z>laWhVfTXn#V0HN)0n&Fv(IRezM1auVh@KS0OjN3;yucm*dlWGrkrI^Vsxw_
zH=VRfZj=(>AsJymg&*GH;qG!<)3MN9r)WrxUshSGb^8{r6~O)(z;^eHvU~7zQdHJf
z>{<uU9F<;`%2#T-<aS977`kEdh9Q?UKWY)9Sx&*nh=6u3Z#VXGbWXH8L5w_qVxx+h
zBoqKykz(S3RKrBxI~<%WMHmOvB>Ob8CUIF3?n-*<p?d~EQtHWFP}$T1G8f4=LXc4w
zLj-|b0^MYpL{BKg{=z*e6Vr22twT<bJPp<<D<WpTxR40KF9<lvRk}(l1(w91Ah8Ei
z1OfG^BEeGJA82Nas+I+W3nJcIq0J{&pifFr{WotAfdXc?dXjVv7*#`n*`f?xAcm%b
zJdb%Wxh?qs4*OR4X9T6D=7-Mdo<KpGm>1T%pqqbDs2{1LR;kPAV{k~$DESR^4(ub}
z4`sUrl~k1Uar{=#z_HQaYo4t_D(k7P9hB1EcIRmfR)Bp1ke9;B>_(0c?u!Y{gp{kU
zWVpA?MxgJua)I7=&v=TaCj#a(nF$2RlLZ_pGHoh~$AL^OZ7zVJNf83h)(DgeJ+`sz
zosEeB3L_iUVgyVyiWD!(hh7la=c4<X^+PEo_hw+@LbC?*V=WP*6B*aT7J{)U0gLL1
znF{z2Qz+RL8wgzV{Z+#uNl;)GCrZ&kP)X!$W$RL^G&pdqoT9P_ql3={#E|Mt<#&Jx
zXqlgkf=7g<P#kT&Nz3vUCkRAnTp^(N#;XA(Mka<>H2_uAY5^W+ULTc(oBWZOV|4I^
zjXd7np8}>RpCK+C&B7QvOp-iI{U*zn9(R`s+sWlmkWzNwqdpTg8_uxs0tp*^f28ib
z!9`=RJY$&>JuNfCAwycBegrh{AK{|#Kw}apWoLGY6b8n?i=iqF`UT6q;Z-eL9R=oG
z@3Eq%r7*xVw3T<Sf{XNN1MS+pDGH)E;bLftGuaGHqOoa!`}HjB(bbiBn89M$CQZw_
zP7_B!Lc4%|Lyuj8;6l#QTEY7!j7*1y7188S{;*HBKW6t^Io-LN7TDZQTmCn{RhIq7
zPsp-uH+-VhKRu$<w%h&1-@n`Gee#993WqNUy?p#~hfnac0W>WG2ne)d79s9}%4f$O
zIb8t8HA%=DH5d7;Epy<dKa(z}^pGZh%5U<Q`JMh+|G)l+rs^7g;d?l|KY!d=cKhP!
z^1KkK-nHSh(UU&tFU8m5+kUriiCdvn)H4P05$J<0Z0~q!<L=B7^is1~Bo>X*RTY#u
zx&*Fy$=N;!*z}VIh+qQ==`pYxdIx}J=p5q_x0|}mr$U{0?j<wqQ8e0XX0U_~o$C={
zHebwih_HCX_nUD63S~$j63NmDQrKed9?3N-HD3&`a#Q@TC_S6h%quLQ*5#2(XG)LI
zgBqU23{vW)n~wpzuFcg!t>&(eY6{ZY6pdC(5G3J(BZK!X3;j%79HvlTe`V0&;qKu+
zBVBn>4o3rg3Us~7d#vmBiCSa!su%*cRjF2T9<I<h(HKhgp{!JGoKeaHB4F4`^J}&%
zOv@w2)J3*r!6$481uLtD1xE5TV{)G*a)&8c9;N5>G=WteOG;R7-<ygBL}zKH^*H2$
zt?mXkjZp3|TSZTCD0m-_SLI@pG|W;KhcN+)*W~%VWt13ONb3;7I;X)9fUWW7Y3(y;
zd3r=90lq(cM=OqqCH9J5H442>rXQ}ZXlzpH>W8Ema9o%qY4m%1OTVUnqW?ymDDK-L
zFDTM1k*RiOvfVEesGXhwgaaPI-CG*zmO=seh|5X#z3P4$etS1?H+Q!cKIu9~aky73
zrRqN8TH!8KoF-HJEil?7f+l{Nvz%w;5B!0DGpWZxfl+rIpqmfkrc`xn(j+>fNduH6
zDvd7ckn5pJl9MfCp$~Liu*4nS0ZC7ijtL(s_m1LMmDH^8{^P7%A^-bRnfwW>F#B<r
z6=|njBD#wWpT?qTn=i@KffRITEr9$8(pg#cQ?_Z9XxU)bIxO2XnpHIbII&#2i(P)T
zGcZe$u<+owDt$=5Nz{dsO@2_Go10CLb}UjBu^$beHj!IrzXGt$lS>56PWrrR^%tpX
z8CNdX17HWzF#}n~N-QuDVYWa_yjUT|@zNX9^^WN6>v++>0K@LuPZ3DcuI=aSN1tQ+
zX?=Ii$1H0<$jEu~1!Hc=iwrrvsFreY7|=EfR{@u0#7ufrm+3MJwZw^i_9?*7OB_4g
zbCn<DcNuejIrenFUQNRrKEv_Uzk)o?u}{+};(9d~#k?Q@+-bsfrf+!u_k2zF+%(L$
zkjLUoMi*i6Tw9iaa5;WZDee&jXf885GyUd333utOKFnu~6BTK9XXx6z7%zg5bqXW@
z^b-XzN;OR;F{aBD{Q_5a9lc&@$4W|nVS@M4AjFNM(eV;Y?^-PaQX)HjwWX_a&fLf^
z$)sfomC~-x3Ex2|v)`Fn-1sEPQ=m;0)kESvS%Rcy$>#l@M9>_3nn&bsH|X3{lXdR8
z7Tr8m;z_;IGfog%`uqj<T#_>h6L=p&*0rXn{7#8A^i}dvRTjBD9Z>sS2`nIqCQVof
zRVsZ_!38r|*=_nlqK<512p2X4Pss=%nPw~1hfDRkR8@DZ;4<Ta4P7vtV1yx14IimE
zD{Ql`Fv#Z8qYiv?1=KO2Rrn}+9x^ct!461WG+$dl%o2R|!$1W8PWXFDrUo9~y!oBe
z@w(qTqRB%)wZjVf)VY3zS34Rb^tw+9I`(?Ioqooa@`<^!Y`JvL*Z93_*#+$1#DziA
z)ct{yw~@I~N68y(Lf>C<=Zwj#iUC*zFn7y*otHOxj=tlp)7nplaNJqj;E0tSsemJ@
zU^$C02Nv2l4n2)SyOwd}sc)yIgpq|nf&D_e*7MZg*feFc>9;k3yzw|tCy$FJ-`Z|o
zZjK9^l4XZzzY9EV2#K0iu!swMy(IvL!+Vl0C%X{GiPl36Lk<#Rlee2VhKbItvKeD4
z<%t%U2OV%ZkHp7kaT~QgjhBp_q4`2=Xl&4_F;E&`VcZ4bvjx#blF7_#;hVDbN`8PR
zf`K_a9B|Xw0)J?$n_H-s>6X2D-EPgRTmNeJ$SW}Mj6sI9;Z&=}zBDv09MORUWB$Y7
zFYVWTKYf~2ptr9>xP9X<0pi--vir}}yea8-KY`L@@;ZFM>(?2YS7*xfl_~YuJh8bt
zGj4)AFaEP|jA|DBXyYCt;pPfkVOz3mruJ{Ee~)Dt9!Huy0LP*EnM*kgu;SpmYuME;
zw5HN5Dz)_fc0N2I1np{qZ=W3JlJ6fuvCWo;PP=eC4zZ@Vuqqkbs{JOLQy6qkfw<Gf
zkd_BmIttm$;@x&}bFicpeK29Ry`EYJs(?D!w!t^+KzDdFYMdXZERe>9#nDWj$U~+I
zcSla;#O3fERjq5jUP&)-0^MVH1hrT^BA`4##qgplotvTf0*==-(o8RtN4TnS;_W9{
zsqyIh%K1Oy^i}9~Nz1tm7l?HY^lB$M;9I5Y51djD>Y#8&)%*mF=j%tL0k?EEXmG-F
zd%yU<(7SKDXbYG&M@@LMk~1iid0@|5Haz>wn!e(m|C%@c-5EMx-*5Vf5?+E4cRGNn
zkqMU`F$?C{5+522g-oA-meT4jeHNpz6^hZxu-Hlwjl!(YW}gYvsctAYv7hIeE~h3R
zYFXwVn6f;nfjv?K`Soe;v=!gQ_k-Z1hvk67kSqQ|@^;1eg;_7XuM>V8@&+AgTth9K
zL0%)d#<fh-hMW>c(Ix1Ct1_`SY1NYg8^$KK(%cZyhqx4$uKIT<HqHIx)TA^e0J6fZ
zB5P##VP!v`lSCna5F}O{^rW);SPMlGvS2Q2BsjlA00qXTJWbV?`E{9<t4ah}!OP4m
zgpP*sxQG$&Iv{mf2+gK`VH&kP4t?%a(5QwFfCG4``|Qfneh8^upnIG~r=wBY$Kp}c
ztPeY}dG5!kUTcJAd@!1?af0K^g)f6c32k<ZhJ&9LbY3d!O>$#ORaX>9=<9HH6NkN;
zhPEA%$TH;R5dKgmZ*J>)^TLg3I(Hj-_o_@depjE7x5I6s@%EPH?dvltk6%2JYlu$(
z<)=qz0D~3>hgoBpO^7*-o!EHnECVG3;e})W>3Eeayb!L1OHJuJ6_Np+|Ku90Oj_;S
zCz5i&QKUg{GHRdVL}s+*<WQMd)4tD>nA+CzX|(kzY6_Xt52W-<6>Cc%x+Zm?Ji6&J
z^bT1mVs+zC@Qx-~unxb1KuVl2es5p_liVM{pexcVO!>@8H2%ySPC?@ok_Dwv$xfS`
zh`APCGx$hSj};a7_hcu>F~bn&fz3;?=oV*W*J;q<5uHu}8YuO;YZ3__#HayCd`MFr
zn?>>R(41E8>{r#>x6~q`ZzF#eZ{iJ9y-MmIe{H~Ksn6>wv=bTfl*iQ9<!U|*ACY)N
znwS<|d4BX9vuO8Y*e+>gg#Hg9fePwpxLon~Qe~~`EN8lJq>AeL0X&f^%j+K%+^<xh
zs(x|5xmAsC{z87v!~#4b{La<ie~%q+W}HVblf+9+fp$Bte5foN$r=>M=n$GBbCA6@
z7geTOoP8F6%U$<T-C;T=qp6@NYNA#Hd{*Wcj*N$7g+v(0f<Cub6p|@ZSH<r~!k<Gm
z(Lca7$De?sx#WG!(3LPahkaCkU!>WCI0&?*f_Z$HvEFVGWd)IArD2kvC(#NQ`huJW
z=UbO%a~6XJmLNg;{r>Gt>i!|XrTgK*;tWjLXKD#-l^0ji&(<$uk50pCPVr>H*x=Jj
zLAPG#)Z&q@=B7jmx}|Uy!+^7c!|{g-W4*_Sp5HkKYnc*u#!6#QS^gjE`f(`L>oxvJ
z2@a|CO*UOpRL=wZ)51kyd<qOy=ftsSs>8&J#a_fy5KbeLxC>Y*2Ma7%l3x=%nJ1d3
zDP3kf)8r^5F8SRHky*8yVobb%xvi<(AXqoh0?OcsYL&##URH?+6amOvkyf1<Flj}V
znAUnQ!eBVL`z{W$S5U`2U9AK?T`JK|czcs=+~zIOfzvM02;b!Ux6Juh{qs)d+~s1W
zVqX7Y5OEEaUtgW!A6y$^UOUF`dd5rk`G||bo6I~zv*7QX1c`(t;|fdUHLWUiIlp&U
z`cUSk<MUF(J9<q+Fp6L|tx1y1Q0&IX9lkIx<K7tImO3ankVem_f9P%3wCz<uyceq7
zukiLJTua+1$z$}z(h9QTLSjKhd@5SN7W>xNWx?4=;zK*L%L_J6)A-1(u7Gxw5?zq?
zs?EZv@wxt<(*jdxfUR?e($VJ>7sVP*wuhc$`%zpl%D&-e7*%rin?A|bp6;(L%yYw7
zzGASye5Ao$;w$W<RNvp3%cW-uVjI5W+l?dZb#f-x!#dHpUdyH#pJ=p9ucS|tFCq**
zH!(r-9*!lHCDQe3%JUUh(bT?v!h`0D#A+>lYDXZF$;W7=A42k|6l_}8ZSC|$^h5|K
zY(66hWr3-!=5UG^O7V?0){J0d*kX6X=Di~46@a#Nq?`3PO*yPN`zR-S+sUor#=>4#
zvr6f|k+zbW#>M4l18D;vdCJoswig#yS8K-y0H51_%?~e@H#g-4Z9{0!giv0rw2&oV
zl^sg;N~ve*c-b>aRu|IcI%*b!^e(S@^+YQUSN99bWrj7gv;)tD#R%txj~r_}Rz_Sb
z!-(iv?T%?Zz{O!aol+F$)HOJbRO^thLQms@W*ZJQrymC?b%9Dj6CFDlMSMaio>-t9
zSp+!O_@qc>Vsy4pwh}Zd6{zS8zh#|sa3;~S_hZ{nw6Sg5wv&x*dt+x~V`DzCxf|QI
zZ992$>-XNex9a{kHFeIMu0B&eQ~mAJpPx*+R`diz028Igz`!%DA>B5U#U$HIjNP6C
z49~%bD4XL4M~O4(L|;s4lv8PlxV-nt@kUVO<dt1rgB-7lhnPwfi>b_*%huHgrgMjB
zz{`5cP;KpR{Ht+z=62FNTWR&IuzyZ2ZJAETyi(Z3zl#<w(2MPpw8Q<v6koI1^tXnb
zOkxz;;>7&=$D$FJaCxdz(MA{6sekh_<GF11@*~oHS1U!!B3_eZ+tv27Lx)+?PkA%a
za{0`bv|G&Kj9L(DnRV3}wh%E_k%}7C`U0J@Pm_tC&{I^4MB{v`pXL|9MWof6T1aBU
zV2!s_31?>xSL}CJp?30fAKeW~kF0G74<OD}4=r|9f?;T;eq&XDa!r5aaRk%M0;u2^
zB#e|S1XF)AXjFtE*Mc9f=0a#X)mVF#bXPCStBX%7M_F>Vtt>3wJeS#6Cv$SWfCX*K
z;-=yA&%lqN2`?lNIyFLBR2vtn!d*8mX7oLBOVugQ>=VhQ%ZYP%4xlGMu7s1=(2rv4
zINiL$!fD}$u7c_A4CBxF$zOx1m03Hc8*`FHyBSZyNq58kOI9h$q=5KAm;!7e!1wL1
zmHA-{2lUE%Ie-kq>C-hHUpfnQud&+nB6bc>yKK@dVb(zxW5Ovh=7)^hh;k+;${UE(
zaEB}Y%SeMd1^SbgvXt2wg$>X_r0cH#22mD#d`wpt7`MPY!9)9FFWVeNNFAnl5*S(B
zM5ji@Ou<yn`dA*5_?^Eq)Q18%)v^`|;Yx;~M3^&8NiD0vmKpGei4qacs|?YBItmeE
z(7{BzS-SOCMe}S5QRkoLo0>R;QtFc@+=q%Z`;t}@rGm0)sJbG!-)eY<7(Q%rsf^o&
z^yV2}+CXNaEzvJ?oCQ0u9mMWfTQS?U<*b2Y*{}fJ>?BGwf}AOSyX6>B(Oz_H5B%vc
z1Z$6)acypi*NI%i(i?GsfjUIRSj51UwMwu(&c|UNsA6(9qx2$lJ%}bjlZ)YUMDxN%
z!SbxEZs?5#)}J*(px~yvHES_|5(&<j>w6X}D1Opfv~t9?v0W>R4L-TWF$f*RO&)BM
z@+(AM`1nXXihc)`b+3d=ERXzMAQs<~3?+;r+Ak77u%-A?Zxl>fd=aqihyhYMWk5~@
z)@Sk|L(d9aL$Finn3MmE8vc}e5Xx%Sj6BnNNES(igRx3|usTX<i8qRI(A$GjD_38`
zeW{u<M+egYAetM^yp;c^7v&gJjkO2kmbSYx$P%x~3KRqO2}_w>K|Tk}C~DG2e0GF<
zhW;lOOspGuStuKBm}jVFAYgiE1SYpA*->|qZct2J4?%t&FrBB6!o!EqF+UF~+}o80
zw_2PWvlA6B1>22{I{j{KN+#AR2|rmw-6fOabitZHQkVqpDc}04NE`oAm1eE4H0lgO
zD-@HPN<Qoa!@`$u`qT6Bk5IL{@<p@*)e=PdutAk>#SCk^Lhe++(TpQYfjj<O8IAV>
z<ajG=N=+6C;-$Tr1ohRCj^X|vq2y+JIk?(+*%glc0b;BEEZxgaQ!b!ks^wjOHgUhR
zf~Lv}7is6{G}j}$WzGVC4D<nx$X29EU~aLKMKQ!jk8&JUN40oB_`$6vtfUI2y!Y_Z
zFsrnkTpPL3M*LAGDoKh5E_fwHF&ipuF0_3?0V?jHr2SQa<%BBgVM60Rg3X(bL@D>Y
znuc0Zp%jithORSCnmff}P)ML!+b<Ul^HBG4_nvnn#655Us3XXfiMXcEFu#s#(@mts
zyX5jIHL<^>=%T1QpzkCIpL^e#tvo#kv{tH&20;B#mXe#T$1y^i)fglSb1#t898}7o
zNva5Xg1w=x=nLNF<zj0xpd%_rITg`tXfq3`;PEKl-lT($JHND?o=oDY$hTriQ8|o1
zVLRJxlW1y{LCBU#SpovQ=+^{XgJMOhZne_>aM5bP3aMfT(F=eZm|d%h@7~3OkM>^l
z=2J-+AF*LsR($4~@JWe3XJ!#pgWgvtFG2_XG<BT8_9rnH1m3az3V%v|@6r^n%~bw0
z0W)XD*jeu7^!C;%GTnrH0>FOWESbygpBZj0m!l#cQ97>t_?y<i0%6EoDxo$2=IBdP
z@_a%0lp9=+-AxHw$XGPZ`L8DsQYDv{b`~v!4D&Kd6FVs_l!|A;d4SoaGNE4X)eqJF
znaPvx2nf4iIMcD9M-mGg-{r}eV60mT0?~)Mhd`(Lc_@_2Ub5O=-W8*|vUN9ZynT!^
z4!z)5r~*`@JUb0KQn{VbB%dh|#~rSPNwOE)Zh<j~Jz^ex8XO!|8unSY_YPH#H*0Vx
zll%kdf<AlW=r?b>c>MEzeDITx+K@)hvia@D$3R2r*J;C){nyQ}lbUY&&v%(mJ?W}9
zEW9l4b}m8>!9#+%BGD}A{6LM4r5WBw3^f#n^1<s*2#}$v=pZZ`cphvM6H<f&Ufw^t
z=1f#KC{0OlbZDFui*X?B&?z!DL1nHCWFIp*P#@%w=EBxFn-h2TD@O-?joFM=QJ(^C
ze6HPiHTBs)G6fi~I*PLWmhL9nwPK=chUdL-k@p01Mj&%^SDH37%bKfZ1~;2Hn(~i%
z2GW})At0MUsgG-01xyVvtOz*t-^$Ot<*MFte_pVtX4Ftsc;lBm63nsPPdL8(4rF}>
z$fm{KZ!b3_FK9**+oC_x{mJyNllDmS<%B(yoav`PjO0}@iLq}A^3W)+oafW$J)`;(
zvu4C;0|#plJ$*M02-&mhR`|JonMZCHoli%QfR_bphwBz+vx6<i&-Z|mAaK@9Z%M=J
zT_>(Ln?hLGTqdJU#2@1}inOF9o#r1Wkhh^Od1izJ5D~V9WHo5UZVa!q@%ITHNLy*n
zL0L05=&v3<uH5)tw5RcpUE+cUgpQ8r3qPaXUA`n`95Q}7?b36pL@JtrRj7YLE$FI0
zdZ!QA+Jdp5DT=2pAeVfoF0bH}PFP}EQ9AxFzMQH40qLdo^zfIVs|P(_XP~i~;TxWR
z%dx|oe+3Egi)kBvt3jZSpU<EVd5j>Mm5&m9u?U;{qOyoD890$*mA5bn6RL~!bQzXE
zk5OJgvX+-LEHd*TPsoWJ3%O`=aJkBvNB|~B6O>^iXzRK?oR|TFAKfI<;Xj}qm_atF
zVhJ&t%QeonGmh{!VVJ=lZS5Vc);>|)#p3&;#KZ5I+v;j&zjK~DrBCOtYD3T)%QvOX
zAanvp;YDK!b`$hid>o;3_>9bQrEeW8Ej$`B^Ri->8HX9c?QUQ}XQ4Nx+xp<wx5#`W
zS2@t=spXsV&SDhZj{vlt>3S3`3QLz2UkMlHmjv^daWg1M*Wc!#oULIGjI1wuG>DuZ
z8>f4hh>U)&@20k<L<P;gHAUt_yRm90JUX*V&b|-zrtXFY%i09z)KVFW3|IWsig?9+
z!^U9Aq7VVMCWjA7zS@t{IV)1Y7QVy0vaF-C1OCikS#LF)vEPi~g~-#sT@X42aos(q
zrIQSkxTpCx?pXdeeg;|V4k0Ol8HUpc5;#?o^dSw=Q^e<FsMtU**IA6ap0I0@lIym5
zV^wD+JD{o;I<#6ij6`hL<_2Rjvh#NCbM7y?zSc&SE%T#o1B0}zIuQ>b!1h@=y-{24
zXCm4!3Kel`64W;ub2=w$o~p@KxwR|aHEbLzF@Wsp)vALlF$XWF&&=!GfE^93t2Wzm
zI0I&bb9h&%f;=x{wWk_JmRig$vMDf3J~+on(z^s@WF#TpwPO8BP8Gi}1*d+dp2z}D
z<fmS+&ktihw%|S#8Fun4>^m_&FvrOpd-u_i{7gRxhxz-F^ybbb;u=xb!?Vzr8A-UC
zth*IAXRZ6!a{+-AK1kJx#!R66?71OKDEG5UGD2OoRrtV!U5U=)E7xEDyA?kP0Bi3-
zKo$n}SKnLTXV){4?UF^GIW}9p5mV|rfCt-&uGzJKw1+MB-25-znKiq{f>$W)zXOyj
zWC9iUd0ythOo3d3tr$%c=aw5Ue<}2fEdICsiHV2L*Kucufv&~_^xFP{rlJnMRz_If
z^5yXmwOO(}60#(in7Zys+gN5xXeR5;ACrPcu1&Ibdh?lF^-pO7&8~Z`*K{ONapmi!
zn!IWBSn<Uv7N0b#Qv|MxmWqJSV8g|-zX&wtaKYd<_OuGjtCR=%H-Cw5OP_xyZUrm#
zefW|__8ef(A>Xx4{_8D*bR=d3UK#5g{}huqdkS7JLTa(q1MPO7*l}`()Ob@8r4H)#
zq4SmftaPcpM~Y2w+mW5NzW_7N?9FOotUD?-7|ekq_=CI|a?>u%GRl7$y_#NdRmQJ>
z_y<J=8LN_>EPRMyN8*ZkfFUc(#a7qYniXq>TUS9j8)-asK(Wk5YMTt6F1&byE!H0!
zv+n@f%yy3xBJDm-i{N-=Q!l%}YxBy3@y;#pg(F$Ieb&v#?LbGXdCX!qb<?0V+Ct`N
z-G4Og=WQfnXJr0q0J7#j(##MKr|+@&+;TSCin`@s$L<Drqf?D3Dp~~zX>p;;VlyC^
z0ZK?N+Oj`t$W&GY*O)}C($IxmXWM`6#-Bh~gB+j@*EYjo&ek9KsIR?kK6V!h!Q3Vd
zgiJZNB^xK+vjbkW9m<dhI<Cz(l{!BsRGDAmJ|S?#A|GFXOhHxLCOLv(zAu2ZA;$|i
zIL8P|i+5j0a4_Q0JdbX@Wd4*ryI~04?3y?3ep?QhHx3sOy>6RBQ`O2=fRss9OikPe
zN<=nVjVrzhJbnc02`-7*H1GElAI$bL!A^ZHFrp*iYml$X^|b5=rxecN74mbXHidFn
zi8LHo#WE+9%+%&Pz)@QYpVxa^U5AxalP6B%h@|Yr#D-IUmEy}-u*9|f{mZJ%pA<Yu
zPiX2yGgbkFD&n!;S}$2KmvuMaPg=!EyOwfOk5!cv`5n&m^(&2*T`v4d>)ItkwOg(U
z&IvTH?qb>ck=|j81#3M#2P&&HPW$m#x8RgRI0W=ySDmcyHSktt+UKe-U0!YhJs_mL
z&P$uK@g*o!>0KyEY}{Y9*8Dv1E}T`bNxUTR7O6sRvy#vyg3(XVw!&`b3{%e|Cs5H1
z@O&^(Fb3EvYeMlN0Qo43YEkL-qevlx&69Q8Z)Z=(u7f?mbsP#y!%rniQLQPi@I*XC
z)n^Y_^taJba|V#sZxbzbwN9|hB((p-!dX)PCpKSbz6=`tuYAUQ@ci!f87{pVZ==yn
zDQ7+L-!~Efrn{v5gb<9#riOtEuOG^?q^2)XS|&7@(XPm0Btv2=6;vouk2k!6`+iMu
z@-q`WAcR`K0Q+C>{!b#IGM{gBO=cBB@hN#1IAj3k1t31>zSpK%h`*}3W;F^POe&Lg
z{fqo13s`6iACA%;4FN~7o_Ht>+K5kWmB^_h%652sJ1^-%Au+x;3u9JfYadX{pv+Z4
z`NIm^`A|A6&_d!W?`c~|2LBi*T?;k<c#KRuTa_&l&FpU)5`QtNEl^W~b6S!$_h?>c
znd-7e7Li;2;X7imj>PG|QYI(%qoK`v49d7jjU%A9+&+2Zq5i6mYrrs1ZQ5?NKFiPJ
zVkqxciAyuBqL6kmy@Y+YRXDAgm+rd|6=h70a*C<hYJJz8)z77l)?<oGUxn8QZ^ANd
z&&Fy+yT4T=jf0o&$4a&3FaAgQRX+8qO8Tw@$wu0R{lE;t>4(1Kumm}m6IziMg}Q=h
zN4D7F(EMG$0g<A@#OL=rTI&<_e<?lRnUYYuhAuPN5#gFe(wkIz`UY#EjqgGnYaC-M
zj8GdAbmuyhj_0zg)`Rii1yCFBBvDY&2|*r3`b(Ev=)q4dVMeeM(P7DY;!NT&@q4l>
zRLng7OXbg+$?F+brXPwGD_a+84cu>0*E!a_{@G0muLc-qF;SO5Y_5@@$jU--qos4C
zOWCKagk*KkSB+p7afQTfrGZl5>ba$Z1JRI&u7aBIn>iyD+;JlVxl`uW30wY@xXFgg
zXCZq*(#JMtV%2j0^q%o3M%XIBH1oNQi-6jlQD1YuSwM{CJy-HO<B$CFFd4F%gd|x&
z&R+c4cDH)~y5{U0i;e<JTAXt9`rvhgwmE?7t|$o~gJH<T_VEWXb^}bed-c0UcaoTZ
zB-dx+=r9DkHZmpc1lCuZAKgV5R=G*k9k%k9+?Q94us7tv+~36sLY}o%C!5aci*>Q5
z+K2f++pq%#a+lMKIeFR!?jsO3N9QL~&lEx`T4_J4X@8mik;%b4{-zLg*Y_o$Zt|vX
zn;cwTZi6q}jZJxYzM)W9R@uOSH{QCitxC4hxtbO&6J%}wsRLdkX#>KP62CnA)bquS
zukj~F2tQ)FIA^5=N3Fj8RO#>3SM+%g$<ox8VI$qj1*hZxV#0EJ?xx}(ML%THe1D%K
zC2Jr!dRw=bFqBt;eKvef)O=XjX0v!DvS8_P=Xt0or_C)yC4v7eoo&xwRt<tq_|Z<@
zu_~_9gKaGh!Jm674(D3yjL2fTR?HD6^zij<Mf90(lO&w{Aft;B^?DpLRceDf98>WM
z#{J<r#)L^e7;2;2<^3|v-ko}D+kDF-T*p^wFAdH@ZaOFcnRb|L|Fo}SA?vFln=+;_
z`mnt05J@Wzd<E%vn`}quO+pqiM$yl@#~&0DW>Tq413*F8U70K7FlqUN`VF7j)c-MX
zt{61u2$qZ9RnL=No8*t3OYkDe?G|k`ad^FOWH1Gi>k3Da@i|wUf7e3u<JdxG2Oyf%
zxn^}kuEu@r0d7dE6cSM}Kcr-cWsvgB&{Pw1mNcutHahtqB@HBmYen0Fj9+CWiwxGk
zfRw%6ia8ReQ_Z?n=#l;ceR8kyc9~n|CQZ~if2E)Z@U`CzrC^RF>gnHv<(4=%`#dZQ
z=->#ZGcEm$CU%6D5z7-}m;qAnrrTA1F&lU?{!6;7gpyg{K&Bjps1cdz4Oz66Ct>h3
zQX2@HS<#MNn}(Ofgu7r~VP14DiM&9CAwX$yz)G}jaYTN}E8W(nH;f*|TwUG(2<NZ<
z%=>d90ChZpTnBpWWtVJ8SUcJje94h-EFgtd;dcP8)Hn3XSWYUtl~y?iK3-Sng{F_T
zKnPV7a{axkS8lxrv}}i!ZDw_*-V7j}X`uqZht$C&njIw)35i;3uf$_ih!U$JLW!Mq
z9?&;KWHJ+EF$45%lc7l&R)?PZ%Ro$=CWbUdTKke(tun7rW%Wfn-Ad5ttGM}SmkhfR
z@^oaT*_9(GHdxz3>YKI;#}oIg2-|lNQgmIOp!Y3n6083@H&d|fKfxsy9(MxM;hsV`
zKqR8dx66p;R24>LGTJx=ERkdkiv3G+^lRJg&E?gBR#p)MfeKOjmfq|>Rfdo)R;P35
z{AHekiq&pXDCEg1=*ybg&1si^O7by!C=;P#kua2o98$HjkFrCP5WsHq#zBw4oDNE3
zVW^IxVdf*4C<d{nVBNxn*#2ET4=>y!XpBzK4F6U($oLA;<o4ISMju#Treoc4b2DBG
z=^|j{4P;wgIK-qRi|(A2l1*`NvHkY`SYoi#$Q8yVPw)6V>DWJATX)pP|27{Jc)Nc%
z9Y8xsTeuw1H7xar%wzOO5!82E2)FoytMsfK)<n0atEKnsq{4j`wI8bA<IO|?tTCux
z8p_%&kjtGtA>j{(_p9p^ipA!co1n(HeehFW+#LWY`+GLV&9`S0Qj0zjEYIacz(5+!
z43p2vuClva81>FrXGsj_1ZhTB6HkfhT`0I&2deyqy*H)CSNdv7F)h}%OlfQ*h0(Gn
zR{aUDC0$VBs87DBl4LYXBASOy&#Dg6C&3|vPt$rtQ~_Co%fv^LJY0zEWImvKGiF;u
z15-I+XU*hT9TU$xL#SmPg&PpZshM-1u@xhlQ4g|y-AO^~@7xYP<d1H_4{d#zoTWR4
z=?DbR)vHZR1k(l)FO+NV9ivz*WC6(?h*l9WlLnQ?6pd6(urI5(P+1J}ue@Vu<7PA#
z$Y@R;#xhnnUNKsGp1mEl4cKiFZ$^uQ4W2!eo#Y)U8TYG#${OahB^lxf8ep}lbXC1=
zL(@#LC{rr-RMobL@`X<zmG8ns+voqP`0D;5{-kj(Y>i&@if2dD9e&>nD`4A&Co82e
z2;S9Ak?w7@MDp-G$W9qx;Gljg?5VcHO)I-sB4foWCXbTcj*PBJG+or25Yj=7z<?Pt
zW|}~fXmjl2q4c$@Ff~_3d0{oot{aC)w6G+CW4!IK9?d>T7om1lPwl~l;LE#xdh^$F
zbJ^m}hi`P1WNfbJmpM2oYV*&1v#_@(>@C{}blz_EM2j8}F5UK5=#)943ob^sY71dl
zpO_~DTs&}?;*i^<hp*VSA?|uP6>@mdtTyI#WOrw8_d1A{F?kXFMLK_#G1H>%<mU%A
zUvTg>Y$%u;WTh02b2n8WP;`KE%4@XIT6(`bfo6GM_(duQnC5rLrtq7>=3{HNRrBvm
zzXpWnYIws^yD^Ytacdm2-Tr|7<m<7vGbFwBi7l7+Myca;H7H@}qg1J<+hBbl!nt9$
z;|`<)gKf+{B$iqBF*#4P#D6V$UG28AbsT;5$qY}ZDLE&jI9C$FCNj%smh-g8sc5pH
z^Y(`QAb_#QF(~nuCZM)3xo#EFRK1#|RLCEqh7BIEp*GT}5M8Z{toA<4euQeG$K1Rm
z&M%o;hpDrqhEF?4!D#m^aI>OS*Vv{_iWuSPNK7zMTWD6ZkjvMu7@LK=n@Fulp=N``
zlhYW?JJ4n&z-3sRjWR_%h0%vCP}*rXQfQ4bCg0<z9C7oa-bcN|+wu7(X8(IkFGa0I
zQ0RZtqS<PaM&XJ|e#L#RJz&jp9GLXl<|w`l`w%lFJ}n9?*?-!E-fo{6P?F7yl_1ZR
zr;=kg8@vV!ndlh6f-4f=eC7tK<lg2rMbOkq3@Hq}^B=6pO5ruRi6v`6<_GJp7UcQ;
zuG^bFn#kaL0(pRAtC_m~XL=#1<P0c!bRdc&JkP&6_~>~28LU8W6#cKx6F5q2(Q5zn
z7|a)4=!^N?JYr3B+x#%Bcnbi5>W|KI)-e;_P?C41tC{kWP!EmDDIE)~_iBH<%E|VV
zIEnc(|JW}O{)TGs$auWN@-OljKy4P^bhD**DJHJCig9z!KjVI1bq8~Sioy>R0>}^q
zZP3#*?vKb{NUL(J(-;mu_NMTre>X=2f3siF%U{-OM`AT~U_0guc84Gjn#naP&#3%}
z7NnGqU{+%8XgV&Dqnwr4R7vE)puE}9q%cW`zW<HqH9C;W_H$C=IXt<e`APJMzXc>U
z)vsaoe?mB71RO%A=a%<`a^j2?X;Wh=|46?#QmzUef1vGe-?@m@a=Z$(xc=GtuAYOQ
zI=dMvmwq6y3T&p!eiLx+$o8P8mbA3!{%gR{GMd!CLn(dRq*C(NQ+x|)$~Gx%AcvKo
z^~X2B_&&9~uW|KugS>c$jkYR<WVahXEPf1HAE9C|@G3??1fT@f(#XO1Y#zJF{f2ck
zYF209?w~!(vYyPb1mh^T^4vVgl5FsnFeQumZO4-3U8{`1eA7d3lYf$1N+j$#!mfSE
znR@EQ(TV`8iIdU_<mjp;$*~u3w^Tb+K&Tn-nC+5cjOmzi6mFK647{DxXf3bGFSk{s
zcw#I{Uw4TwC!M{w6s#EOg3<U;CY8W!#cLNo39<!6yDbZ>Xq~;k67=YlfP=<6hkrIO
z#GJs1IuGmo_j(p5(&rKnje(U6_wlJ5o|>YR>)hUHrnp!(3#{}kf{tYpO{;h2ArOv7
zI;d!eFID((bzcgN0=IMVpM0mD6XXChA@xXEwV|#E&%+q|);CRk@v^GGuCRQX!F#Lh
zH(la6v~C=G71MXs%!{{Kl9$5dVOxZgCy6zEfqo#SC33Wa{<&T86_!u?6YviC@a4$w
z*YlTnk^C6E-)gKM17qjW%HP-e*H7){nS)O{)ho_E94?kyKF9s|8iVJ~nz%0sYte9f
z|B;gViJZyoNj~dRANi`++u5U!xtkvf4({R6_6={B=D!xTk8ZQZrka?u>&Ug^R?SA!
zA3SIiS?uK8Q0*apmF4T{(8UrpMmI-<eI8L3DdCU&l4!2<R<Qe2Km282_CpJkilUVj
ziL%Sr&+nIZ1;q_?@E)IJ=Rn8w%hX>EF7}TVkkmgy=AOMHKi-2Sf7S1;yd1G@H?Rde
zeSCC7yn-LUh1w-h6eH_*4GOk=Qb`ArEwvND9*F+jzn^0Nydbc73eK&!2=~rRE9E~C
z_G|EO(|Q}*eE-e*gnt#se*%{4vw#k+w6tgCcDU{|!))P~JKiF*!|#QNLZzmY{rM6^
zHt8T4bRjq$V@-@&%K{p5FI0ee^{V=H8`WP+cP<4(lUdSYXi>?5b&sd_wJ&dTkJz8a
zsUl3Nxpa1ti~}bXVr9(3#eW`rhFWJ_Iq}(7%NyyNoCfv<j!w1oYWg;n9kSKvt8P+7
zega0YVdgB^%o)dz7646hbLFYU)Z%<1NQ4O`h~<yJvD=gI%R}QaVZiut*q{TKHXbCL
z9B1OsBv@ttNP6A$uo76-6Fn+Ua>Z-zpCRxkMI!R33mJYg$?SsnqYj-1xyG~^2@mdy
zvi<rBbp6wo6f3e+EHWFboaGqI<xqIO9J!3Q$t4o)Rw?F(pCBF5nJP2{DD(wv>fYqN
zaAPS18_Y5H$^4$Ecr0&rg_cz{XX*)+k^4qC?%t@cV^m2X8w&k5`^Q8?Hf9$?r_INj
zs&PVApU;@q8=F(3%sEm-hVuJ91Gp5WNpdQIIzc(Hrk4tn{m0+G)GyVFZjY~y*6?A=
zLMqpqPf1YKl*Ql*1poYWhRcr2o^gq7C>yq{Z@2F)&(t#S6F9(zTxy45YnKGsPE1cB
z-|`=rL*RC5idf|MQ>=>vDIgl<G7c)ekj^jgBMjx6VmBR5`Wue03^}y~(P9^mwge2Z
z0XmxaW?xEd%l1Bqyu&Dg?^oDPzXLW%qi49NJDzKGWLY2|K}Rioo1NYo#P}g0-Q%f2
z>S>!v#tC%#M)OQ`A-Y5KgAu#MD4Knf1Omc)WY<WpIe})dHqr6q<=M{|6LK#l=y`~E
zpx4Bn1f7<(fL#z4jku#b=a5p}$b`;!R?|f#;8`68(jzn$61~I|jvv@z@D$)=;Ja18
zzqd7#2(o@-sz5<Q$t{#1F3}<o5Z*<Us{9A|c>>VKHmZ-`J#*WvKJ3+XxDS^dzD@f8
z4BQ8S*UB<q(+?7SaFX35bOGr!#=6rTu}gX64?nL0EvUiVGxk&qfJTutb2!*>CR3vF
znTU`-ds{|#RoE+Cm%kuCaOv8h`TP_OBE^$^+B=GgD`IZnRK;1YQmGZR8^g9B5+rt1
zX4^Q3FgW|!ET8dLf5#$>bmX`fdtc6?0QHJ7u^gU$V=X<~QNP!SL@|3<g}k?ZBP1;c
zPzZP~3%?8}urY6>W&JHkc*USsNz;iKuHCm*qZ7=MZBt@p1v<>?epdmCNDWd%kb+3K
z46_{u<4S5f-LnCnA$y}T2ZLrul~vV~%;mpmkpwXQU9M~khByIbiOayM+`x!ZC;kS&
z#w1YPlFRxN8dDcT`=N)~GFl&Wk%x_Suti_k-TA95;dK5Dqyip=`>R>867PzM()D=8
z=U}>_ULdkU$PVm8GzQqIWZV^#v|36M1>2G>{`>9;qda|}c-V_4K3agL_Iyo5J~to#
z4l1<m%XtTU?@9j3{#t-zacWOM%EeH44@(Wc(8#@+{zUlt)UNJjN^(*H8#H@vd=iAX
zYU$MqjWuIMrsx-zTIxmXsQ~D=kT$jC<iWJ3dBE?(L3xJAJKtVWd_3l^!-XW_yZ9rj
z8p4*;p)vN(i^B!sxZBO6>Pciq1Ff}Um%DC`zLFDobPYGl)fEfe91WoD$e)P0@6N^a
zwyRqD5(16A!ch)=1(TP`6TwXW#6vxUyQ@>YYQ2AP&bZa)F(gbJf%q;8p0EEFe!j%K
zRSzjw=M+ALxqyrjRu$dgHg~vUi!|EL6Y2x^m5>jO(IdKXMf7^4!vskUT>VMzZnFM#
zF%&<5lS(aVlH+zKZ5ldEhPJ^VILF9bdb$%DH$|D@S34vaeM~c=NVQ4Hv$Y=rC;Jy>
z2<An1Mq{Q5+#foUIWm#2zHn$?j(hVpg^C01CYb4yMMc-NOr5)$gxW-p1NTF}Q!1s*
zMYg_{CjXvmvB5baTj?IZ^MJE2J)X9WMG@Z>;-EARrqgzo%`R*SZkO<;kjDoYbaN!f
zeT#%D&WrXC?<8e=KaleXLh3J*2}Bu>hbwks#K7c;TVweLN-I5f59;}^`Xysy0A!ec
z7-^V0;_*83gv~OPFR(Mqb;2KisLBV?0?kTdV0&?6w?&}T`yt$>oS-PBr~QXHjxkR9
z_t|tvnkJhco|{fJD7Q+9CcL!WbGFy&09}a%9$yKdhmYpYy-x|YH={y1)%|K`&TF^%
zuom#@ci1K+9rWdIPjh7O^<-VJPh{+6cF~6P)q&sIzQ5EiCHHaSi?f{3$2rxzM#a>|
zYx+yCaSlg}t{q%)re&d?l^_!7?!|jZ&t8VkA_BKT&*xEo4tey1Ly!hXbq2@<GLk@o
z^#=r}lkl9l7^i_lj3b6a^zFa_G~gb^D*_{(G~pZeNKJm@BJmcXpjkw6PDS=H{N4do
z+|I77O@e5J#~{-g4(_4>Yqz9T&U@CQ5(UxAbK^N062)!e5>pZnlXhqU9~S;qENKP*
z&&e-aNsaIMNAXVS1vK(lP^qJT3QAOsph^OmT@*r*vQgjj&mTXrbVuUBbAF;wdGLay
zCL0|^VZ9{8B|F!cP6J!-dJ}XNymO1TmYjajiqeawRZ+yp2xZKKB^KXTln1Es8z0Dk
z#DXj%UP6ckkzo!se3`T0vRTgp#Va}BD8{t{YK{ATgHtlBdtUGMDFzS`_liZJktzg{
zQO}x=Bs?vCh3AQ7z^Pl$TTK^<XCdi(-v<JiOd-JFppZaEaH3#U&8NqW40p6@O$Ra&
zb=}Xo9ryb);5EB+iljLUd)p8oofpn#bxb3o@t2~~{J$lNjHdf{7tyDdtg8vXv&s+q
zOYvvKxF%@qkd2ER(5bUsN}o4_v>)|;oqiu5V7TDH!6G7keIz7Xk^^ExgG2Ic<P>D&
zKmG7e67!kl#@t`?2092GluuaI?(wqHGc$CxbhOu&-QklB<NDAe$XG&U3ZEJ+QH+_4
zu<(Sr^$7oJ8Z(O|Xpy9hFvF!tSTNz)!emeE+&+WlORYOBPiZUBB!R=x+TiK(`anxk
zTA&1>s;yusvX`9XbS$sFoH+FwvSs*$VNBEt-3}x$RNG$?<{E4Ybo(b3OQlfghskNz
z9}K5Z3VQ3758HkG0jW@{RIXI$g7RShkH;@~Tu&=BS_r#d@9~%{hig#_2T@|P9H)w?
z=gh}5S>q^Cq)p*cpk@GaSXq4sH<14^6;np5c+t|$J9x&lS<B8neD2^eon9krW5*Sg
z2!fRA(N@^9-AJc-@8<P=){ag0LZM~p2ZCf+Yz$?@ApKShZUf18vX=jH>&Se9UXJl&
z`)tC!CGF^PM{9Gle70PoNpUr~Y%X6Z!}+OG>@qySno#@WZs|(!*Vl)pnmp&Xm-VKQ
zd#My=>7WO!yH+kA!}m@QP$?RL){Bk$Qv*y2cO;BUYachhU4q|dA!Mv|yd}&v+!gE%
z{DqB_ousX_y~Gbfu*tQR**BQz*PQqTVG6mV8#<{f+pRkMaZ3L)vy(`szQ9`Qf3L<U
zqqiWx_Rz;QG1h)D<h3!?30(8f#twi%A9ckhNd%T<+NY;pwC3g~)J2wOw1pO@G{sis
z@FOV_B@ScI#3BWt1j9Bg!;JoCd+8EJ_i?^o2i9~tj_|QP_z;phvH!c-<tiq)RSI$F
zP=zD5#QJ(0>->Dd<Lx81Ub~%szI}``sU+%|t^gLZmm3RoqM-z`qbUn5N`?nQ-BwJM
z*I#R5Vzv4bkm?iFAVzbq)Tl>XY}1dMc^^Csk2NTKs7&QcmZsc@0=Q*+*}0+ubaVYp
z?_|MQ3hbnc(VG!jcF*kMaE)V8EC4oZFthXNL(^I^9lZlOJ$lJAO5=PrN|Oa{fGt+^
z86n<5N4dk4So5{kLjS&dhC18h8m3K<tc`L5rT6;KngUu3*P~{1S=w=5lh@)h`;*wO
z*GUHEz|7n$u)VB^4j54m+`nX<AvQ+e92cm-c-GkNrpl%sT|`=Xal+Y9tOId=@rMKU
zzt5u8R^v6Su*M<fG^?)C-XlfDFVwxZPX4(F8T{B&Y5OMds`OKgfg}8By0=6kZ9#-g
z3Te2*V=Z9mTp%l}SpoTJ!)Sp7Gf6%@y9)(prpxhI8>H)**}vqTFD5^iMTKEbcl&5*
zW^QC_D<z_41mI5&Q6^0MUCHzVkQqkqGhl?Hxvy!_jUKLI!NrEc!P1kvgMD6GE*zW)
zV|yqi$kZor;o(d$6zw>;06l5fzsu|eN0BcF>w|9d<WNF610YMO1z&(4Yn!2%6U~y=
z5yUl;U$FeG)!eU+G!=S~DxoS>0O=b_CFVJ+E}_9y>Lu<@sRBZRB_KQXt_6*y+3*^M
zE`8Gx-~2b)<#e>sMPht9<LMi=Kq(}mW)@+!1t{R=hm#qD?CX!j(pR~XEK%00z$49H
z<MpN?pG@m^Jl3S6i_ZUN&js7NDLXT>=<AX6B#F_Do7gXilsayXf{~BrjZ`F8QQ$+2
z@@OPbg2@VkKnV-LrUi{imY@{UETAe*W*NjWiD7n+3KfBIk{6Z&V5?wm(1I4l)WoaE
z*i<zwzN)h5_L9}W1SC5VFTnN0p7N&&p4zF$_HeG~Wd*iXj!AsBcmBLM8+)TAUbQvn
zdQ$8~dMw0ykiUIyt_FlZaK{JJ34|zjMpEQ=z?K_c<!%=6Sgw!x5cY^>HdY`yV6x{-
z64g$bGMR7NOT#uSC|2C5PQzyT^d!Zjg}qSQ?g6h$P4ccGk1(o5QhVy0CTs#8Vc)~9
zOq7?zT_f$!BRru4nCKiVUdJbNGaH|)2T8r+vx5vQZAuho$o6xH5)jXZGCov~fcRfT
z&bKQLJ3z=#;>0N62R2Ai419Sb^WkaElLsFHLI;>$2KQ0{9@j2ZT<&_5+_Qnn+unjA
znR%4OQ<~yW{LJ??8#ND;4y+f5FkhH;oGaMu*V%`Yil((-`_{i*wzrFu0@>r@;Q!@9
ztG-5C$|o66q0!cO8N3oR-ZuJgm%<k#&ei9vb5QSz(Aa%PmVI{^A~QXy|J+shuL0$a
z-(fas4f6kAx+}DRs0@axt$v5KkqgxSd0H3Pf3ITE9v%HZW9T8StI~pPKtPCbgqgF6
zs56b)o)thun1YPCgjLx3oNx3&LJT1W923p87`pKSP-60M6ym=>HhR9u|9gr72nkgf
z`o9%BG~SIbmXx=T6}XWG!96o?82d<AI`4lMBegfzArS#CZM#JXUYw<e*@1ONg<P?{
z7pa&f!U0Tamzs6L35XYOEH6!^+R4R6U~L}>dt~la{g9g5aRjJlk4d!jyanU_J7pF%
z77h|AA4MVw=oD5BKVh$ZqKjco|ES*^`7lni8w`M~OOWG;!0pS{gxy|=mLhl`j&hO$
zyh#a7>{8aWnp$JtTk9*E)-=y}7@o8Aa4GKMcm(?Dkj`*yw&d^BbmmXdiwG6W=0S!H
zhPH0Do+Bm19r|tQO1}!sqQwXgXJt)nTYP{voU&oA`&wBCy5wXMu+q{aM~Pnu^`Xm%
z>~wKZWVqL`FH-T@4e}yAN80yR(3BfT^Ox^K6v1kT9mt8Me)EpvvO~*=Dzl0TbRG>Y
z021OhH){SbYUb?JJhVvyjO_=O!9SzJSr7p`)%p3ee#i#M@JWL}?M@`DqCi*ZE@Tjp
F{|Bsk2y6fV

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-600italic.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-600italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..c99aabe80340fd88a6aeb5729251e76c9a6f35ec
GIT binary patch
literal 42120
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
E9}-z&tN;K2

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-700.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-700.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..421a1ab25fa88105ab776552d7201205f7899841
GIT binary patch
literal 44988
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

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-700italic.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-700italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..12ce3d20d1ce2288206e8b4f31c20f76452efe37
GIT binary patch
literal 40800
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%0DER>;wf
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
RRq@Zl18$4nbA$lE{{b1eG28$E

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-800.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-800.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..c94a223b03321d4a6701f0f8f7bc16bc75081aab
GIT binary patch
literal 44536
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
R7pBogwbb+jh=72A{tv!<OMd_W

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-800italic.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-800italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..eed7d3c63d1f9bff356497c0b0fb79c50ac4dede
GIT binary patch
literal 40812
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

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-italic.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..398b68a0853fbf6368758deb1da49d347e3e7d89
GIT binary patch
literal 41076
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%0DJn02_FvL|5o&57{KZdtLiV+hN)O7G14
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%0A|ONvrtj~P(cVi2j(tV2B}bkG5nsF&tTs#Cjgc)T
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

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/open-sans-v17-all-charsets-regular.woff2 b/src/theme/fonts/open-sans-v17-all-charsets-regular.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..8383e94c65478622baf43553262e0e31b8725e2b
GIT binary patch
literal 43236
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

literal 0
HcmV?d00001

diff --git a/src/theme/fonts/source-code-pro-v11-all-charsets-500.woff2 b/src/theme/fonts/source-code-pro-v11-all-charsets-500.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..722245682f59dfbf16d8cd95834db381ce022ebc
GIT binary patch
literal 59140
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

literal 0
HcmV?d00001

diff --git a/src/theme/head.hbs b/src/theme/head.hbs
new file mode 100644
index 0000000..cb1be18
--- /dev/null
+++ b/src/theme/head.hbs
@@ -0,0 +1 @@
+{{!-- Put your head HTML text here --}}
diff --git a/src/theme/header.hbs b/src/theme/header.hbs
new file mode 100644
index 0000000..26fa2d2
--- /dev/null
+++ b/src/theme/header.hbs
@@ -0,0 +1 @@
+{{!-- Put your header HTML text here --}}
\ No newline at end of file
diff --git a/src/theme/highlight.css b/src/theme/highlight.css
new file mode 100644
index 0000000..ba57b82
--- /dev/null
+++ b/src/theme/highlight.css
@@ -0,0 +1,82 @@
+/*
+ * An increased contrast highlighting scheme loosely based on the
+ * "Base16 Atelier Dune Light" theme by Bram de Haan
+ * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)
+ * Original Base16 color scheme by Chris Kempson
+ * (https://github.com/chriskempson/base16)
+ */
+
+/* Comment */
+.hljs-comment,
+.hljs-quote {
+  color: #575757;
+}
+
+/* Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+  color: #d70025;
+}
+
+/* Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+  color: #b21e00;
+}
+
+/* Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+  color: #008200;
+}
+
+/* Blue */
+.hljs-title,
+.hljs-section {
+  color: #0030f2;
+}
+
+/* Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+  color: #9d00ec;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #f6f7f6;
+  color: #000;
+}
+
+.hljs-emphasis {
+  font-style: italic;
+}
+
+.hljs-strong {
+  font-weight: bold;
+}
+
+.hljs-addition {
+  color: #22863a;
+  background-color: #f0fff4;
+}
+
+.hljs-deletion {
+  color: #b31d28;
+  background-color: #ffeef0;
+}
diff --git a/src/theme/highlight.js b/src/theme/highlight.js
new file mode 100644
index 0000000..3256c00
--- /dev/null
+++ b/src/theme/highlight.js
@@ -0,0 +1,53 @@
+/*
+  Highlight.js 10.1.1 (93fd0d73)
+  License: BSD-3-Clause
+  Copyright (c) 2006-2020, Ivan Sagalaev
+*/
+var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){s+="<"+a(e)+[].map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+t(e.value)+'"'})).join("")+">"}function u(e){s+="</"+a(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="</span>",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={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/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|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},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"<unnamed>")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i<e.length;i++){var s=r+=1,o=d(e[i]);for(i>0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"<br>":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);
+hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"</?",end:">",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());
+hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,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:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());
+hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"</",contains:[].concat(_,u,d,[s,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin:/</,end:/>/,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());
+hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());
+hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());
+hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());
+hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());
+hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}());
+hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}());
+hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:n,illegal:/["']/}]}]}}}());
+hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());
+hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());
+hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());
+hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:"</>"},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());
+hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());
+hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());
+hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());
+hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}());
+hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i]},a={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[i]},r={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[i]};return{name:"Makefile",aliases:["mk","mak"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,i,n,a,r,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,"meta-keyword":".PHONY"}},s]}}}());
+hljs.registerLanguage("xml",function(){"use strict";return function(e){var n={className:"symbol",begin:"&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;"},a={begin:"\\s",contains:[{className:"meta-keyword",begin:"#?[a-z_][a-z1-9_-]+",illegal:"\\n"}]},s=e.inherit(a,{begin:"\\(",end:"\\)"}),t=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),i=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"<![a-z]",end:">",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"<![a-z]",end:">",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:"<style(?=\\s|>)",end:">",keywords:{name:"style"},contains:[c],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>)",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}());
+hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}());
+hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}());
+hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());
+hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}());
+hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{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,n]}}}());
+hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}());
+hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());
+hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}());
+hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}());
+hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}());
+hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}());
+hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+n},{begin:"\\b0o([0-7_]+)"+n},{begin:"\\b0x([A-Fa-f0-9_]+)"+n},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+n}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"#\\!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"\\S"},{className:"class",beginKeywords:"trait enum struct union",end:"{",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"[\\w\\d]"},{begin:e.IDENT_RE+"::",keywords:{built_in:t}},{begin:"->"}]}}}());
+hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}());
+hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}());
+hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}());
+hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin:/</,end:/>/},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());
+hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}());
+hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}());
+hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}());
+hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}());
+hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}());
+hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}());
+hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}());
+hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}());
+hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}());
+hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}());
+hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}());
\ No newline at end of file
diff --git a/src/theme/index.hbs b/src/theme/index.hbs
new file mode 100644
index 0000000..080b785
--- /dev/null
+++ b/src/theme/index.hbs
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML>
+<html lang="{{ language }}" class="{{ default_theme }}" dir="{{ text_direction }}">
+    <head>
+        <!-- Book generated using mdBook -->
+        <meta charset="UTF-8">
+        <title>{{ title }}</title>
+        {{#if is_print }}
+        <meta name="robots" content="noindex">
+        {{/if}}
+        {{#if base_url}}
+        <base href="{{ base_url }}">
+        {{/if}}
+
+
+        <!-- Custom HTML head -->
+        {{> head}}
+
+        <meta name="description" content="{{ description }}">
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <meta name="theme-color" content="#ffffff">
+
+        {{#if favicon_svg}}
+        <link rel="icon" href="{{ path_to_root }}favicon.svg">
+        {{/if}}
+        {{#if favicon_png}}
+        <link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
+        {{/if}}
+        <link rel="stylesheet" href="{{ path_to_root }}css/variables.css">
+        <link rel="stylesheet" href="{{ path_to_root }}css/general.css">
+        <link rel="stylesheet" href="{{ path_to_root }}css/chrome.css">
+        {{#if print_enable}}
+        <link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print">
+        {{/if}}
+
+        <!-- Fonts -->
+        <link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css">
+        {{#if copy_fonts}}
+        <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
+        {{/if}}
+
+        <!-- Highlight.js Stylesheets -->
+        <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
+        <link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
+        <link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
+
+        <!-- Custom theme stylesheets -->
+        {{#each additional_css}}
+        <link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
+        {{/each}}
+
+        {{#if mathjax_support}}
+        <!-- MathJax -->
+        <script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+        {{/if}}
+    </head>
+    <body class="sidebar-visible no-js">
+    <div id="body-container">
+        <!-- Provide site root to javascript -->
+        <script>
+            var path_to_root = "{{ path_to_root }}";
+            var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
+        </script>
+
+        <!-- Work around some values being stored in localStorage wrapped in quotes -->
+        <script>
+            try {
+                var theme = localStorage.getItem('mdbook-theme');
+                var sidebar = localStorage.getItem('mdbook-sidebar');
+
+                if (theme.startsWith('"') && theme.endsWith('"')) {
+                    localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
+                }
+
+                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
+                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
+                }
+            } catch (e) { }
+        </script>
+
+        <!-- Set the theme before any content is loaded, prevents flash -->
+        <script>
+            var theme;
+            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
+            if (theme === null || theme === undefined) { theme = default_theme; }
+            var html = document.querySelector('html');
+            html.classList.remove('{{ default_theme }}')
+            html.classList.add(theme);
+            var body = document.querySelector('body');
+            body.classList.remove('no-js')
+            body.classList.add('js');
+        </script>
+
+        <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
+
+        <!-- Hide / unhide sidebar before it is displayed -->
+        <script>
+            var body = document.querySelector('body');
+            var sidebar = null;
+            var sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
+            if (document.body.clientWidth >= 1080) {
+                try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
+                sidebar = sidebar || 'visible';
+            } else {
+                sidebar = 'hidden';
+            }
+            sidebar_toggle.checked = sidebar === 'visible';
+            body.classList.remove('sidebar-visible');
+            body.classList.add("sidebar-" + sidebar);
+        </script>
+
+        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
+            <div class="sidebar-scrollbox">
+                {{#toc}}{{/toc}}
+            </div>
+            <div id="sidebar-resize-handle" class="sidebar-resize-handle">
+                <div class="sidebar-resize-indicator"></div>
+            </div>
+        </nav>
+
+        <!-- Track and set sidebar scroll position -->
+        <script>
+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
+            sidebarScrollbox.addEventListener('click', function(e) {
+                if (e.target.tagName === 'A') {
+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
+                }
+            }, { passive: true });
+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
+            sessionStorage.removeItem('sidebar-scroll');
+            if (sidebarScrollTop) {
+                // preserve sidebar scroll position when navigating via links within sidebar
+                sidebarScrollbox.scrollTop = sidebarScrollTop;
+            } else {
+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
+                var activeSection = document.querySelector('#sidebar .active');
+                if (activeSection) {
+                    activeSection.scrollIntoView({ block: 'center' });
+                }
+            }
+        </script>
+
+        <div id="page-wrapper" class="page-wrapper">
+
+            <div class="page">
+                {{> header}}
+                <div id="menu-bar-hover-placeholder"></div>
+                <div id="menu-bar" class="menu-bar sticky">
+                    <div class="left-buttons">
+                        <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
+                            <i class="fa fa-bars"></i>
+                        </label>
+                        <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
+                            <i class="fa fa-paint-brush"></i>
+                        </button>
+                        <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
+                            <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
+                            <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
+                        </ul>
+                        {{#if search_enabled}}
+                        <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
+                            <i class="fa fa-search"></i>
+                        </button>
+                        {{/if}}
+                    </div>
+
+                    <h1 class="menu-title">{{ book_title }}</h1>
+
+                    <div class="right-buttons">
+                        {{#if print_enable}}
+                        <a href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book">
+                            <i id="print-button" class="fa fa-print"></i>
+                        </a>
+                        {{/if}}
+                        {{#if git_repository_url}}
+                        <a href="{{git_repository_url}}" title="Git repository" aria-label="Git repository">
+                            <i id="git-repository-button" class="fa {{git_repository_icon}}"></i>
+                        </a>
+                        {{/if}}
+                        {{#if git_repository_edit_url}}
+                        <a href="{{git_repository_edit_url}}" title="Suggest an edit" aria-label="Suggest an edit">
+                            <i id="git-edit-button" class="fa fa-edit"></i>
+                        </a>
+                        {{/if}}
+
+                    </div>
+                </div>
+
+                {{#if search_enabled}}
+                <div id="search-wrapper" class="hidden">
+                    <form id="searchbar-outer" class="searchbar-outer">
+                        <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
+                    </form>
+                    <div id="searchresults-outer" class="searchresults-outer hidden">
+                        <div id="searchresults-header" class="searchresults-header"></div>
+                        <ul id="searchresults">
+                        </ul>
+                    </div>
+                </div>
+                {{/if}}
+
+                <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
+                <script>
+                    document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
+                    document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
+                    Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
+                        link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
+                    });
+                </script>
+
+                <div id="content" class="content">
+                    <main>
+                        {{{ content }}}
+                    </main>
+
+                    <nav class="nav-wrapper" aria-label="Page navigation">
+                        <!-- Mobile navigation buttons -->
+                        {{#previous}}
+                            <a rel="prev" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
+                                <i class="fa fa-angle-left"></i>
+                            </a>
+                        {{/previous}}
+
+                        {{#next}}
+                            <a rel="next prefetch" href="{{ path_to_root }}{{link}}" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                                <i class="fa fa-angle-right"></i>
+                            </a>
+                        {{/next}}
+
+                        <div style="clear: both"></div>
+                    </nav>
+                </div>
+            </div>
+
+            <nav class="nav-wide-wrapper" aria-label="Page navigation">
+                {{#previous}}
+                    <a rel="prev" href="{{ path_to_root }}{{link}}" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
+                        <i class="fa fa-angle-left"></i>
+                    </a>
+                {{/previous}}
+
+                {{#next}}
+                    <a rel="next prefetch" href="{{ path_to_root }}{{link}}" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+                        <i class="fa fa-angle-right"></i>
+                    </a>
+                {{/next}}
+            </nav>
+
+        </div>
+
+        {{#if live_reload_endpoint}}
+        <!-- Livereload script (if served using the cli tool) -->
+        <script>
+            const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
+            const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}";
+            const socket = new WebSocket(wsAddress);
+            socket.onmessage = function (event) {
+                if (event.data === "reload") {
+                    socket.close();
+                    location.reload();
+                }
+            };
+
+            window.onbeforeunload = function() {
+                socket.close();
+            }
+        </script>
+        {{/if}}
+
+        {{#if google_analytics}}
+        <!-- Google Analytics Tag -->
+        <script>
+            var localAddrs = ["localhost", "127.0.0.1", ""];
+
+            // make sure we don't activate google analytics if the developer is
+            // inspecting the book locally...
+            if (localAddrs.indexOf(document.location.hostname) === -1) {
+                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+                ga('create', '{{google_analytics}}', 'auto');
+                ga('send', 'pageview');
+            }
+        </script>
+        {{/if}}
+
+        {{#if playground_line_numbers}}
+        <script>
+            window.playground_line_numbers = true;
+        </script>
+        {{/if}}
+
+        {{#if playground_copyable}}
+        <script>
+            window.playground_copyable = true;
+        </script>
+        {{/if}}
+
+        {{#if playground_js}}
+        <script src="{{ path_to_root }}ace.js"></script>
+        <script src="{{ path_to_root }}editor.js"></script>
+        <script src="{{ path_to_root }}mode-rust.js"></script>
+        <script src="{{ path_to_root }}theme-dawn.js"></script>
+        <script src="{{ path_to_root }}theme-tomorrow_night.js"></script>
+        {{/if}}
+
+        {{#if search_js}}
+        <script src="{{ path_to_root }}elasticlunr.min.js"></script>
+        <script src="{{ path_to_root }}mark.min.js"></script>
+        <script src="{{ path_to_root }}searcher.js"></script>
+        {{/if}}
+
+        <script src="{{ path_to_root }}clipboard.min.js"></script>
+        <script src="{{ path_to_root }}highlight.js"></script>
+        <script src="{{ path_to_root }}book.js"></script>
+
+        <!-- Custom JS scripts -->
+        {{#each additional_js}}
+        <script src="{{ ../path_to_root }}{{this}}"></script>
+        {{/each}}
+
+        {{#if is_print}}
+        {{#if mathjax_support}}
+        <script>
+        window.addEventListener('load', function() {
+            MathJax.Hub.Register.StartupHook('End', function() {
+                window.setTimeout(window.print, 100);
+            });
+        });
+        </script>
+        {{else}}
+        <script>
+        window.addEventListener('load', function() {
+            window.setTimeout(window.print, 100);
+        });
+        </script>
+        {{/if}}
+        {{/if}}
+
+    </div>
+    </body>
+</html>
diff --git a/src/theme/mod.rs b/src/theme/mod.rs
new file mode 100644
index 0000000..6e6b509
--- /dev/null
+++ b/src/theme/mod.rs
@@ -0,0 +1,300 @@
+#![allow(missing_docs)]
+
+pub mod playground_editor;
+
+pub mod fonts;
+
+#[cfg(feature = "search")]
+pub mod searcher;
+
+use std::fs::File;
+use std::io::Read;
+use std::path::{Path, PathBuf};
+
+use crate::errors::*;
+use log::warn;
+pub static INDEX: &[u8] = include_bytes!("index.hbs");
+pub static HEAD: &[u8] = include_bytes!("head.hbs");
+pub static REDIRECT: &[u8] = include_bytes!("redirect.hbs");
+pub static HEADER: &[u8] = include_bytes!("header.hbs");
+pub static CHROME_CSS: &[u8] = include_bytes!("css/chrome.css");
+pub static GENERAL_CSS: &[u8] = include_bytes!("css/general.css");
+pub static PRINT_CSS: &[u8] = include_bytes!("css/print.css");
+pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css");
+pub static FAVICON_PNG: &[u8] = include_bytes!("favicon.png");
+pub static FAVICON_SVG: &[u8] = include_bytes!("favicon.svg");
+pub static JS: &[u8] = include_bytes!("book.js");
+pub static HIGHLIGHT_JS: &[u8] = include_bytes!("highlight.js");
+pub static TOMORROW_NIGHT_CSS: &[u8] = include_bytes!("tomorrow-night.css");
+pub static HIGHLIGHT_CSS: &[u8] = include_bytes!("highlight.css");
+pub static AYU_HIGHLIGHT_CSS: &[u8] = include_bytes!("ayu-highlight.css");
+pub static CLIPBOARD_JS: &[u8] = include_bytes!("clipboard.min.js");
+pub static FONT_AWESOME: &[u8] = include_bytes!("FontAwesome/css/font-awesome.min.css");
+pub static FONT_AWESOME_EOT: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.eot");
+pub static FONT_AWESOME_SVG: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.svg");
+pub static FONT_AWESOME_TTF: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.ttf");
+pub static FONT_AWESOME_WOFF: &[u8] = include_bytes!("FontAwesome/fonts/fontawesome-webfont.woff");
+pub static FONT_AWESOME_WOFF2: &[u8] =
+    include_bytes!("FontAwesome/fonts/fontawesome-webfont.woff2");
+pub static FONT_AWESOME_OTF: &[u8] = include_bytes!("FontAwesome/fonts/FontAwesome.otf");
+
+/// The `Theme` struct should be used instead of the static variables because
+/// the `new()` method will look if the user has a theme directory in their
+/// source folder and use the users theme instead of the default.
+///
+/// You should only ever use the static variables directly if you want to
+/// override the user's theme with the defaults.
+#[derive(Debug, PartialEq)]
+pub struct Theme {
+    pub index: Vec<u8>,
+    pub head: Vec<u8>,
+    pub redirect: Vec<u8>,
+    pub header: Vec<u8>,
+    pub chrome_css: Vec<u8>,
+    pub general_css: Vec<u8>,
+    pub print_css: Vec<u8>,
+    pub variables_css: Vec<u8>,
+    pub fonts_css: Option<Vec<u8>>,
+    pub font_files: Vec<PathBuf>,
+    pub favicon_png: Option<Vec<u8>>,
+    pub favicon_svg: Option<Vec<u8>>,
+    pub js: Vec<u8>,
+    pub highlight_css: Vec<u8>,
+    pub tomorrow_night_css: Vec<u8>,
+    pub ayu_highlight_css: Vec<u8>,
+    pub highlight_js: Vec<u8>,
+    pub clipboard_js: Vec<u8>,
+}
+
+impl Theme {
+    /// Creates a `Theme` from the given `theme_dir`.
+    /// If a file is found in the theme dir, it will override the default version.
+    pub fn new<P: AsRef<Path>>(theme_dir: P) -> Self {
+        let theme_dir = theme_dir.as_ref();
+        let mut theme = Theme::default();
+
+        // If the theme directory doesn't exist there's no point continuing...
+        if !theme_dir.exists() || !theme_dir.is_dir() {
+            return theme;
+        }
+
+        // Check for individual files, if they exist copy them across
+        {
+            let files = vec![
+                (theme_dir.join("index.hbs"), &mut theme.index),
+                (theme_dir.join("head.hbs"), &mut theme.head),
+                (theme_dir.join("redirect.hbs"), &mut theme.redirect),
+                (theme_dir.join("header.hbs"), &mut theme.header),
+                (theme_dir.join("book.js"), &mut theme.js),
+                (theme_dir.join("css/chrome.css"), &mut theme.chrome_css),
+                (theme_dir.join("css/general.css"), &mut theme.general_css),
+                (theme_dir.join("css/print.css"), &mut theme.print_css),
+                (
+                    theme_dir.join("css/variables.css"),
+                    &mut theme.variables_css,
+                ),
+                (theme_dir.join("highlight.js"), &mut theme.highlight_js),
+                (theme_dir.join("clipboard.min.js"), &mut theme.clipboard_js),
+                (theme_dir.join("highlight.css"), &mut theme.highlight_css),
+                (
+                    theme_dir.join("tomorrow-night.css"),
+                    &mut theme.tomorrow_night_css,
+                ),
+                (
+                    theme_dir.join("ayu-highlight.css"),
+                    &mut theme.ayu_highlight_css,
+                ),
+            ];
+
+            let load_with_warn = |filename: &Path, dest: &mut Vec<u8>| {
+                if !filename.exists() {
+                    // Don't warn if the file doesn't exist.
+                    return false;
+                }
+                if let Err(e) = load_file_contents(filename, dest) {
+                    warn!("Couldn't load custom file, {}: {}", filename.display(), e);
+                    false
+                } else {
+                    true
+                }
+            };
+
+            for (filename, dest) in files {
+                load_with_warn(&filename, dest);
+            }
+
+            let fonts_dir = theme_dir.join("fonts");
+            if fonts_dir.exists() {
+                let mut fonts_css = Vec::new();
+                if load_with_warn(&fonts_dir.join("fonts.css"), &mut fonts_css) {
+                    theme.fonts_css.replace(fonts_css);
+                }
+                if let Ok(entries) = fonts_dir.read_dir() {
+                    theme.font_files = entries
+                        .filter_map(|entry| {
+                            let entry = entry.ok()?;
+                            if entry.file_name() == "fonts.css" {
+                                None
+                            } else if entry.file_type().ok()?.is_dir() {
+                                log::info!("skipping font directory {:?}", entry.path());
+                                None
+                            } else {
+                                Some(entry.path())
+                            }
+                        })
+                        .collect();
+                }
+            }
+
+            // If the user overrides one favicon, but not the other, do not
+            // copy the default for the other.
+            let favicon_png = &mut theme.favicon_png.as_mut().unwrap();
+            let png = load_with_warn(&theme_dir.join("favicon.png"), favicon_png);
+            let favicon_svg = &mut theme.favicon_svg.as_mut().unwrap();
+            let svg = load_with_warn(&theme_dir.join("favicon.svg"), favicon_svg);
+            match (png, svg) {
+                (true, true) | (false, false) => {}
+                (true, false) => {
+                    theme.favicon_svg = None;
+                }
+                (false, true) => {
+                    theme.favicon_png = None;
+                }
+            }
+        }
+
+        theme
+    }
+}
+
+impl Default for Theme {
+    fn default() -> Theme {
+        Theme {
+            index: INDEX.to_owned(),
+            head: HEAD.to_owned(),
+            redirect: REDIRECT.to_owned(),
+            header: HEADER.to_owned(),
+            chrome_css: CHROME_CSS.to_owned(),
+            general_css: GENERAL_CSS.to_owned(),
+            print_css: PRINT_CSS.to_owned(),
+            variables_css: VARIABLES_CSS.to_owned(),
+            fonts_css: None,
+            font_files: Vec::new(),
+            favicon_png: Some(FAVICON_PNG.to_owned()),
+            favicon_svg: Some(FAVICON_SVG.to_owned()),
+            js: JS.to_owned(),
+            highlight_css: HIGHLIGHT_CSS.to_owned(),
+            tomorrow_night_css: TOMORROW_NIGHT_CSS.to_owned(),
+            ayu_highlight_css: AYU_HIGHLIGHT_CSS.to_owned(),
+            highlight_js: HIGHLIGHT_JS.to_owned(),
+            clipboard_js: CLIPBOARD_JS.to_owned(),
+        }
+    }
+}
+
+/// Checks if a file exists, if so, the destination buffer will be filled with
+/// its contents.
+fn load_file_contents<P: AsRef<Path>>(filename: P, dest: &mut Vec<u8>) -> Result<()> {
+    let filename = filename.as_ref();
+
+    let mut buffer = Vec::new();
+    File::open(filename)?.read_to_end(&mut buffer)?;
+
+    // We needed the buffer so we'd only overwrite the existing content if we
+    // could successfully load the file into memory.
+    dest.clear();
+    dest.append(&mut buffer);
+
+    Ok(())
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use std::fs;
+    use std::path::PathBuf;
+    use tempfile::Builder as TempFileBuilder;
+
+    #[test]
+    fn theme_uses_defaults_with_nonexistent_src_dir() {
+        let non_existent = PathBuf::from("/non/existent/directory/");
+        assert!(!non_existent.exists());
+
+        let should_be = Theme::default();
+        let got = Theme::new(&non_existent);
+
+        assert_eq!(got, should_be);
+    }
+
+    #[test]
+    fn theme_dir_overrides_defaults() {
+        let files = [
+            "index.hbs",
+            "head.hbs",
+            "redirect.hbs",
+            "header.hbs",
+            "favicon.png",
+            "favicon.svg",
+            "css/chrome.css",
+            "css/general.css",
+            "css/print.css",
+            "css/variables.css",
+            "fonts/fonts.css",
+            "book.js",
+            "highlight.js",
+            "tomorrow-night.css",
+            "highlight.css",
+            "ayu-highlight.css",
+            "clipboard.min.js",
+        ];
+
+        let temp = TempFileBuilder::new().prefix("mdbook-").tempdir().unwrap();
+        fs::create_dir(temp.path().join("css")).unwrap();
+        fs::create_dir(temp.path().join("fonts")).unwrap();
+
+        // "touch" all of the special files so we have empty copies
+        for file in &files {
+            File::create(&temp.path().join(file)).unwrap();
+        }
+
+        let got = Theme::new(temp.path());
+
+        let empty = Theme {
+            index: Vec::new(),
+            head: Vec::new(),
+            redirect: Vec::new(),
+            header: Vec::new(),
+            chrome_css: Vec::new(),
+            general_css: Vec::new(),
+            print_css: Vec::new(),
+            variables_css: Vec::new(),
+            fonts_css: Some(Vec::new()),
+            font_files: Vec::new(),
+            favicon_png: Some(Vec::new()),
+            favicon_svg: Some(Vec::new()),
+            js: Vec::new(),
+            highlight_css: Vec::new(),
+            tomorrow_night_css: Vec::new(),
+            ayu_highlight_css: Vec::new(),
+            highlight_js: Vec::new(),
+            clipboard_js: Vec::new(),
+        };
+
+        assert_eq!(got, empty);
+    }
+
+    #[test]
+    fn favicon_override() {
+        let temp = TempFileBuilder::new().prefix("mdbook-").tempdir().unwrap();
+        fs::write(temp.path().join("favicon.png"), "1234").unwrap();
+        let got = Theme::new(temp.path());
+        assert_eq!(got.favicon_png.as_ref().unwrap(), b"1234");
+        assert_eq!(got.favicon_svg, None);
+
+        let temp = TempFileBuilder::new().prefix("mdbook-").tempdir().unwrap();
+        fs::write(temp.path().join("favicon.svg"), "4567").unwrap();
+        let got = Theme::new(temp.path());
+        assert_eq!(got.favicon_png, None);
+        assert_eq!(got.favicon_svg.as_ref().unwrap(), b"4567");
+    }
+}
diff --git a/src/theme/playground_editor/ace.js b/src/theme/playground_editor/ace.js
new file mode 100644
index 0000000..e8435a5
--- /dev/null
+++ b/src/theme/playground_editor/ace.js
@@ -0,0 +1,43 @@
+/*
+Copyright (c) 2010, Ajax.org B.V.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of Ajax.org B.V. nor the
+      names of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _="	\n\x0b\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim"),typeof Element!="undefined"&&!Element.prototype.remove&&Object.defineProperty(Element.prototype,"remove",{enumerable:!1,writable:!0,configurable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=i.match(/ Gecko\/\d+/),t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(i.split(" Edge/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isAndroid=i.indexOf("Android")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(i)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIPad||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s<e.length;s++){var u=o(e[s],t,n);u&&i.push(u)}return i}var a=document.createElement(e[0]),f=e[1],l=1;f&&typeof f=="object"&&!Array.isArray(f)&&(l=2);for(var s=l;s<e.length;s++)o(e[s],a,n);return l==2&&Object.keys(f).forEach(function(e){var t=f[e];e==="class"?a.className=Array.isArray(t)?t.join(" "):t:typeof t=="function"||e=="value"?a[e]=t:e==="ref"?n&&(n[t]=a):t!=null&&a.setAttribute(e,t)}),t&&t.appendChild(a),a},t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=""},t.createTextNode=function(e,t){var n=t?t.ownerDocument:document;return n.createTextNode(e)},t.createFragment=function(e){var t=e?e.ownerDocument:document;return t.createDocumentFragment()},t.hasCssClass=function(e,t){var n=(e.className+"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(r=t.querySelectorAll("style"))while(n<r.length)if(r[n++].id===e)return!0},t.importCssString=function(n,r,i){var s=i;if(!i||!i.getRootNode)s=document;else{s=i.getRootNode();if(!s||s==i)s=document}var o=s.ownerDocument||s;if(r&&t.hasCssString(r,s))return null;r&&(n+="\n/*# sourceURL=ace/css/"+r+" */");var u=t.createElement("style");u.appendChild(o.createTextNode(n)),r&&(u.id=r),s==o&&(s=t.getDocumentHead(o)),s.insertBefore(u,s.firstChild)},t.importCssStylsheet=function(e,n){t.buildDom(["link",{rel:"stylesheet",href:e}],t.getDocumentHead(n))},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},typeof document=="undefined"&&(t.importCssString=function(){}),t.computedStyle=function(e,t){return window.getComputedStyle(e,"")||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=r.isWin?typeof window!="undefined"&&window.devicePixelRatio>=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){var r,i;t.addListener(e,"touchstart",function(e){var t=e.touches,n=t[0];r=n.clientX,i=n.clientY}),t.addListener(e,"touchmove",function(e){var t=e.touches;if(t.length>1)return;var s=t[0];e.wheelX=r-s.clientX,e.wheelY=i-s.clientY,r=s.clientX,i=s.clientY,n(e)})},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}if(Object.prototype.toString.call(e)!=="[object Object]")return e;t={};for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=i.isChrome>63,l=400,c=e("../lib/keys"),h=c.KEY_MODS,p=i.isIOS,d=p?/\s/:/\n/,v=function(e,t){function W(){x=!0,n.blur(),n.focus(),x=!1}function V(e){e.keyCode==27&&n.value.length<n.selectionStart&&(g||(T=n.value),N=C=-1,A()),X()}function J(){clearTimeout($),$=setTimeout(function(){b&&(n.style.cssText=b,b=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}function Q(e,t,n){var r=null,i=!1;n.addEventListener("keydown",function(e){r&&clearTimeout(r),i=!0},!0),n.addEventListener("keyup",function(e){r=setTimeout(function(){i=!1},100)},!0);var s=function(e){if(document.activeElement!==n)return;if(i||g)return;if(v)return;var r=n.selectionStart,s=n.selectionEnd,o=null,u=0;console.log(r,s);if(r==0)o=c.up;else if(r==1)o=c.home;else if(s>C&&T[s]=="\n")o=c.end;else if(r<N&&T[r-1]==" ")o=c.left,u=h.option;else if(r<N||r==N&&C!=N&&r==s)o=c.left;else if(s>C&&T.slice(0,s).split("\n").length>2)o=c.down;else if(s>C&&T[s-1]==" ")o=c.right,u=h.option;else if(s>C||s==C&&C!=N&&r==s)o=c.right;r!==s&&(u|=h.shift),o&&(t.onCommandKey(null,u,o),N=r,C=s,A(""))};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var v=!1,m=!1,g=!1,y=!1,b="",w=!0,E=!1;i.isMobile||(n.style.fontSize="1px");var S=!1,x=!1,T="",N=0,C=0;try{var k=document.activeElement===n}catch(L){}r.addListener(n,"blur",function(e){if(x)return;t.onBlur(e),k=!1}),r.addListener(n,"focus",function(e){if(x)return;k=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(A):A()}),this.$focusScroll=!1,this.focus=function(){if(b||f||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return k},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;g&&(T=n.value="",z()),A()});var A=p?function(e){if(!k||v&&!e||y)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=T=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(N!=i||C!=s)&&n.setSelectionRange(i,s),N=i,C=s}:function(){if(g||y)return;if(!k&&!D)return;g=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.row<i-1?0:s,o+=a.length+1,u=a+"\n"+u}else if(r.end.row!=i){var f=t.session.getLine(i+1);o=r.end.row>i+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>l&&(s<l&&o<l?u=u.slice(0,l):(u="\n",s=0,o=1));var c=u+"\n\n";c!=T&&(n.value=T=c,N=C=c.length),D&&(N=n.selectionStart,C=n.selectionEnd);if(C!=o||N!=s||n.selectionEnd!=C)try{n.setSelectionRange(s,o),N=s,C=o}catch(h){}g=!1};k&&t.onFocus();var O=function(e){return e.selectionStart===0&&e.selectionEnd>=T.length&&e.value===T&&T&&e.selectionEnd!==C},M=function(e){if(g)return;v?v=!1:O(n)&&(t.selectAll(),A())},_=null;this.setInputHandler=function(e){_=e},this.getInputHandler=function(){return _};var D=!1,P=function(e,r){D&&(D=!1);if(m)return A(),e&&t.onPaste(e),m=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=N,u=T.length-C,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&T[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&T.length-c>N-1&&T[T.length-c]==e[e.length-c])c++,u--;return f-=c-1,l-=c-1,a=a.slice(0,a.length-c+1),!r&&f==a.length&&!o&&!u&&!l?"":(y=!0,a&&!o&&!u&&!f&&!l||S?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),y=!1,T=e,N=i,C=s,a)},H=function(e){if(g)return U();var t=n.value,r=P(t,!0);(t.length>l+100||d.test(r))&&A()},B=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||u)return;var i=a||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return B(e,t,!0)}},j=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);B(e,s)?(p&&(A(s),v=s,setTimeout(function(){v=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(v=!0,n.value=s,n.select(),setTimeout(function(){v=!1,A(),i?t.onCut():t.onCopy()}))},F=function(e){j(e,!0)},I=function(e){j(e,!1)},q=function(e){var s=B(e);typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(A),r.preventDefault(e)):(n.value="",m=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",M),r.addListener(n,"input",H),r.addListener(n,"cut",F),r.addListener(n,"copy",I),r.addListener(n,"paste",q),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:I(e);break;case 86:q(e);break;case 88:F(e)}});var R=function(e){if(g||!t.onCompositionStart||t.$readOnly)return;g={};if(S)return;setTimeout(U,0),t.on("mousedown",W);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,g.markerRange=r,g.selectionStart=N,t.onCompositionStart(g),g.useTextareaForIME?(n.value="",T="",N=0,C=0):(n.msGetInputContext&&(g.context=n.msGetInputContext()),n.getInputContext&&(g.context=n.getInputContext()))},U=function(){if(!g||!t.onCompositionUpdate||t.$readOnly)return;if(S)return W();if(g.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;P(e),g.markerRange&&(g.context&&(g.markerRange.start.column=g.selectionStart=g.context.compositionStartOffset),g.markerRange.end.column=g.markerRange.start.column+C-g.selectionStart)}},z=function(e){if(!t.onCompositionEnd||t.$readOnly)return;g=!1,t.onCompositionEnd(),t.off("mousedown",W),e&&H()},X=o.delayedCall(U,50).schedule.bind(null,null);r.addListener(n,"compositionstart",R),r.addListener(n,"compositionupdate",U),r.addListener(n,"keyup",V),r.addListener(n,"keydown",X),r.addListener(n,"compositionend",z),this.getElement=function(){return n},this.setCommandMode=function(e){S=e,n.readOnly=!1},this.setReadOnly=function(e){S||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){E=e},this.onContextMenu=function(e){D=!0,A(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){b||(b=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(N+C)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout($),i.isWin&&r.capture(t.container,h,J)},this.onContextMenuClose=J;var $,K=function(e){t.textInput.onContextMenu(e),J()};r.addListener(n,"mouseup",K),r.addListener(n,"mousedown",function(e){e.preventDefault(),J()}),r.addListener(t.renderer.scroller,"contextmenu",K),r.addListener(n,"contextmenu",K),p&&Q(e,t,n)};t.TextInput=v}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i<s&&(o=(o+n.vx)/2,u=(u+n.vy)/2);var a=Math.abs(o/u),f=!1;a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowed<s){var l=Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(u)<=1.5*Math.abs(n.vy);l?(f=!0,n.allowed=r):n.allowed=0}n.t=r,n.vx=o,n.vy=u;if(f)return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(o.prototype),t.DefaultHandlers=o}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)});if(!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(!e){var n=this.$options;e=Object.keys(n).filter(function(e){return!n[e].hidden})}else Array.isArray(e)||(t=e,e=Object.keys(t));return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function l(r){if(!u||!u.document)return;a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,l=f.getElementsByTagName("script");for(var h=0;h<l.length;h++){var p=l[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[c(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function c(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this||typeof window!="undefined"&&window}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},t.$modes={},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$keepTextAreaAtCursor&&(s.$keepTextAreaAtCursor=null);var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",s.$keepTextAreaAtCursor==null&&(s.$keepTextAreaAtCursor=!0,s.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!0),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w<n;w++)r[w]=R(e[w]);o=s,u=!1,a=!1,f=!1,l=!1;for(E=0;E<n;E++){c=m,T[E]=h=q(e,r,T,E),m=i[c][h],g=m&240,m&=15,t[E]=v=i[m][5];if(g>0)if(g==16){for(w=b;w<E;w++)t[w]=1;b=-1}else b=-1;y=i[m][6];if(y)b==-1&&(b=E);else if(b>-1){for(w=b;w<E;w++)t[w]=v;b=-1}r[E]==S&&(t[E]=0),o|=v}if(l)for(w=0;w<n;w++)if(r[w]==x){t[w]=s;for(var C=w-1;C>=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o<e)return;if(e==1&&s==m&&!f){n.reverse();return}var r=n.length,i=0,u,a,l,c;while(i<r){if(t[i]>=e){u=i+1;while(u<r&&t[u]>=e)u++;for(a=i,l=u-1;a<l;a++,l--)c=n[a],n[a]=n[l],n[l]=c;i=u}i++}}function q(e,t,n,r){var i=t[r],o,c,h,p;switch(i){case g:case y:u=!1;case E:case w:return i;case b:return u?w:b;case T:return u=!0,a=!0,y;case N:return E;case C:if(r<1||r+1>=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+1<t.length&&t[r+1]==b)return b;return E;case L:if(r>0&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p<h&&t[p]==L)p++;if(p<h&&t[p]==b)return b;return E;case A:h=t.length,p=r+1;while(p<h&&t[p]==A)p++;if(p<h){var d=e[r],v=d>=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;f<o.length;o[f]=f,f++);I(2,a,o),I(1,a,o);for(var f=0;f<o.length-1;f++)n[f]===w?a[f]=t.AN:a[f]===y&&(n[f]>T&&n[f]<O||n[f]===E||n[f]===H)?a[f]=t.ON_R:f>0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f<o.length;f++)u[f]=a[o[f]];return{logicalFromVisual:o,bidiLevels:u}},t.hasBidiCharacters=function(e,t){var n=!1;for(var r=0;r<e.length;r++)t[r]=R(e.charAt(r)),!n&&(t[r]==y||t[r]==T||t[r]==w)&&(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(e,t,n){"use strict";var r=e("./lib/bidiutil"),i=e("./lib/lang"),s=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,o=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL="\u00ac",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\u00b6",this.RLE="\u202b",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=s.test(e.getValue())};(function(){this.isBidiRow=function(e,t,n){return this.seenBidi?(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},this.onChange=function(e){this.seenBidi?this.currentRow=null:e.action=="insert"&&s.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=t<o.length?this.line.substring(o[t-1],o[t]):this.line.substring(o[o.length-1])):this.line=this.line.substring(0,o[t])),t==o.length&&(this.line+=this.showInvisibles?s:r.DOT)}else this.line+=this.showInvisibles?s:r.DOT;var u=this.session,a=0,f;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return e==="	"||u.isFullWidth(e.charCodeAt(0))?(f=e==="	"?u.getScreenTabSize(t+a):2,a+=f-1,i.stringRepeat(r.DOT,f)):e}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==r.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},this.updateBidiMap=function(){var e=[];r.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=r.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.characterWidth===e.$characterSize.width)return;this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("\u05d4");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=n*.45,this.charWidths[r.B]=this.charWidths[r.RLE]=0,this.currentRow=null},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setContentWidth=function(e){this.contentWidth=e},this.isRtlLine=function(e){return this.$isRtl?!0:e!=undefined?this.session.getLine(e).charAt(0)==this.RLE:this.isRtlDir},this.setRtlDirection=function(e,t){var n=e.getCursorPosition();for(var r=e.selection.getSelectionAnchor().row;r<=n.row;r++)!t&&e.session.getLine(r).charAt(0)===e.session.$bidiHandler.RLE?e.session.doc.removeInLine(r,0,1):t&&e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:r},e.session.$bidiHandler.RLE)},this.getPosLeft=function(e){e-=this.wrapIndent;var t=this.line.charAt(0)===this.RLE?1:0,n=e>t?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;u<i;u++)o+=this.charWidths[s[u]];return!this.session.getOverwrite()&&e>t&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p<r.length;p++)h=n.logicalFromVisual[p],i=r[p],f=h>=u&&h<a,f&&!l?c=o:!f&&l&&s.push({left:c,width:o-c}),o+=this.charWidths[i],l=f;f&&p===r.length&&s.push({left:c,width:o-c});if(this.isRtlDir)for(var d=0;d<s.length;d++)s[d].left+=this.rtlLineOffset;return s},this.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,e=Math.max(e,0),n=0,r=0,i=this.bidiMap.bidiLevels,s=this.charWidths[i[r]];this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);while(e>n+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e<n&&r--,t=this.bidiMap.logicalFromVisual[r]):r>0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.wouldMoveIntoSoftTab(e,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(s)&&(t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0);if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return e.charAt(0)!="^"&&(e="^"+e),e.charAt(e.length-1)!="$"&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n,e):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m),d.consumeLineEnd&&(l=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=2e3),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next=="string"&&s.next.indexOf(t)!==0&&(s.next=t+s.next),s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u],f=null;Array.isArray(a)&&(f=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var l=a.next||a.push;if(l&&Array.isArray(l)){var c=a.stateName;c||(c=a.token,typeof c!="string"&&(c=c[0]||""),r[c]&&(c+=n++)),r[c]=l,a.next=c,i(c)}else l=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var h in a.rules)r[h]?r[h].push&&r[h].push.apply(r[h],a.rules[h]):r[h]=a.rules[h];var p=typeof a=="string"?a:a.include;p&&(Array.isArray(p)?f=p.map(function(e){return r[e]}):f=r[p]);if(f){var d=[u,1].concat(f);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o<r.length;o+=2)s.push(i+=r[o]),r[o+1]&&s.push(45,i+=r[o+1]);t.wordChars=String.fromCharCode.apply(null,s)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../config"),i=e("../tokenizer").Tokenizer,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("../unicode"),a=e("../lib/lang"),f=e("../token_iterator").TokenIterator,l=e("../range").Range,c=function(){this.HighlightRules=s};(function(){this.$defaultBehaviour=new o,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,u=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+a.escapeRegExp(c)+")"),d=new RegExp("(?:"+a.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:u},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(a.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=a.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,u,u)?i.insertInLine({row:t,column:u},y):i.insertInLine({row:t,column:u},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<u&&(u=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<o.length;t++)(function(e){var n=o[t],r=e[n];e[o[t]]=function(){return this.$delegator(n,arguments,r)}})(this)},this.$delegator=function(e,t,n){var r=t[0]||"start";if(typeof r!="string"){if(Array.isArray(r[2])){var i=r[2][r[2].length-1],s=this.$modes[i];if(s)return s[e].apply(s,[r[1]].concat([].slice.call(t,1)))}r=r[0]||"start"}for(var o=0;o<this.$embeds.length;o++){if(!this.$modes[this.$embeds[o]])continue;var u=r.split(this.$embeds[o]);if(!u[0]&&u[1]){t[0]=u[1];var s=this.$modes[this.$embeds[o]];return s[e].apply(s,t)}}var a=n.apply(this,t);return n?a:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),t.Mode=c}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o<r;o=u){u+=t-1;var a=n.slice(o,u);a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=s,this.applyDelta(e,!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:e+n[s-1].length+r}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc,s=t;while(n.lines[t])t++;var o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push("  "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[]};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.start,n=e.end,r=t.row,i=n.row,s=this.ranges;for(var o=0,u=s.length;o<u;o++){var a=s[o];if(a.end.row>=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;o<u;o++){var a=s[o];if(a.start.row>r)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column!=t.column||!this.$insertRight)&&(a.start.column+=l,a.start.row+=f);if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$insertRight)continue;a.end.column==t.column&&l>0&&o<u-1&&a.end.column>a.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;o<u;o++){var a=s[o];if(a.start.row>i)break;if(a.end.row<i&&(r<a.end.row||r==a.end.row&&t.column<a.end.column))a.end.row=r,a.end.column=t.column;else if(a.end.row==i)if(a.end.column<=n.column){if(f||a.end.column>t.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.row<i&&(r<a.start.row||r==a.start.row&&t.column<a.start.column))a.start.row=r,a.start.column=t.column;else if(a.start.row==i)if(a.start.column<=n.column){if(f||a.start.column>t.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o<u)for(;o<u;o++){var a=s[o];a.start.row+=f,a.end.row+=f}}}).call(s.prototype),t.RangeList=s}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function u(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function a(e,t){u(e.start,t),u(e.end,t)}function f(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function l(e,t){f(e.start,t),f(e.end,t)}var r=e("../range").Range,i=e("../range_list").RangeList,s=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};s.inherits(o,i),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);a(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r];if(i==0)return s.addSubFold(e);var t=e.range.end.row,n=e.range.end.column;for(var o=r,i=-1;o<this.subFolds.length;o++){i=this.subFolds[o].range.compare(t,n);if(i!=1)break}var u=this.subFolds[o];if(i==0)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);var f=this.subFolds.splice(r,o-r,e);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return l(e,this.start)}}.call(o.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s];if(o.range.contains(e,t)){if(n==1&&o.range.isEnd(e,t))continue;if(n==-1&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u<f||u==f&&a<=l-2){var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken(),u=s.type;if(s&&/^comment|string/.test(u)){u=u.match(/comment|string/)[0],u=="comment"&&(u+="|doc-start");var a=new RegExp(u),f=new r;if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}f.start.row=i.getCurrentTokenRow(),f.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){var l=-1;do{s=i.stepForward();if(l==-1){var c=this.getState(i.$row);a.test(c)||(l=i.$row)}else if(i.$row>l)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i<t;i++){r[i]==null&&(r[i]=this.getFoldWidget(i));if(r[i]!="start")continue;var s=this.getFoldWidgetRange(i);if(s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./bidihandler").BidiHandler,o=e("./config"),u=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,f=e("./mode/text").Mode,l=e("./range").Range,c=e("./document").Document,h=e("./background_tokenizer").BackgroundTokenizer,p=e("./search_highlight").SearchHighlight,d=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++d.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new c(e);this.setDocument(e),this.selection=new a(this),this.$bidiHandler=new s(this),o.resetOptions(this),this.setMode(t),o._signal("session",this)};d.$uid=0,function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null){var s=n.length-1;i=this.getLine(e).length}else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):"	"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker")},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new p(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new l(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new l(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes=o.$modes,this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new f);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,o.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new h(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){o.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;n<e.length;n++){var r=e[n];(r.action=="insert"||r.action=="remove")&&this.doc.applyDelta(r)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function n(e){return t?e.action!=="insert":e.action==="insert"}var r,i,s;for(var o=0;o<e.length;o++){var u=e[o];if(!u.start)continue;if(!r){n(u)?(r=l.fromPoints(u.start,u.end),s=!0):(r=l.fromPoints(u.start,u.start),s=!1);continue}n(u)?(i=u.start,r.compare(i.row,i.column)==-1&&r.setStart(i),i=u.end,r.compare(i.row,i.column)==1&&r.setEnd(i),s=!0):(i=u.start,r.compare(i.row,i.column)==-1&&(r=l.fromPoints(u.start,u.start)),s=!1)}return r},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=l.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)=="	"?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;f<u.length;f++)u[f]=s}else u=this.$getDisplayTokens(r[t].substring(o,i),a.length);a=a.concat(u)}.bind(this),f.end.row,r[f.end.row].length+1),o[f.start.row]=this.$computeWrapSplits(a,u,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),o[l]=this.$computeWrapSplits(a,u,i),l++)};var e=1,t=2,n=3,s=4,a=9,c=10,d=11,v=12;this.$computeWrapSplits=function(e,r,i){function g(){var t=0;if(m===0)return t;if(p)for(var n=0;n<e.length;n++){var r=e[n];if(r==c)t+=1;else{if(r!=d){if(r==v)continue;break}t+=i}}return h&&p!==!1&&(t+=i),Math.min(t,m)}function y(t){var n=t-f;for(var r=f;r<t;r++){var i=e[r];if(i===12||i===2)n-=1}o.length||(b=g(),o.indent=b),l+=n,o.push(l),f=t}if(e.length==0)return[];var o=[],u=e.length,f=0,l=0,h=this.$wrapAsCode,p=this.$indentedSoftWrap,m=r<=Math.max(2*i,8)||p===!1?0:Math.floor(r/2),b=0;while(u-f>r-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w<e.length;w++)if(e[w]!=s)break;if(w==e.length)break;y(w);continue}var E=Math.max(w-(r-(r>>2)),f-1);while(w>E&&e[w]<n)w--;if(h){while(w>E&&e[w]<n)w--;while(w>E&&e[w]==a)w--}else while(w>E&&e[w]<c)w--;if(w>E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var f=1;f<s;f++)i.push(v)}else u==32?i.push(c):u>39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i=0,s=0,o,u=0,a=0,f=this.$screenRowCache,l=this.$getRowCacheIndex(f,e),c=f.length;if(c&&l>=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;s<t.length;s++){i=t.charAt(s),i==="	"?r+=this.getScreenTabSize(r):r+=e.getCharacterWidth(i);if(r>n)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e);if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n=u(n,e));var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=t.backwards==1,i=t.skipCurrent!=0,s=t.range,o=t.start;o||(o=s?s[r?"end":"start"]:e.selection.getRange()),o.start&&(o=o[i!=r?"end":"start"]);var u=s?s.start.row:0,a=s?s.end.row:e.getLength()-1;if(r)var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n--;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&a<i||a===-1)return;for(var f=1;f<l;f++){u=e.getLine(o+f);if(u.search(n[f])==-1)return}var c=u.match(n[l-1])[0].length;if(r&&c>i)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;s<o.length;s++){var u=o[s],a=e(u);if(a>r)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"},{name:"openCommandPallete",description:"Open command pallete",bindKey:o("F1","F1"),exec:function(e){e.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:o(null,null),exec:function(e){e.prompt({$type:"modes"})},readOnly:!0}]}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,n){"use strict";n.exports={lineMode:!1}}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=e("./clipboard"),w=function(e,t,n){var r=e.getContainerElement();this.container=r,this.renderer=e,this.id="editor"+ ++w.$uid,this.commands=new v(o.isMac?"mac":"win",m),typeof document=="object"&&(this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new f(this)),this.keyBinding=new l(this),this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||n&&n.session||new c("")),g.resetOptions(this),n&&this.setOptions(n),g._signal("editor",this)};w.$uid=0,function(){r.implement(this,d),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;if(e==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;this._signal("beforeEndOperation");if(!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(i&&o>=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(u&&o<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var a=r.getCurrentTokenRow(),f=r.getCurrentTokenColumn(),l=new p(a,f,a,f+i.value.length),c=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&c!=undefined&&l.compareRange(c.range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),t.$tagHighlight||(t.$tagHighlight=t.addMarker(l,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.isFocused()||e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:Infinity;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;i<r.length;i++){var s=r[i];if(i&&r[i-1].start.row==s.start.row)continue;e+=this.session.getLine(s.start.row)+t}}var o={text:e};return this._signal("copy",o),b.lineMode=n?o.text:"",o.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text,n=t==b.lineMode,r=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?r.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach(function(e){r.insert({row:e.start.row,column:0},t)});else{var i=t.split(/\r\n|\r|\n/),s=this.selection.rangeList.ranges;if(i.length>s.length||i.length<2||!i[1])return this.commands.exec("insertstring",this,t);for(var o=s.length;o--;){var u=s[o];u.isEmpty()||r.remove(u),r.insert(u.start,i[o])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=s.text)}e=="	"&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()&&e.indexOf("\n")==-1){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r),this.session.selection.moveToPosition(i.end)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last,"	");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last,"	");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column-1]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l="	"}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"	")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(var r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}else this.toggleWord()},this.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],this.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),r=this.selection.getWordRange().start.column,i=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),o=t-r-1;o<0&&(o=0);var u=0,a=0,f=this;n.match(/[A-Za-z0-9_]+/)&&i.forEach(function(t,i){a=u+t.length,o>=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;h<l.length;h++){var p=l[h];for(var d=0;d<=1;d++){var v=+!d,m=n.match(new RegExp("^\\s?_?("+s.escapeRegExp(p[d])+")\\s?$","i"));if(m){var g=n.match(new RegExp("([_]|^|\\s)("+s.escapeRegExp(m[1])+")($|\\s)","g"));g&&(c=n.replace(new RegExp(s.escapeRegExp(p[d]),"i"),function(e){var t=p[v];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[v].charAt(0).toUpperCase()+t.substr(1)),t}),this.insert(c),c="")}}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n<t-1){var i=d(e[n],e[n+1]);e[n]=i[0],e[n+1]=i[1],n++}return!0}}}function a(e){var t=e.action=="insert",n=e.start,r=e.end,i=(r.row-n.row)*(t?1:-1),s=(r.column-n.column)*(t?1:-1);t&&(r=n);for(var o in this.marks){var a=this.marks[o],f=u(a,n);if(f<0)continue;if(f===0&&t){if(a.bias!=1){a.bias==-1;continue}f=1}var l=t?f:u(a,r);if(l>0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+="	("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!p(e[n],t[r])){while(n<e.length){while(r--)p(t[r],e[n]);r=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function v(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)o(e.start,t.start)<0?m(t,e,1):m(e,t,1);else if(n&&!r)o(e.start,t.end)>=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i],o=v(s,t);t=o[0],o.length!=2&&(o[2]?(r.splice(i+1,1,o[1],o[2]),i++):o[1]||(r.splice(i,1),i--))}r.length||e.splice(n,1)}return e}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];for(var i=0;i<r.length;i++)b(e,r[i])}}var r=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,n){if(this.$fromUndo)return;if(e==this.$lastDelta)return;if(t===!1||!this.lastDeltas)this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev;if(e.action=="remove"||e.action=="insert")this.$lastDelta=e;this.lastDeltas.push(e)},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack;for(var r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id<t&&(i.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){var n=this.selections;for(var r=n.length;r--;){var i=n[r];if(i.rev<e)return t&&(i=n[r+1]),i}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){t==null&&(t=this.$rev+1);var n=this.$undoStack,r=null,i=0;for(var s=n.length;s--;){var o=n[s][0];o.id<t&&!r&&(r=s+1);if(o.id<=e){i=s+1;break}}return n.slice(i,r)},this.getChangedRanges=function(e,t){t==null&&(t=this.$rev+1)},this.getChangedLines=function(e,t){t==null&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(!i(n,n.length))return;e||(e=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var r=n.pop(),s=null;return r&&r.length&&(s=e.undoChanges(r,t),this.$redoStack.push(r),this.$syncRev()),this.$fromUndo=!1,s},this.redo=function(e,t){this.lastDeltas=null,e||(e=this.$session),this.$fromUndo=!0;if(this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);w(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var r=this.$redoStack.pop(),i=null;return r&&(i=e.redoChanges(r,t),this.$undoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return this.$undoStack.length>0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},this.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement("afterbegin",e.element)},this.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},this.$cacheCell=function(e){if(!e)return;e.element.remove(),this.cellCache.push(e)},this.createCell=function(e,t,n,i){var s=this.cellCache.pop();if(!s){var o=r.createElement("div");i&&i(o),this.element.appendChild(o),s={element:o,text:"",row:e}}return s.row=e,s}}).call(i.prototype),t.Lines=i}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines"],function(e,t,n){"use strict";function f(e){var t=document.createTextNode("");e.appendChild(t);var n=r.createElement("span");return e.appendChild(n),e}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=e("./lines").Lines,a=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.start.row,n=e.end.row-t;if(n!==0)if(e.action=="remove")this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}},this.update=function(e){this.config=e;var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=r,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();var i=t.getNextFoldLine(n),s=i?i.start.row:Infinity,o=null,u=-1,a=n;for(;;){a>s&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var r=t[n];if(r.row>=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>r&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i<this.$cursorRow&&i>=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&i<n.end.row?v+=" ace_closed":v+=" ace_open",a.className!=v&&(a.className=v);var g=t.lineHeight+"px";r.setStyle(a.style,"height",g),r.setStyle(a.style,"display","inline-block")}else a&&r.setStyle(a.style,"display","none");var y=(h?h.getText(o,i):i+f).toString();return y!==u.data&&(u.data=y),r.setStyle(e.element.style,"height",this.$lines.computeLineHeight(i,t,o)+"px"),r.setStyle(e.element.style,"top",this.$lines.computeLineTop(i,t,o)+"px"),e.text=y,e},this.$fixedWidth=!1,this.$highlightGutterLine=!0,this.$renderer="",this.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.i<this.element.childElementCount)this.element.removeChild(this.element.lastChild)},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1<f?u.getScreenLastRowColumn(l+1):l==f?0:n.end.column,this.drawSingleLineMarker(t,d,i+(l==a?" ace_start":"")+" ace_br"+e(l==a||l==a+1&&n.start.column,c<h,h>p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)if(this.showInvisibles){var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_tab",r.textContent=s.stringRepeat(this.TAB_CHAR,n),t.push(r)}else t.push(this.dom.createTextNode(s.stringRepeat(" ",n),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i="ace_indent-guide",o="",u="";if(this.showInvisibles){i+=" ace_invisible",o=" ace_invisible_space",u=" ace_invisible_tab";var a=s.stringRepeat(this.SPACE_CHAR,this.tabSize),f=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var a=s.stringRepeat(" ",this.tabSize),f=a;var r=this.dom.createElement("span");r.className=i+o,r.textContent=a,this.$tabStrings[" "]=r;var r=this.dom.createElement("span");r.className=i+u,r.textContent=f,this.$tabStrings["	"]=r}},this.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var f=!1,u=r,a=this.session.getNextFoldLine(u),l=a?a.start.row:Infinity;for(;;){u>l&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1);var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o<this.$lines.cells.length){var p=this.$lines.cells[o++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+"px"}},this.scrollLines=function(e){var t=this.config;this.config=e;if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,r=t?t.lastRow:-1;if(!t||r<e.firstRow)return this.update(e);if(n<t.firstRow)return this.update(e);if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){var y=i.showInvisibles?i.SPACE_CHAR:"";t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:"",u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var b="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=b,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s<i;s++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return t.substr(r)}if(t[0]=="	"){for(var s=0;s<r;s++)e.appendChild(this.$tabStrings["	"].cloneNode(!0));return t.substr(r)}return t},this.$createLineElement=function(e){var t=this.dom.createElement("div");return t.className="ace_line",t.style.height=this.config.lineHeight+"px",t},this.$renderWrappedLine=function(e,t,n){var r=0,i=0,o=n[0],u=0,a=this.$createLineElement();e.appendChild(a);for(var f=0;f<t.length;f++){var l=t[f],c=l.value;if(f==0&&this.displayIndentGuides){r=c.length,c=this.renderIndentGuide(a,c,o);if(!c)continue;r-=c.length}if(r+c.length<o)u=this.$renderToken(a,u,l,c),r+=c.length;else{while(r+c.length>=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++){r=t[s],i=r.value;if(n+i.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r){this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var i=this.dom.createElement("span");i.className="ace_inline_button ace_keyword ace_toggle_wrap",i.style.position="absolute",i.style.right="0",i.textContent="<click to see more...>",e.appendChild(i)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,s=t.length;n<s;n++){var o=this.getPixelPosition(t[n].cursor,!0);if((o.top>e.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius    : 3px;}.ace_br2 {border-top-right-radius   : 3px;}.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block;   }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){var e=this.textarea.style;if(!this.$keepTextAreaAtCursor){i.translate(this.textarea,-100,0);return}var t=this.$cursorLayer.$pixelPos;if(!t)return;var n=this.$composition;n&&n.markerRange&&(t=this.$cursorLayer.getPixelPosition(n.markerRange.start,!0));var r=this.layerConfig,s=t.top,o=t.left;s-=r.offset;var u=n&&n.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1;if(!n)s+=this.lineHeight;else if(n.useTextareaForIME){var f=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(f)[0],u+=2}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,this.$size.height-u))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&a+this.$size.scrollerHeight-u<s-this.lineHeight&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight+u-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText,e.keepTextAreaAtCursor=this.$keepTextAreaAtCursor),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a<o.length;a++){var f=o[a];u+=f.value.length;if(r<=u){var l=f.value.length-(u-r),c=f.value.slice(0,l),h=f.value.slice(l);o.splice(a,1,{type:f.type,value:c},s,{type:f.type,value:h});break}}}this.updateLines(n,n)},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");r.$id&&(n.$themeId=r.$id),i.importCssString(r.cssText,r.cssClass,n.container),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){i.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){i.importCssString(v,"ace_editor.css",this.container)},this.destroy=function(){this.$fontMetrics.destroy(),this.$cursorLayer.destroy()}}).call(y.prototype),s.defineOptions(y.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!m.isMobile&&!m.isIE}}),t.VirtualRenderer=y}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}function a(e){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(o.get("loadWorkerFromBlob")){var t=u(e),n=window.URL||window.webkitURL,r=n.createObjectURL(t);return new Worker(r)}return new Worker(e)}var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),f=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.$createWorkerFromOldConfig=function(t,n,r,i,s){e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var u=this.$normalizePath;i=i||u(e.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(t){f[t]=u(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=a(i),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:f,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row!==t.end.row)return;if(t.start.row!==this.pos.row)return;this.$updating=!0;var n=e.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S=o?"block":"add":n&&l.$blockSelectEnabled&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&l.$blockSelectEnabled&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column,e.offsetX);if(s(E,e)&&s(t,c.lead))return;E=e,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers()};h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),E={row:-1,column:-1};var L=function(e){k(),clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column,a=e.offsetX,f=t.offsetX;else var o=t.column,u=e.column,a=t.offsetX,f=e.offsetX;var l=e.row<t.row;if(l)var c=e.row,h=t.row;else var c=t.row,h=e.row;o<0&&(o=0),c<0&&(c=0),c==h&&(n=!0);var p;for(var d=c;d<=h;d++){var m=i.fromPoints(this.session.screenToDocumentPosition(d,o,a),this.session.screenToDocumentPosition(d,u,f));if(m.isEmpty()){if(p&&v(m.end,p))break;p=m.end}m.cursor=s?m.start:m.end,r.push(m)}l&&r.reverse();if(!n){var g=r.length-1;while(r[g].isEmpty()&&g>0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect,s=i.toOrientedRange();if(s.isEmpty()){s=r.getWordRange(s.start.row,s.start.column),s.cursor=e==-1?s.start:s.end,this.multiSelect.addRange(s);if(n)return}var o=r.getTextRange(s),u=h(r,o,e);u&&(u.cursor=e==-1?u.start:u.end,this.session.unfold(u),this.multiSelect.addRange(u),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f<c);do h=this.session.getLine(u);while(/[=:]/.test(h)&&--u>0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),i<v&&(v=i),i});n.forEach(function(t,n){var r=t.cursor,s=d-r.column,o=m[n]-v;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),s<t[2].length&&(s=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o)break;l=t}if(l>f){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u<s;u++)n[u]&&(n[u].hidden=o);n[s]&&(o?n[i]?n[s].hidden=o:n[i]=n[s]:(n[i]==n[s]&&(n[i]=undefined),n[s].hidden=o))},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action=="remove"){var i=t.splice(n+1,r);i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(r);s.unshift(n,0),t.splice.apply(t,s),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){if(e){t=!1,e.row=n;while(e.$oldWidget)e.$oldWidget.row=n,e=e.$oldWidget}}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight==null&&(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);e.$fold=r;if(r){var s=this.session.lineWidgets;e.row==r.end.row&&!s[r.start.row]?s[r.start.row]=e:e.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else while(n){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){var t=this.session.lineWidgets,n=t&&t[e],r=[];while(n)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s<n.length;s++){var o=n[s];if(!o||!o.el)continue;if(o.session!=this.session)continue;if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var u=o.h/r.lineHeight;o.coverLine&&(u-=this.session.getRowLineCount(o.row),u<0&&(u=0)),o.rowCount!=u&&(o.rowCount=u,o.row<i&&(i=o.row))}i!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(!r)return;var i=Math.min(this.firstRow,n.firstRow),s=Math.max(this.lastRow,n.lastRow,r.length);while(i>0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString("    .error_widget_wrapper {        background: inherit;        color: inherit;        border:none    }    .error_widget {        border-top: solid 2px;        border-bottom: solid 2px;        margin: 5px 0;        padding: 10px 40px;        white-space: pre-wrap;    }    .error_widget.ace_error, .error_widget_arrow.ace_error{        border-color: #ff5a5a    }    .error_widget.ace_warning, .error_widget_arrow.ace_warning{        border-color: #F1D817    }    .error_widget.ace_info, .error_widget_arrow.ace_info{        border-color: #5a5a5a    }    .error_widget.ace_ok, .error_widget_arrow.ace_ok{        border-color: #5aaa5a    }    .error_widget_arrow {        position: absolute;        border: solid 5px;        border-top-color: transparent!important;        border-right-color: transparent!important;        border-left-color: transparent!important;        top: -5px;    }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version="1.4.4"});            (function() {
+                ace.require(["ace/ace"], function(a) {
+                    if (a) {
+                        a.config.init(true);
+                        a.define = ace.define;
+                    }
+                    if (!window.ace)
+                        window.ace = a;
+                    for (var key in a) if (a.hasOwnProperty(key))
+                        window.ace[key] = a[key];
+                    window.ace["default"] = window.ace;
+                    if (typeof module == "object" && typeof exports == "object" && module) {
+                        module.exports = window.ace;
+                    }
+                });
+            })();
diff --git a/src/theme/playground_editor/editor.js b/src/theme/playground_editor/editor.js
new file mode 100644
index 0000000..464790c
--- /dev/null
+++ b/src/theme/playground_editor/editor.js
@@ -0,0 +1,29 @@
+"use strict";
+window.editors = [];
+(function(editors) {
+    if (typeof(ace) === 'undefined' || !ace) {
+        return;
+    }
+
+    Array.from(document.querySelectorAll('.editable')).forEach(function(editable) {
+        let display_line_numbers = window.playground_line_numbers || false;
+
+        let editor = ace.edit(editable);
+            editor.setOptions({
+            highlightActiveLine: false,
+            showPrintMargin: false,
+            showLineNumbers: display_line_numbers,
+            showGutter: display_line_numbers,
+            maxLines: Infinity,
+            fontSize: "0.875em" // please adjust the font size of the code in general.css
+        });
+
+        editor.$blockScrolling = Infinity;
+
+        editor.getSession().setMode("ace/mode/rust");
+
+        editor.originalCode = editor.getValue();
+
+        editors.push(editor);
+    });
+})(window.editors);
diff --git a/src/theme/playground_editor/mod.rs b/src/theme/playground_editor/mod.rs
new file mode 100644
index 0000000..19dbf4b
--- /dev/null
+++ b/src/theme/playground_editor/mod.rs
@@ -0,0 +1,7 @@
+//! Theme dependencies for the playground editor.
+
+pub static JS: &[u8] = include_bytes!("editor.js");
+pub static ACE_JS: &[u8] = include_bytes!("ace.js");
+pub static MODE_RUST_JS: &[u8] = include_bytes!("mode-rust.js");
+pub static THEME_DAWN_JS: &[u8] = include_bytes!("theme-dawn.js");
+pub static THEME_TOMORROW_NIGHT_JS: &[u8] = include_bytes!("theme-tomorrow_night.js");
diff --git a/src/theme/playground_editor/mode-rust.js b/src/theme/playground_editor/mode-rust.js
new file mode 100644
index 0000000..efe35ba
--- /dev/null
+++ b/src/theme/playground_editor/mode-rust.js
@@ -0,0 +1,7 @@
+ace.define("ace/mode/rust_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=/\\(?:[nrt0'"\\]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source,o=function(){this.$rules={start:[{token:"variable.other.source.rust",regex:"'[a-zA-Z_][a-zA-Z0-9_]*(?![\\'])"},{token:"string.quoted.single.source.rust",regex:"'(?:[^'\\\\]|"+s+")'"},{token:"identifier",regex:/r#[a-zA-Z_][a-zA-Z0-9_]*\b/},{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-1,t),"string.quoted.raw.source.rust"},regex:/r#*"/,next:[{onMatch:function(e,t,n){var r="string.quoted.raw.source.rust";return e.length>=n[1]?(e.length>n[1]&&(r="invalid"),n.shift(),n.shift(),this.next=n.shift()):this.next="",r},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:s},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)((?:r#)?[a-zA-Z_][a-zA-Z0-9_]*)"},{token:"support.constant",regex:"\\b[a-zA-Z_][\\w\\d]*::"},{token:"keyword.source.rust",regex:"\\b(?:abstract|alignof|as|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b"},{token:"storage.type.source.rust",regex:"\\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|u128|f16|f32|f64|i8|i16|i32|i64|i128|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t)\\b"},{token:"variable.language.source.rust",regex:"\\bself\\b"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/},{token:"punctuation.operator",regex:/[?:,;.]/},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"constant.language.source.rust",regex:"\\b(?:true|false|Some|None|Ok|Err)\\b"},{token:"support.constant.source.rust",regex:"\\b(?:EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO)\\b"},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{token:"constant.numeric.source.rust",regex:/\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64|128))?\b/},{token:"constant.numeric.source.rust",regex:/\b(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.normalizeRules()};o.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(o,i),t.RustHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rust_highlight_rules").RustHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$quotes={'"':'"'},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u});                (function() {
+                    ace.require(["ace/mode/rust"], function(m) {
+                        if (typeof module == "object" && typeof exports == "object" && module) {
+                            module.exports = m;
+                        }
+                    });
+                })();
diff --git a/src/theme/playground_editor/theme-dawn.js b/src/theme/playground_editor/theme-dawn.js
new file mode 100644
index 0000000..af391d0
--- /dev/null
+++ b/src/theme/playground_editor/theme-dawn.js
@@ -0,0 +1,7 @@
+ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn {background-color: #F9F9F9;color: #080808}.ace-dawn .ace_cursor {color: #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_list,.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_heading,.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});                (function() {
+                    ace.require(["ace/theme/dawn"], function(m) {
+                        if (typeof module == "object" && typeof exports == "object" && module) {
+                            module.exports = m;
+                        }
+                    });
+                })();
diff --git a/src/theme/playground_editor/theme-tomorrow_night.js b/src/theme/playground_editor/theme-tomorrow_night.js
new file mode 100644
index 0000000..7620b2a
--- /dev/null
+++ b/src/theme/playground_editor/theme-tomorrow_night.js
@@ -0,0 +1,7 @@
+ace.define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night",t.cssText=".ace-tomorrow-night .ace_gutter {background: #25282c;color: #C5C8C6}.ace-tomorrow-night .ace_print-margin {width: 1px;background: #25282c}.ace-tomorrow-night {background-color: #1D1F21;color: #C5C8C6}.ace-tomorrow-night .ace_cursor {color: #AEAFAD}.ace-tomorrow-night .ace_marker-layer .ace_selection {background: #373B41}.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1D1F21;}.ace-tomorrow-night .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #4B4E55}.ace-tomorrow-night .ace_marker-layer .ace_active-line {background: #282A2E}.ace-tomorrow-night .ace_gutter-active-line {background-color: #282A2E}.ace-tomorrow-night .ace_marker-layer .ace_selected-word {border: 1px solid #373B41}.ace-tomorrow-night .ace_invisible {color: #4B4E55}.ace-tomorrow-night .ace_keyword,.ace-tomorrow-night .ace_meta,.ace-tomorrow-night .ace_storage,.ace-tomorrow-night .ace_storage.ace_type,.ace-tomorrow-night .ace_support.ace_type {color: #B294BB}.ace-tomorrow-night .ace_keyword.ace_operator {color: #8ABEB7}.ace-tomorrow-night .ace_constant.ace_character,.ace-tomorrow-night .ace_constant.ace_language,.ace-tomorrow-night .ace_constant.ace_numeric,.ace-tomorrow-night .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night .ace_support.ace_constant,.ace-tomorrow-night .ace_variable.ace_parameter {color: #DE935F}.ace-tomorrow-night .ace_constant.ace_other {color: #CED1CF}.ace-tomorrow-night .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night .ace_fold {background-color: #81A2BE;border-color: #C5C8C6}.ace-tomorrow-night .ace_entity.ace_name.ace_function,.ace-tomorrow-night .ace_support.ace_function,.ace-tomorrow-night .ace_variable {color: #81A2BE}.ace-tomorrow-night .ace_support.ace_class,.ace-tomorrow-night .ace_support.ace_type {color: #F0C674}.ace-tomorrow-night .ace_heading,.ace-tomorrow-night .ace_markup.ace_heading,.ace-tomorrow-night .ace_string {color: #B5BD68}.ace-tomorrow-night .ace_entity.ace_name.ace_tag,.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night .ace_meta.ace_tag,.ace-tomorrow-night .ace_string.ace_regexp,.ace-tomorrow-night .ace_variable {color: #CC6666}.ace-tomorrow-night .ace_comment {color: #969896}.ace-tomorrow-night .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});                (function() {
+                    ace.require(["ace/theme/tomorrow_night"], function(m) {
+                        if (typeof module == "object" && typeof exports == "object" && module) {
+                            module.exports = m;
+                        }
+                    });
+                })();
diff --git a/src/theme/redirect.hbs b/src/theme/redirect.hbs
new file mode 100644
index 0000000..d0532a5
--- /dev/null
+++ b/src/theme/redirect.hbs
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Redirecting...</title>
+    <meta http-equiv="refresh" content="0; URL={{url}}">
+    <link rel="canonical" href="{{url}}">
+  </head>
+  <body>
+      <p>Redirecting to... <a href="{{url}}">{{url}}</a>.</p>
+  </body>
+</html>
diff --git a/src/theme/searcher/elasticlunr.min.js b/src/theme/searcher/elasticlunr.min.js
new file mode 100644
index 0000000..94b20dd
--- /dev/null
+++ b/src/theme/searcher/elasticlunr.min.js
@@ -0,0 +1,10 @@
+/**
+ * elasticlunr - http://weixsong.github.io
+ * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5
+ *
+ * Copyright (C) 2017 Oliver Nightingale
+ * Copyright (C) 2017 Wei Song
+ * MIT Licensed
+ * @license
+ */
+!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u<s.length;u++){var a=s[u];r[a]=this.pipeline.run(t.tokenizer(e[a]))}var l={};for(var c in o){var d=r[c]||r.any;if(d){var f=this.fieldSearch(d,c,o),h=o[c].boost;for(var p in f)f[p]=f[p]*h;for(var p in f)p in l?l[p]+=f[p]:l[p]=f[p]}}var v,g=[];for(var p in l)v={ref:p,score:l[p]},this.documentStore.hasDoc(p)&&(v.doc=this.documentStore.getDoc(p)),g.push(v);return g.sort(function(e,t){return t.score-e.score}),g},t.Index.prototype.fieldSearch=function(e,t,n){var i=n[t].bool,o=n[t].expand,r=n[t].boost,s=null,u={};return 0!==r?(e.forEach(function(e){var n=[e];1==o&&(n=this.index[t].expandToken(e));var r={};n.forEach(function(n){var o=this.index[t].getDocs(n),a=this.idf(n,t);if(s&&"AND"==i){var l={};for(var c in s)c in o&&(l[c]=o[c]);o=l}n==e&&this.fieldSearchStats(u,n,o);for(var c in o){var d=this.index[t].getTermFrequency(n,c),f=this.documentStore.getFieldLength(c,t),h=1;0!=f&&(h=1/Math.sqrt(f));var p=1;n!=e&&(p=.15*(1-(n.length-e.length)/n.length));var v=d*a*h*p;c in r?r[c]+=v:r[c]=v}},this),s=this.mergeScores(s,r,i)},this),s=this.coordNorm(s,u,e.length)):void 0},t.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var i={};for(var o in t)o in e&&(i[o]=e[o]+t[o]);return i}for(var o in t)o in e?e[o]+=t[o]:e[o]=t[o];return e},t.Index.prototype.fieldSearchStats=function(e,t,n){for(var i in n)i in e?e[i].push(t):e[i]=[t]},t.Index.prototype.coordNorm=function(e,t,n){for(var i in e)if(i in t){var o=t[i].length;e[i]=e[i]*o/n}return e},t.Index.prototype.toJSON=function(){var e={};return this._fields.forEach(function(t){e[t]=this.index[t].toJSON()},this),{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:e,pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},t.DocumentStore=function(e){this._save=null===e||void 0===e?!0:e,this.docs={},this.docInfo={},this.length=0},t.DocumentStore.load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},t.DocumentStore.prototype.isDocStored=function(){return this._save},t.DocumentStore.prototype.addDoc=function(t,n){this.hasDoc(t)||this.length++,this.docs[t]=this._save===!0?e(n):null},t.DocumentStore.prototype.getDoc=function(e){return this.hasDoc(e)===!1?null:this.docs[e]},t.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},t.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},t.DocumentStore.prototype.addFieldLength=function(e,t,n){null!==e&&void 0!==e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},t.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!==e&&void 0!==e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},t.DocumentStore.prototype.getFieldLength=function(e,t){return null===e||void 0===e?0:e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},t.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,u="^("+o+")?"+r+o+"("+r+")?$",a="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,c=new RegExp(s),d=new RegExp(a),f=new RegExp(u),h=new RegExp(l),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,x=new RegExp("([^aeiouylsz])\\1$"),w=new RegExp("^"+o+i+"[^aeiouwxy]$"),I=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,D=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,_=/^(.+?)e$/,P=/ll$/,k=new RegExp("^"+o+i+"[^aeiouwxy]$"),z=function(n){var i,o,r,s,u,a,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,u=v,s.test(n)?n=n.replace(s,"$1$2"):u.test(n)&&(n=n.replace(u,"$1$2")),s=g,u=m,s.test(n)){var z=s.exec(n);s=c,s.test(z[1])&&(s=y,n=n.replace(s,""))}else if(u.test(n)){var z=u.exec(n);i=z[1],u=h,u.test(i)&&(n=i,u=S,a=x,l=w,u.test(n)?n+="e":a.test(n)?(s=y,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=I,s.test(n)){var z=s.exec(n);i=z[1],n=i+"i"}if(s=b,s.test(n)){var z=s.exec(n);i=z[1],o=z[2],s=c,s.test(i)&&(n=i+e[o])}if(s=E,s.test(n)){var z=s.exec(n);i=z[1],o=z[2],s=c,s.test(i)&&(n=i+t[o])}if(s=D,u=F,s.test(n)){var z=s.exec(n);i=z[1],s=d,s.test(i)&&(n=i)}else if(u.test(n)){var z=u.exec(n);i=z[1]+z[2],u=d,u.test(i)&&(n=i)}if(s=_,s.test(n)){var z=s.exec(n);i=z[1],s=d,u=f,a=k,(s.test(i)||u.test(i)&&!a.test(i))&&(n=i)}return s=P,u=d,s.test(n)&&u.test(n)&&(s=y,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return z}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==!0?e:void 0},t.clearStopWords=function(){t.stopWordFilter.stopWords={}},t.addStopWords=function(e){null!=e&&Array.isArray(e)!==!1&&e.forEach(function(e){t.stopWordFilter.stopWords[e]=!0},this)},t.resetStopWords=function(){t.stopWordFilter.stopWords=t.defaultStopWords},t.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,"do":!0,does:!0,either:!0,"else":!0,ever:!0,every:!0,"for":!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,"if":!0,"in":!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,"this":!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,"while":!0,who:!0,whom:!0,why:!0,will:!0,"with":!0,would:!0,yet:!0,you:!0,your:!0},t.stopWordFilter.stopWords=t.defaultStopWords,t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(e){if(null===e||void 0===e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.InvertedIndex=function(){this.root={docs:{},df:0}},t.InvertedIndex.load=function(e){var t=new this;return t.root=e.root,t},t.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,i=0;i<=e.length-1;){var o=e[i];o in n||(n[o]={docs:{},df:0}),i+=1,n=n[o]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},t.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},t.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},t.InvertedIndex.prototype.getDocs=function(e){var t=this.getNode(e);return null==t?{}:t.docs},t.InvertedIndex.prototype.getTermFrequency=function(e,t){var n=this.getNode(e);return null==n?0:t in n.docs?n.docs[t].tf:0},t.InvertedIndex.prototype.getDocFreq=function(e){var t=this.getNode(e);return null==t?0:t.df},t.InvertedIndex.prototype.removeToken=function(e,t){if(e){var n=this.getNode(e);null!=n&&t in n.docs&&(delete n.docs[t],n.df-=1)}},t.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];var t=t||[];if(void 0==n&&(n=this.getNode(e),null==n))return t;n.df>0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e<arguments.length;e++)t=arguments[e],~this.indexOf(t)||this.elements.splice(this.locationFor(t),0,t);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]<u[i]?n++:s[n]>u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o<r.length;o++)i.add(r[o]);return i},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.elasticlunr=t()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/src/theme/searcher/mark.min.js b/src/theme/searcher/mark.min.js
new file mode 100644
index 0000000..1636231
--- /dev/null
+++ b/src/theme/searcher/mark.min.js
@@ -0,0 +1,7 @@
+/*!***************************************************
+* mark.js v8.11.1
+* https://markjs.io/
+* Copyright (c) 2014–2018, Julian Kühnel
+* Released under the MIT license https://git.io/vwTVl
+*****************************************************/
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a<o;a++){var s=e.textContent.indexOf(t[a]);t[a]&&s>-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapGroups(t,s,i[a].length,r)}e.lastIndex=0}}),i()})}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}i()})}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var i=this;this.getTextNodes(function(o){var a=o.value.length;e.forEach(function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,u=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,u,function(n){return t(n,e,o.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,i="wrapMatches";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),this[i](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,i="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),s=a.keywords,c=a.length;this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),0===c?this.opt.done(r):function e(t){var a=new o(n.opt).create(t),u=0;n.log('Searching with expression "'+a+'"'),n[i](a,1,function(e,i){return n.opt.filter(i,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),s[c-1]===t?n.opt.done(r):e(s[s.indexOf(t)+1])})}(s[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(i)),this.wrapRangeFromIndex(i,function(e,t,r,i){return n.opt.filter(e,t,r,i)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,acrossElements:!1,ignoreGroups:0,each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();return function(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}});
diff --git a/src/theme/searcher/mod.rs b/src/theme/searcher/mod.rs
new file mode 100644
index 0000000..d5029db
--- /dev/null
+++ b/src/theme/searcher/mod.rs
@@ -0,0 +1,6 @@
+//! Theme dependencies for in-browser search. Not included in mdbook when
+//! the "search" cargo feature is disabled.
+
+pub static JS: &[u8] = include_bytes!("searcher.js");
+pub static MARK_JS: &[u8] = include_bytes!("mark.min.js");
+pub static ELASTICLUNR_JS: &[u8] = include_bytes!("elasticlunr.min.js");
diff --git a/src/theme/searcher/searcher.js b/src/theme/searcher/searcher.js
new file mode 100644
index 0000000..d2b0aee
--- /dev/null
+++ b/src/theme/searcher/searcher.js
@@ -0,0 +1,483 @@
+"use strict";
+window.search = window.search || {};
+(function search(search) {
+    // Search functionality
+    //
+    // You can use !hasFocus() to prevent keyhandling in your key
+    // event handlers while the user is typing their search.
+
+    if (!Mark || !elasticlunr) {
+        return;
+    }
+
+    //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
+    if (!String.prototype.startsWith) {
+        String.prototype.startsWith = function(search, pos) {
+            return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
+        };
+    }
+
+    var search_wrap = document.getElementById('search-wrapper'),
+        searchbar = document.getElementById('searchbar'),
+        searchbar_outer = document.getElementById('searchbar-outer'),
+        searchresults = document.getElementById('searchresults'),
+        searchresults_outer = document.getElementById('searchresults-outer'),
+        searchresults_header = document.getElementById('searchresults-header'),
+        searchicon = document.getElementById('search-toggle'),
+        content = document.getElementById('content'),
+
+        searchindex = null,
+        doc_urls = [],
+        results_options = {
+            teaser_word_count: 30,
+            limit_results: 30,
+        },
+        search_options = {
+            bool: "AND",
+            expand: true,
+            fields: {
+                title: {boost: 1},
+                body: {boost: 1},
+                breadcrumbs: {boost: 0}
+            }
+        },
+        mark_exclude = [],
+        marker = new Mark(content),
+        current_searchterm = "",
+        URL_SEARCH_PARAM = 'search',
+        URL_MARK_PARAM = 'highlight',
+        teaser_count = 0,
+
+        SEARCH_HOTKEY_KEYCODE = 83,
+        ESCAPE_KEYCODE = 27,
+        DOWN_KEYCODE = 40,
+        UP_KEYCODE = 38,
+        SELECT_KEYCODE = 13;
+
+    function hasFocus() {
+        return searchbar === document.activeElement;
+    }
+
+    function removeChildren(elem) {
+        while (elem.firstChild) {
+            elem.removeChild(elem.firstChild);
+        }
+    }
+
+    // Helper to parse a url into its building blocks.
+    function parseURL(url) {
+        var a =  document.createElement('a');
+        a.href = url;
+        return {
+            source: url,
+            protocol: a.protocol.replace(':',''),
+            host: a.hostname,
+            port: a.port,
+            params: (function(){
+                var ret = {};
+                var seg = a.search.replace(/^\?/,'').split('&');
+                var len = seg.length, i = 0, s;
+                for (;i<len;i++) {
+                    if (!seg[i]) { continue; }
+                    s = seg[i].split('=');
+                    ret[s[0]] = s[1];
+                }
+                return ret;
+            })(),
+            file: (a.pathname.match(/\/([^/?#]+)$/i) || [,''])[1],
+            hash: a.hash.replace('#',''),
+            path: a.pathname.replace(/^([^/])/,'/$1')
+        };
+    }
+    
+    // Helper to recreate a url string from its building blocks.
+    function renderURL(urlobject) {
+        var url = urlobject.protocol + "://" + urlobject.host;
+        if (urlobject.port != "") {
+            url += ":" + urlobject.port;
+        }
+        url += urlobject.path;
+        var joiner = "?";
+        for(var prop in urlobject.params) {
+            if(urlobject.params.hasOwnProperty(prop)) {
+                url += joiner + prop + "=" + urlobject.params[prop];
+                joiner = "&";
+            }
+        }
+        if (urlobject.hash != "") {
+            url += "#" + urlobject.hash;
+        }
+        return url;
+    }
+    
+    // Helper to escape html special chars for displaying the teasers
+    var escapeHTML = (function() {
+        var MAP = {
+            '&': '&amp;',
+            '<': '&lt;',
+            '>': '&gt;',
+            '"': '&#34;',
+            "'": '&#39;'
+        };
+        var repl = function(c) { return MAP[c]; };
+        return function(s) {
+            return s.replace(/[&<>'"]/g, repl);
+        };
+    })();
+    
+    function formatSearchMetric(count, searchterm) {
+        if (count == 1) {
+            return count + " search result for '" + searchterm + "':";
+        } else if (count == 0) {
+            return "No search results for '" + searchterm + "'.";
+        } else {
+            return count + " search results for '" + searchterm + "':";
+        }
+    }
+    
+    function formatSearchResult(result, searchterms) {
+        var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms);
+        teaser_count++;
+
+        // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor
+        var url = doc_urls[result.ref].split("#");
+        if (url.length == 1) { // no anchor found
+            url.push("");
+        }
+
+        // encodeURIComponent escapes all chars that could allow an XSS except
+        // for '. Due to that we also manually replace ' with its url-encoded
+        // representation (%27).
+        var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27");
+
+        return '<a href="' + path_to_root + url[0] + '?' + URL_MARK_PARAM + '=' + searchterms + '#' + url[1]
+            + '" aria-details="teaser_' + teaser_count + '">' + result.doc.breadcrumbs + '</a>'
+            + '<span class="teaser" id="teaser_' + teaser_count + '" aria-label="Search Result Teaser">' 
+            + teaser + '</span>';
+    }
+    
+    function makeTeaser(body, searchterms) {
+        // The strategy is as follows:
+        // First, assign a value to each word in the document:
+        //  Words that correspond to search terms (stemmer aware): 40
+        //  Normal words: 2
+        //  First word in a sentence: 8
+        // Then use a sliding window with a constant number of words and count the
+        // sum of the values of the words within the window. Then use the window that got the
+        // maximum sum. If there are multiple maximas, then get the last one.
+        // Enclose the terms in <em>.
+        var stemmed_searchterms = searchterms.map(function(w) {
+            return elasticlunr.stemmer(w.toLowerCase());
+        });
+        var searchterm_weight = 40;
+        var weighted = []; // contains elements of ["word", weight, index_in_document]
+        // split in sentences, then words
+        var sentences = body.toLowerCase().split('. ');
+        var index = 0;
+        var value = 0;
+        var searchterm_found = false;
+        for (var sentenceindex in sentences) {
+            var words = sentences[sentenceindex].split(' ');
+            value = 8;
+            for (var wordindex in words) {
+                var word = words[wordindex];
+                if (word.length > 0) {
+                    for (var searchtermindex in stemmed_searchterms) {
+                        if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) {
+                            value = searchterm_weight;
+                            searchterm_found = true;
+                        }
+                    };
+                    weighted.push([word, value, index]);
+                    value = 2;
+                }
+                index += word.length;
+                index += 1; // ' ' or '.' if last word in sentence
+            };
+            index += 1; // because we split at a two-char boundary '. '
+        };
+
+        if (weighted.length == 0) {
+            return body;
+        }
+
+        var window_weight = [];
+        var window_size = Math.min(weighted.length, results_options.teaser_word_count);
+
+        var cur_sum = 0;
+        for (var wordindex = 0; wordindex < window_size; wordindex++) {
+            cur_sum += weighted[wordindex][1];
+        };
+        window_weight.push(cur_sum);
+        for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) {
+            cur_sum -= weighted[wordindex][1];
+            cur_sum += weighted[wordindex + window_size][1];
+            window_weight.push(cur_sum);
+        };
+
+        if (searchterm_found) {
+            var max_sum = 0;
+            var max_sum_window_index = 0;
+            // backwards
+            for (var i = window_weight.length - 1; i >= 0; i--) {
+                if (window_weight[i] > max_sum) {
+                    max_sum = window_weight[i];
+                    max_sum_window_index = i;
+                }
+            };
+        } else {
+            max_sum_window_index = 0;
+        }
+
+        // add <em/> around searchterms
+        var teaser_split = [];
+        var index = weighted[max_sum_window_index][2];
+        for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) {
+            var word = weighted[i];
+            if (index < word[2]) {
+                // missing text from index to start of `word`
+                teaser_split.push(body.substring(index, word[2]));
+                index = word[2];
+            }
+            if (word[1] == searchterm_weight) {
+                teaser_split.push("<em>")
+            }
+            index = word[2] + word[0].length;
+            teaser_split.push(body.substring(word[2], index));
+            if (word[1] == searchterm_weight) {
+                teaser_split.push("</em>")
+            }
+        };
+
+        return teaser_split.join('');
+    }
+
+    function init(config) {
+        results_options = config.results_options;
+        search_options = config.search_options;
+        searchbar_outer = config.searchbar_outer;
+        doc_urls = config.doc_urls;
+        searchindex = elasticlunr.Index.load(config.index);
+
+        // Set up events
+        searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false);
+        searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false);
+        document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false);
+        // If the user uses the browser buttons, do the same as if a reload happened
+        window.onpopstate = function(e) { doSearchOrMarkFromUrl(); };
+        // Suppress "submit" events so the page doesn't reload when the user presses Enter
+        document.addEventListener('submit', function(e) { e.preventDefault(); }, false);
+
+        // If reloaded, do the search or mark again, depending on the current url parameters
+        doSearchOrMarkFromUrl();
+    }
+    
+    function unfocusSearchbar() {
+        // hacky, but just focusing a div only works once
+        var tmp = document.createElement('input');
+        tmp.setAttribute('style', 'position: absolute; opacity: 0;');
+        searchicon.appendChild(tmp);
+        tmp.focus();
+        tmp.remove();
+    }
+    
+    // On reload or browser history backwards/forwards events, parse the url and do search or mark
+    function doSearchOrMarkFromUrl() {
+        // Check current URL for search request
+        var url = parseURL(window.location.href);
+        if (url.params.hasOwnProperty(URL_SEARCH_PARAM)
+            && url.params[URL_SEARCH_PARAM] != "") {
+            showSearch(true);
+            searchbar.value = decodeURIComponent(
+                (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20'));
+            searchbarKeyUpHandler(); // -> doSearch()
+        } else {
+            showSearch(false);
+        }
+
+        if (url.params.hasOwnProperty(URL_MARK_PARAM)) {
+            var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' ');
+            marker.mark(words, {
+                exclude: mark_exclude
+            });
+
+            var markers = document.querySelectorAll("mark");
+            function hide() {
+                for (var i = 0; i < markers.length; i++) {
+                    markers[i].classList.add("fade-out");
+                    window.setTimeout(function(e) { marker.unmark(); }, 300);
+                }
+            }
+            for (var i = 0; i < markers.length; i++) {
+                markers[i].addEventListener('click', hide);
+            }
+        }
+    }
+    
+    // Eventhandler for keyevents on `document`
+    function globalKeyHandler(e) {
+        if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text') { return; }
+
+        if (e.keyCode === ESCAPE_KEYCODE) {
+            e.preventDefault();
+            searchbar.classList.remove("active");
+            setSearchUrlParameters("",
+                (searchbar.value.trim() !== "") ? "push" : "replace");
+            if (hasFocus()) {
+                unfocusSearchbar();
+            }
+            showSearch(false);
+            marker.unmark();
+        } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) {
+            e.preventDefault();
+            showSearch(true);
+            window.scrollTo(0, 0);
+            searchbar.select();
+        } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) {
+            e.preventDefault();
+            unfocusSearchbar();
+            searchresults.firstElementChild.classList.add("focus");
+        } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE
+                                || e.keyCode === UP_KEYCODE
+                                || e.keyCode === SELECT_KEYCODE)) {
+            // not `:focus` because browser does annoying scrolling
+            var focused = searchresults.querySelector("li.focus");
+            if (!focused) return;
+            e.preventDefault();
+            if (e.keyCode === DOWN_KEYCODE) {
+                var next = focused.nextElementSibling;
+                if (next) {
+                    focused.classList.remove("focus");
+                    next.classList.add("focus");
+                }
+            } else if (e.keyCode === UP_KEYCODE) {
+                focused.classList.remove("focus");
+                var prev = focused.previousElementSibling;
+                if (prev) {
+                    prev.classList.add("focus");
+                } else {
+                    searchbar.select();
+                }
+            } else { // SELECT_KEYCODE
+                window.location.assign(focused.querySelector('a'));
+            }
+        }
+    }
+    
+    function showSearch(yes) {
+        if (yes) {
+            search_wrap.classList.remove('hidden');
+            searchicon.setAttribute('aria-expanded', 'true');
+        } else {
+            search_wrap.classList.add('hidden');
+            searchicon.setAttribute('aria-expanded', 'false');
+            var results = searchresults.children;
+            for (var i = 0; i < results.length; i++) {
+                results[i].classList.remove("focus");
+            }
+        }
+    }
+
+    function showResults(yes) {
+        if (yes) {
+            searchresults_outer.classList.remove('hidden');
+        } else {
+            searchresults_outer.classList.add('hidden');
+        }
+    }
+
+    // Eventhandler for search icon
+    function searchIconClickHandler() {
+        if (search_wrap.classList.contains('hidden')) {
+            showSearch(true);
+            window.scrollTo(0, 0);
+            searchbar.select();
+        } else {
+            showSearch(false);
+        }
+    }
+    
+    // Eventhandler for keyevents while the searchbar is focused
+    function searchbarKeyUpHandler() {
+        var searchterm = searchbar.value.trim();
+        if (searchterm != "") {
+            searchbar.classList.add("active");
+            doSearch(searchterm);
+        } else {
+            searchbar.classList.remove("active");
+            showResults(false);
+            removeChildren(searchresults);
+        }
+
+        setSearchUrlParameters(searchterm, "push_if_new_search_else_replace");
+
+        // Remove marks
+        marker.unmark();
+    }
+    
+    // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor .
+    // `action` can be one of "push", "replace", "push_if_new_search_else_replace"
+    // and replaces or pushes a new browser history item.
+    // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet.
+    function setSearchUrlParameters(searchterm, action) {
+        var url = parseURL(window.location.href);
+        var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM);
+        if (searchterm != "" || action == "push_if_new_search_else_replace") {
+            url.params[URL_SEARCH_PARAM] = searchterm;
+            delete url.params[URL_MARK_PARAM];
+            url.hash = "";
+        } else {
+            delete url.params[URL_MARK_PARAM];
+            delete url.params[URL_SEARCH_PARAM];
+        }
+        // A new search will also add a new history item, so the user can go back
+        // to the page prior to searching. A updated search term will only replace
+        // the url.
+        if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) {
+            history.pushState({}, document.title, renderURL(url));
+        } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) {
+            history.replaceState({}, document.title, renderURL(url));
+        }
+    }
+    
+    function doSearch(searchterm) {
+
+        // Don't search the same twice
+        if (current_searchterm == searchterm) { return; }
+        else { current_searchterm = searchterm; }
+
+        if (searchindex == null) { return; }
+
+        // Do the actual search
+        var results = searchindex.search(searchterm, search_options);
+        var resultcount = Math.min(results.length, results_options.limit_results);
+
+        // Display search metrics
+        searchresults_header.innerText = formatSearchMetric(resultcount, searchterm);
+
+        // Clear and insert results
+        var searchterms  = searchterm.split(' ');
+        removeChildren(searchresults);
+        for(var i = 0; i < resultcount ; i++){
+            var resultElem = document.createElement('li');
+            resultElem.innerHTML = formatSearchResult(results[i], searchterms);
+            searchresults.appendChild(resultElem);
+        }
+
+        // Display results
+        showResults(true);
+    }
+
+    fetch(path_to_root + 'searchindex.json')
+        .then(response => response.json())
+        .then(json => init(json))        
+        .catch(error => { // Try to load searchindex.js if fetch failed
+            var script = document.createElement('script');
+            script.src = path_to_root + 'searchindex.js';
+            script.onload = () => init(window.search);
+            document.head.appendChild(script);
+        });
+
+    // Exported functions
+    search.hasFocus = hasFocus;
+})(window.search);
diff --git a/src/theme/tomorrow-night.css b/src/theme/tomorrow-night.css
new file mode 100644
index 0000000..81fe276
--- /dev/null
+++ b/src/theme/tomorrow-night.css
@@ -0,0 +1,102 @@
+/* Tomorrow Night Theme */
+/* https://github.com/jmblog/color-themes-for-highlightjs */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* https://github.com/jmblog/color-themes-for-highlightjs */
+
+/* Tomorrow Comment */
+.hljs-comment {
+  color: #969896;
+}
+
+/* Tomorrow Red */
+.hljs-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-regexp,
+.ruby .hljs-constant,
+.xml .hljs-tag .hljs-title,
+.xml .hljs-pi,
+.xml .hljs-doctype,
+.html .hljs-doctype,
+.css .hljs-id,
+.css .hljs-class,
+.css .hljs-pseudo {
+  color: #cc6666;
+}
+
+/* Tomorrow Orange */
+.hljs-number,
+.hljs-preprocessor,
+.hljs-pragma,
+.hljs-built_in,
+.hljs-literal,
+.hljs-params,
+.hljs-constant {
+  color: #de935f;
+}
+
+/* Tomorrow Yellow */
+.ruby .hljs-class .hljs-title,
+.css .hljs-rule .hljs-attribute {
+  color: #f0c674;
+}
+
+/* Tomorrow Green */
+.hljs-string,
+.hljs-value,
+.hljs-inheritance,
+.hljs-header,
+.hljs-name,
+.ruby .hljs-symbol,
+.xml .hljs-cdata {
+  color: #b5bd68;
+}
+
+/* Tomorrow Aqua */
+.hljs-title,
+.css .hljs-hexcolor {
+  color: #8abeb7;
+}
+
+/* Tomorrow Blue */
+.hljs-function,
+.python .hljs-decorator,
+.python .hljs-title,
+.ruby .hljs-function .hljs-title,
+.ruby .hljs-title .hljs-keyword,
+.perl .hljs-sub,
+.javascript .hljs-title,
+.coffeescript .hljs-title {
+  color: #81a2be;
+}
+
+/* Tomorrow Purple */
+.hljs-keyword,
+.javascript .hljs-function {
+  color: #b294bb;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  background: #1d1f21;
+  color: #c5c8c6;
+}
+
+.coffeescript .javascript,
+.javascript .xml,
+.tex .hljs-formula,
+.xml .javascript,
+.xml .vbscript,
+.xml .css,
+.xml .hljs-cdata {
+  opacity: 0.5;
+}
+
+.hljs-addition {
+  color: #718c00;
+}
+
+.hljs-deletion {
+  color: #c82829;
+}
diff --git a/src/utils/fs.rs b/src/utils/fs.rs
new file mode 100644
index 0000000..1c31321
--- /dev/null
+++ b/src/utils/fs.rs
@@ -0,0 +1,328 @@
+use crate::errors::*;
+use log::{debug, trace};
+use std::convert::Into;
+use std::fs::{self, File};
+use std::io::Write;
+use std::path::{Component, Path, PathBuf};
+
+/// Naively replaces any path separator with a forward-slash '/'
+pub fn normalize_path(path: &str) -> String {
+    use std::path::is_separator;
+    path.chars()
+        .map(|ch| if is_separator(ch) { '/' } else { ch })
+        .collect::<String>()
+}
+
+/// Write the given data to a file, creating it first if necessary
+pub fn write_file<P: AsRef<Path>>(build_dir: &Path, filename: P, content: &[u8]) -> Result<()> {
+    let path = build_dir.join(filename);
+
+    create_file(&path)?.write_all(content).map_err(Into::into)
+}
+
+/// Takes a path and returns a path containing just enough `../` to point to
+/// the root of the given path.
+///
+/// This is mostly interesting for a relative path to point back to the
+/// directory from where the path starts.
+///
+/// ```rust
+/// # use std::path::Path;
+/// # use mdbook::utils::fs::path_to_root;
+/// let path = Path::new("some/relative/path");
+/// assert_eq!(path_to_root(path), "../../");
+/// ```
+///
+/// **note:** it's not very fool-proof, if you find a situation where
+/// it doesn't return the correct path.
+/// Consider [submitting a new issue](https://github.com/rust-lang/mdBook/issues)
+/// or a [pull-request](https://github.com/rust-lang/mdBook/pulls) to improve it.
+pub fn path_to_root<P: Into<PathBuf>>(path: P) -> String {
+    // Remove filename and add "../" for every directory
+
+    path.into()
+        .parent()
+        .expect("")
+        .components()
+        .fold(String::new(), |mut s, c| {
+            match c {
+                Component::Normal(_) => s.push_str("../"),
+                _ => {
+                    debug!("Other path component... {:?}", c);
+                }
+            }
+            s
+        })
+}
+
+/// This function creates a file and returns it. But before creating the file
+/// it checks every directory in the path to see if it exists,
+/// and if it does not it will be created.
+pub fn create_file(path: &Path) -> Result<File> {
+    debug!("Creating {}", path.display());
+
+    // Construct path
+    if let Some(p) = path.parent() {
+        trace!("Parent directory is: {:?}", p);
+
+        fs::create_dir_all(p)?;
+    }
+
+    File::create(path).map_err(Into::into)
+}
+
+/// Removes all the content of a directory but not the directory itself
+pub fn remove_dir_content(dir: &Path) -> Result<()> {
+    for item in fs::read_dir(dir)? {
+        if let Ok(item) = item {
+            let item = item.path();
+            if item.is_dir() {
+                fs::remove_dir_all(item)?;
+            } else {
+                fs::remove_file(item)?;
+            }
+        }
+    }
+    Ok(())
+}
+
+/// Copies all files of a directory to another one except the files
+/// with the extensions given in the `ext_blacklist` array
+pub fn copy_files_except_ext(
+    from: &Path,
+    to: &Path,
+    recursive: bool,
+    avoid_dir: Option<&PathBuf>,
+    ext_blacklist: &[&str],
+) -> Result<()> {
+    debug!(
+        "Copying all files from {} to {} (blacklist: {:?}), avoiding {:?}",
+        from.display(),
+        to.display(),
+        ext_blacklist,
+        avoid_dir
+    );
+
+    // Check that from and to are different
+    if from == to {
+        return Ok(());
+    }
+
+    for entry in fs::read_dir(from)? {
+        let entry = entry?;
+        let metadata = entry
+            .path()
+            .metadata()
+            .with_context(|| format!("Failed to read {:?}", entry.path()))?;
+
+        // If the entry is a dir and the recursive option is enabled, call itself
+        if metadata.is_dir() && recursive {
+            if entry.path() == to.to_path_buf() {
+                continue;
+            }
+
+            if let Some(avoid) = avoid_dir {
+                if entry.path() == *avoid {
+                    continue;
+                }
+            }
+
+            // check if output dir already exists
+            if !to.join(entry.file_name()).exists() {
+                fs::create_dir(&to.join(entry.file_name()))?;
+            }
+
+            copy_files_except_ext(
+                &from.join(entry.file_name()),
+                &to.join(entry.file_name()),
+                true,
+                avoid_dir,
+                ext_blacklist,
+            )?;
+        } else if metadata.is_file() {
+            // Check if it is in the blacklist
+            if let Some(ext) = entry.path().extension() {
+                if ext_blacklist.contains(&ext.to_str().unwrap()) {
+                    continue;
+                }
+            }
+            debug!(
+                "creating path for file: {:?}",
+                &to.join(
+                    entry
+                        .path()
+                        .file_name()
+                        .expect("a file should have a file name...")
+                )
+            );
+
+            debug!(
+                "Copying {:?} to {:?}",
+                entry.path(),
+                &to.join(
+                    entry
+                        .path()
+                        .file_name()
+                        .expect("a file should have a file name...")
+                )
+            );
+            copy(
+                entry.path(),
+                &to.join(
+                    entry
+                        .path()
+                        .file_name()
+                        .expect("a file should have a file name..."),
+                ),
+            )?;
+        }
+    }
+    Ok(())
+}
+
+/// Copies a file.
+fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<()> {
+    let from = from.as_ref();
+    let to = to.as_ref();
+    return copy_inner(from, to)
+        .with_context(|| format!("failed to copy `{}` to `{}`", from.display(), to.display()));
+
+    // This is a workaround for an issue with the macOS file watcher.
+    // Rust's `std::fs::copy` function uses `fclonefileat`, which creates
+    // clones on APFS. Unfortunately fs events seem to trigger on both
+    // sides of the clone, and there doesn't seem to be a way to differentiate
+    // which side it is.
+    // https://github.com/notify-rs/notify/issues/465#issuecomment-1657261035
+    // contains more information.
+    //
+    // This is essentially a copy of the simple copy code path in Rust's
+    // standard library.
+    #[cfg(target_os = "macos")]
+    fn copy_inner(from: &Path, to: &Path) -> Result<()> {
+        use std::fs::OpenOptions;
+        use std::os::unix::fs::{OpenOptionsExt, PermissionsExt};
+
+        let mut reader = File::open(from)?;
+        let metadata = reader.metadata()?;
+        if !metadata.is_file() {
+            anyhow::bail!(
+                "expected a file, `{}` appears to be {:?}",
+                from.display(),
+                metadata.file_type()
+            );
+        }
+        let perm = metadata.permissions();
+        let mut writer = OpenOptions::new()
+            .mode(perm.mode())
+            .write(true)
+            .create(true)
+            .truncate(true)
+            .open(to)?;
+        let writer_metadata = writer.metadata()?;
+        if writer_metadata.is_file() {
+            // Set the correct file permissions, in case the file already existed.
+            // Don't set the permissions on already existing non-files like
+            // pipes/FIFOs or device nodes.
+            writer.set_permissions(perm)?;
+        }
+        std::io::copy(&mut reader, &mut writer)?;
+        Ok(())
+    }
+
+    #[cfg(not(target_os = "macos"))]
+    fn copy_inner(from: &Path, to: &Path) -> Result<()> {
+        fs::copy(from, to)?;
+        Ok(())
+    }
+}
+
+pub fn get_404_output_file(input_404: &Option<String>) -> String {
+    input_404
+        .as_ref()
+        .unwrap_or(&"404.md".to_string())
+        .replace(".md", ".html")
+}
+
+#[cfg(test)]
+mod tests {
+    use super::copy_files_except_ext;
+    use std::{fs, io::Result, path::Path};
+
+    #[cfg(target_os = "windows")]
+    fn symlink<P: AsRef<Path>, Q: AsRef<Path>>(src: P, dst: Q) -> Result<()> {
+        std::os::windows::fs::symlink_file(src, dst)
+    }
+
+    #[cfg(not(target_os = "windows"))]
+    fn symlink<P: AsRef<Path>, Q: AsRef<Path>>(src: P, dst: Q) -> Result<()> {
+        std::os::unix::fs::symlink(src, dst)
+    }
+
+    #[test]
+    fn copy_files_except_ext_test() {
+        let tmp = match tempfile::TempDir::new() {
+            Ok(t) => t,
+            Err(e) => panic!("Could not create a temp dir: {}", e),
+        };
+
+        // Create a couple of files
+        if let Err(err) = fs::File::create(tmp.path().join("file.txt")) {
+            panic!("Could not create file.txt: {}", err);
+        }
+        if let Err(err) = fs::File::create(tmp.path().join("file.md")) {
+            panic!("Could not create file.md: {}", err);
+        }
+        if let Err(err) = fs::File::create(tmp.path().join("file.png")) {
+            panic!("Could not create file.png: {}", err);
+        }
+        if let Err(err) = fs::create_dir(tmp.path().join("sub_dir")) {
+            panic!("Could not create sub_dir: {}", err);
+        }
+        if let Err(err) = fs::File::create(tmp.path().join("sub_dir/file.png")) {
+            panic!("Could not create sub_dir/file.png: {}", err);
+        }
+        if let Err(err) = fs::create_dir(tmp.path().join("sub_dir_exists")) {
+            panic!("Could not create sub_dir_exists: {}", err);
+        }
+        if let Err(err) = fs::File::create(tmp.path().join("sub_dir_exists/file.txt")) {
+            panic!("Could not create sub_dir_exists/file.txt: {}", err);
+        }
+        if let Err(err) = symlink(tmp.path().join("file.png"), tmp.path().join("symlink.png")) {
+            panic!("Could not symlink file.png: {}", err);
+        }
+
+        // Create output dir
+        if let Err(err) = fs::create_dir(tmp.path().join("output")) {
+            panic!("Could not create output: {}", err);
+        }
+        if let Err(err) = fs::create_dir(tmp.path().join("output/sub_dir_exists")) {
+            panic!("Could not create output/sub_dir_exists: {}", err);
+        }
+
+        if let Err(e) =
+            copy_files_except_ext(tmp.path(), &tmp.path().join("output"), true, None, &["md"])
+        {
+            panic!("Error while executing the function:\n{:?}", e);
+        }
+
+        // Check if the correct files where created
+        if !tmp.path().join("output/file.txt").exists() {
+            panic!("output/file.txt should exist")
+        }
+        if tmp.path().join("output/file.md").exists() {
+            panic!("output/file.md should not exist")
+        }
+        if !tmp.path().join("output/file.png").exists() {
+            panic!("output/file.png should exist")
+        }
+        if !tmp.path().join("output/sub_dir/file.png").exists() {
+            panic!("output/sub_dir/file.png should exist")
+        }
+        if !tmp.path().join("output/sub_dir_exists/file.txt").exists() {
+            panic!("output/sub_dir/file.png should exist")
+        }
+        if !tmp.path().join("output/symlink.png").exists() {
+            panic!("output/symlink.png should exist")
+        }
+    }
+}
diff --git a/src/utils/mod.rs b/src/utils/mod.rs
new file mode 100644
index 0000000..9156916
--- /dev/null
+++ b/src/utils/mod.rs
@@ -0,0 +1,489 @@
+#![allow(missing_docs)] // FIXME: Document this
+
+pub mod fs;
+mod string;
+pub(crate) mod toml_ext;
+use crate::errors::Error;
+use log::error;
+use once_cell::sync::Lazy;
+use pulldown_cmark::{html, CodeBlockKind, CowStr, Event, Options, Parser, Tag};
+use regex::Regex;
+
+use std::borrow::Cow;
+use std::collections::HashMap;
+use std::fmt::Write;
+use std::path::Path;
+
+pub use self::string::{
+    take_anchored_lines, take_lines, take_rustdoc_include_anchored_lines,
+    take_rustdoc_include_lines,
+};
+
+/// Replaces multiple consecutive whitespace characters with a single space character.
+pub fn collapse_whitespace(text: &str) -> Cow<'_, str> {
+    static RE: Lazy<Regex> = Lazy::new(|| Regex::new(r"\s\s+").unwrap());
+    RE.replace_all(text, " ")
+}
+
+/// Convert the given string to a valid HTML element ID.
+/// The only restriction is that the ID must not contain any ASCII whitespace.
+pub fn normalize_id(content: &str) -> String {
+    content
+        .chars()
+        .filter_map(|ch| {
+            if ch.is_alphanumeric() || ch == '_' || ch == '-' {
+                Some(ch.to_ascii_lowercase())
+            } else if ch.is_whitespace() {
+                Some('-')
+            } else {
+                None
+            }
+        })
+        .collect::<String>()
+}
+
+/// Generate an ID for use with anchors which is derived from a "normalised"
+/// string.
+// This function should be made private when the deprecation expires.
+#[deprecated(since = "0.4.16", note = "use unique_id_from_content instead")]
+pub fn id_from_content(content: &str) -> String {
+    let mut content = content.to_string();
+
+    // Skip any tags or html-encoded stuff
+    static HTML: Lazy<Regex> = Lazy::new(|| Regex::new(r"(<.*?>)").unwrap());
+    content = HTML.replace_all(&content, "").into();
+    const REPL_SUB: &[&str] = &["&lt;", "&gt;", "&amp;", "&#39;", "&quot;"];
+    for sub in REPL_SUB {
+        content = content.replace(sub, "");
+    }
+
+    // Remove spaces and hashes indicating a header
+    let trimmed = content.trim().trim_start_matches('#').trim();
+    normalize_id(trimmed)
+}
+
+/// Generate an ID for use with anchors which is derived from a "normalised"
+/// string.
+///
+/// Each ID returned will be unique, if the same `id_counter` is provided on
+/// each call.
+pub fn unique_id_from_content(content: &str, id_counter: &mut HashMap<String, usize>) -> String {
+    let id = {
+        #[allow(deprecated)]
+        id_from_content(content)
+    };
+
+    // If we have headers with the same normalized id, append an incrementing counter
+    let id_count = id_counter.entry(id.clone()).or_insert(0);
+    let unique_id = match *id_count {
+        0 => id,
+        id_count => format!("{}-{}", id, id_count),
+    };
+    *id_count += 1;
+    unique_id
+}
+
+/// Fix links to the correct location.
+///
+/// This adjusts links, such as turning `.md` extensions to `.html`.
+///
+/// `path` is the path to the page being rendered relative to the root of the
+/// book. This is used for the `print.html` page so that links on the print
+/// page go to the original location. Normal page rendering sets `path` to
+/// None. Ideally, print page links would link to anchors on the print page,
+/// but that is very difficult.
+fn adjust_links<'a>(event: Event<'a>, path: Option<&Path>) -> Event<'a> {
+    static SCHEME_LINK: Lazy<Regex> = Lazy::new(|| Regex::new(r"^[a-z][a-z0-9+.-]*:").unwrap());
+    static MD_LINK: Lazy<Regex> =
+        Lazy::new(|| Regex::new(r"(?P<link>.*)\.md(?P<anchor>#.*)?").unwrap());
+
+    fn fix<'a>(dest: CowStr<'a>, path: Option<&Path>) -> CowStr<'a> {
+        if dest.starts_with('#') {
+            // Fragment-only link.
+            if let Some(path) = path {
+                let mut base = path.display().to_string();
+                if base.ends_with(".md") {
+                    base.replace_range(base.len() - 3.., ".html");
+                }
+                return format!("{}{}", base, dest).into();
+            } else {
+                return dest;
+            }
+        }
+        // Don't modify links with schemes like `https`.
+        if !SCHEME_LINK.is_match(&dest) {
+            // This is a relative link, adjust it as necessary.
+            let mut fixed_link = String::new();
+            if let Some(path) = path {
+                let base = path
+                    .parent()
+                    .expect("path can't be empty")
+                    .to_str()
+                    .expect("utf-8 paths only");
+                if !base.is_empty() {
+                    write!(fixed_link, "{}/", base).unwrap();
+                }
+            }
+
+            if let Some(caps) = MD_LINK.captures(&dest) {
+                fixed_link.push_str(&caps["link"]);
+                fixed_link.push_str(".html");
+                if let Some(anchor) = caps.name("anchor") {
+                    fixed_link.push_str(anchor.as_str());
+                }
+            } else {
+                fixed_link.push_str(&dest);
+            };
+            return CowStr::from(fixed_link);
+        }
+        dest
+    }
+
+    fn fix_html<'a>(html: CowStr<'a>, path: Option<&Path>) -> CowStr<'a> {
+        // This is a terrible hack, but should be reasonably reliable. Nobody
+        // should ever parse a tag with a regex. However, there isn't anything
+        // in Rust that I know of that is suitable for handling partial html
+        // fragments like those generated by pulldown_cmark.
+        //
+        // There are dozens of HTML tags/attributes that contain paths, so
+        // feel free to add more tags if desired; these are the only ones I
+        // care about right now.
+        static HTML_LINK: Lazy<Regex> =
+            Lazy::new(|| Regex::new(r#"(<(?:a|img) [^>]*?(?:src|href)=")([^"]+?)""#).unwrap());
+
+        HTML_LINK
+            .replace_all(&html, |caps: &regex::Captures<'_>| {
+                let fixed = fix(caps[2].into(), path);
+                format!("{}{}\"", &caps[1], fixed)
+            })
+            .into_owned()
+            .into()
+    }
+
+    match event {
+        Event::Start(Tag::Link(link_type, dest, title)) => {
+            Event::Start(Tag::Link(link_type, fix(dest, path), title))
+        }
+        Event::Start(Tag::Image(link_type, dest, title)) => {
+            Event::Start(Tag::Image(link_type, fix(dest, path), title))
+        }
+        Event::Html(html) => Event::Html(fix_html(html, path)),
+        _ => event,
+    }
+}
+
+/// Wrapper around the pulldown-cmark parser for rendering markdown to HTML.
+pub fn render_markdown(text: &str, curly_quotes: bool) -> String {
+    render_markdown_with_path(text, curly_quotes, None)
+}
+
+pub fn new_cmark_parser(text: &str, curly_quotes: bool) -> Parser<'_, '_> {
+    let mut opts = Options::empty();
+    opts.insert(Options::ENABLE_TABLES);
+    opts.insert(Options::ENABLE_FOOTNOTES);
+    opts.insert(Options::ENABLE_STRIKETHROUGH);
+    opts.insert(Options::ENABLE_TASKLISTS);
+    opts.insert(Options::ENABLE_HEADING_ATTRIBUTES);
+    if curly_quotes {
+        opts.insert(Options::ENABLE_SMART_PUNCTUATION);
+    }
+    Parser::new_ext(text, opts)
+}
+
+pub fn render_markdown_with_path(text: &str, curly_quotes: bool, path: Option<&Path>) -> String {
+    let mut s = String::with_capacity(text.len() * 3 / 2);
+    let p = new_cmark_parser(text, curly_quotes);
+    let events = p
+        .map(clean_codeblock_headers)
+        .map(|event| adjust_links(event, path))
+        .flat_map(|event| {
+            let (a, b) = wrap_tables(event);
+            a.into_iter().chain(b)
+        });
+
+    html::push_html(&mut s, events);
+    s
+}
+
+/// Wraps tables in a `.table-wrapper` class to apply overflow-x rules to.
+fn wrap_tables(event: Event<'_>) -> (Option<Event<'_>>, Option<Event<'_>>) {
+    match event {
+        Event::Start(Tag::Table(_)) => (
+            Some(Event::Html(r#"<div class="table-wrapper">"#.into())),
+            Some(event),
+        ),
+        Event::End(Tag::Table(_)) => (Some(event), Some(Event::Html(r#"</div>"#.into()))),
+        _ => (Some(event), None),
+    }
+}
+
+fn clean_codeblock_headers(event: Event<'_>) -> Event<'_> {
+    match event {
+        Event::Start(Tag::CodeBlock(CodeBlockKind::Fenced(ref info))) => {
+            let info: String = info
+                .chars()
+                .map(|x| match x {
+                    ' ' | '\t' => ',',
+                    _ => x,
+                })
+                .filter(|ch| !ch.is_whitespace())
+                .collect();
+
+            Event::Start(Tag::CodeBlock(CodeBlockKind::Fenced(CowStr::from(info))))
+        }
+        _ => event,
+    }
+}
+
+/// Prints a "backtrace" of some `Error`.
+pub fn log_backtrace(e: &Error) {
+    error!("Error: {}", e);
+
+    for cause in e.chain().skip(1) {
+        error!("\tCaused By: {}", cause);
+    }
+}
+
+pub(crate) fn bracket_escape(mut s: &str) -> String {
+    let mut escaped = String::with_capacity(s.len());
+    let needs_escape: &[char] = &['<', '>'];
+    while let Some(next) = s.find(needs_escape) {
+        escaped.push_str(&s[..next]);
+        match s.as_bytes()[next] {
+            b'<' => escaped.push_str("&lt;"),
+            b'>' => escaped.push_str("&gt;"),
+            _ => unreachable!(),
+        }
+        s = &s[next + 1..];
+    }
+    escaped.push_str(s);
+    escaped
+}
+
+#[cfg(test)]
+mod tests {
+    use super::bracket_escape;
+
+    mod render_markdown {
+        use super::super::render_markdown;
+
+        #[test]
+        fn preserves_external_links() {
+            assert_eq!(
+                render_markdown("[example](https://www.rust-lang.org/)", false),
+                "<p><a href=\"https://www.rust-lang.org/\">example</a></p>\n"
+            );
+        }
+
+        #[test]
+        fn it_can_adjust_markdown_links() {
+            assert_eq!(
+                render_markdown("[example](example.md)", false),
+                "<p><a href=\"example.html\">example</a></p>\n"
+            );
+            assert_eq!(
+                render_markdown("[example_anchor](example.md#anchor)", false),
+                "<p><a href=\"example.html#anchor\">example_anchor</a></p>\n"
+            );
+
+            // this anchor contains 'md' inside of it
+            assert_eq!(
+                render_markdown("[phantom data](foo.html#phantomdata)", false),
+                "<p><a href=\"foo.html#phantomdata\">phantom data</a></p>\n"
+            );
+        }
+
+        #[test]
+        fn it_can_wrap_tables() {
+            let src = r#"
+| Original        | Punycode        | Punycode + Encoding |
+|-----------------|-----------------|---------------------|
+| føø             | f-5gaa          | f_5gaa              |
+"#;
+            let out = r#"
+<div class="table-wrapper"><table><thead><tr><th>Original</th><th>Punycode</th><th>Punycode + Encoding</th></tr></thead><tbody>
+<tr><td>føø</td><td>f-5gaa</td><td>f_5gaa</td></tr>
+</tbody></table>
+</div>
+"#.trim();
+            assert_eq!(render_markdown(src, false), out);
+        }
+
+        #[test]
+        fn it_can_keep_quotes_straight() {
+            assert_eq!(render_markdown("'one'", false), "<p>'one'</p>\n");
+        }
+
+        #[test]
+        fn it_can_make_quotes_curly_except_when_they_are_in_code() {
+            let input = r#"
+'one'
+```
+'two'
+```
+`'three'` 'four'"#;
+            let expected = r#"<p>‘one’</p>
+<pre><code>'two'
+</code></pre>
+<p><code>'three'</code> ‘four’</p>
+"#;
+            assert_eq!(render_markdown(input, true), expected);
+        }
+
+        #[test]
+        fn whitespace_outside_of_codeblock_header_is_preserved() {
+            let input = r#"
+some text with spaces
+```rust
+fn main() {
+// code inside is unchanged
+}
+```
+more text with spaces
+"#;
+
+            let expected = r#"<p>some text with spaces</p>
+<pre><code class="language-rust">fn main() {
+// code inside is unchanged
+}
+</code></pre>
+<p>more text with spaces</p>
+"#;
+            assert_eq!(render_markdown(input, false), expected);
+            assert_eq!(render_markdown(input, true), expected);
+        }
+
+        #[test]
+        fn rust_code_block_properties_are_passed_as_space_delimited_class() {
+            let input = r#"
+```rust,no_run,should_panic,property_3
+```
+"#;
+
+            let expected = r#"<pre><code class="language-rust,no_run,should_panic,property_3"></code></pre>
+"#;
+            assert_eq!(render_markdown(input, false), expected);
+            assert_eq!(render_markdown(input, true), expected);
+        }
+
+        #[test]
+        fn rust_code_block_properties_with_whitespace_are_passed_as_space_delimited_class() {
+            let input = r#"
+```rust,    no_run,,,should_panic , ,property_3
+```
+"#;
+
+            let expected = r#"<pre><code class="language-rust,,,,,no_run,,,should_panic,,,,property_3"></code></pre>
+"#;
+            assert_eq!(render_markdown(input, false), expected);
+            assert_eq!(render_markdown(input, true), expected);
+        }
+
+        #[test]
+        fn rust_code_block_without_properties_has_proper_html_class() {
+            let input = r#"
+```rust
+```
+"#;
+
+            let expected = r#"<pre><code class="language-rust"></code></pre>
+"#;
+            assert_eq!(render_markdown(input, false), expected);
+            assert_eq!(render_markdown(input, true), expected);
+
+            let input = r#"
+```rust
+```
+"#;
+            assert_eq!(render_markdown(input, false), expected);
+            assert_eq!(render_markdown(input, true), expected);
+        }
+    }
+
+    #[allow(deprecated)]
+    mod id_from_content {
+        use super::super::id_from_content;
+
+        #[test]
+        fn it_generates_anchors() {
+            assert_eq!(
+                id_from_content("## Method-call expressions"),
+                "method-call-expressions"
+            );
+            assert_eq!(id_from_content("## **Bold** title"), "bold-title");
+            assert_eq!(id_from_content("## `Code` title"), "code-title");
+            assert_eq!(
+                id_from_content("## title <span dir=rtl>foo</span>"),
+                "title-foo"
+            );
+        }
+
+        #[test]
+        fn it_generates_anchors_from_non_ascii_initial() {
+            assert_eq!(
+                id_from_content("## `--passes`: add more rustdoc passes"),
+                "--passes-add-more-rustdoc-passes"
+            );
+            assert_eq!(
+                id_from_content("## 中文標題 CJK title"),
+                "中文標題-cjk-title"
+            );
+            assert_eq!(id_from_content("## Über"), "Über");
+        }
+    }
+
+    mod html_munging {
+        use super::super::{normalize_id, unique_id_from_content};
+
+        #[test]
+        fn it_normalizes_ids() {
+            assert_eq!(
+                normalize_id("`--passes`: add more rustdoc passes"),
+                "--passes-add-more-rustdoc-passes"
+            );
+            assert_eq!(
+                normalize_id("Method-call 🐙 expressions \u{1f47c}"),
+                "method-call--expressions-"
+            );
+            assert_eq!(normalize_id("_-_12345"), "_-_12345");
+            assert_eq!(normalize_id("12345"), "12345");
+            assert_eq!(normalize_id("中文"), "中文");
+            assert_eq!(normalize_id("にほんご"), "にほんご");
+            assert_eq!(normalize_id("한국어"), "한국어");
+            assert_eq!(normalize_id(""), "");
+        }
+
+        #[test]
+        fn it_generates_unique_ids_from_content() {
+            // Same id if not given shared state
+            assert_eq!(
+                unique_id_from_content("## 中文標題 CJK title", &mut Default::default()),
+                "中文標題-cjk-title"
+            );
+            assert_eq!(
+                unique_id_from_content("## 中文標題 CJK title", &mut Default::default()),
+                "中文標題-cjk-title"
+            );
+
+            // Different id if given shared state
+            let mut id_counter = Default::default();
+            assert_eq!(unique_id_from_content("## Über", &mut id_counter), "Über");
+            assert_eq!(
+                unique_id_from_content("## 中文標題 CJK title", &mut id_counter),
+                "中文標題-cjk-title"
+            );
+            assert_eq!(unique_id_from_content("## Über", &mut id_counter), "Über-1");
+            assert_eq!(unique_id_from_content("## Über", &mut id_counter), "Über-2");
+        }
+    }
+
+    #[test]
+    fn escaped_brackets() {
+        assert_eq!(bracket_escape(""), "");
+        assert_eq!(bracket_escape("<"), "&lt;");
+        assert_eq!(bracket_escape(">"), "&gt;");
+        assert_eq!(bracket_escape("<>"), "&lt;&gt;");
+        assert_eq!(bracket_escape("<test>"), "&lt;test&gt;");
+        assert_eq!(bracket_escape("a<test>b"), "a&lt;test&gt;b");
+    }
+}
diff --git a/src/utils/string.rs b/src/utils/string.rs
new file mode 100644
index 0000000..6dafe26
--- /dev/null
+++ b/src/utils/string.rs
@@ -0,0 +1,256 @@
+use once_cell::sync::Lazy;
+use regex::Regex;
+use std::ops::Bound::{Excluded, Included, Unbounded};
+use std::ops::RangeBounds;
+
+/// Take a range of lines from a string.
+pub fn take_lines<R: RangeBounds<usize>>(s: &str, range: R) -> String {
+    let start = match range.start_bound() {
+        Excluded(&n) => n + 1,
+        Included(&n) => n,
+        Unbounded => 0,
+    };
+    let lines = s.lines().skip(start);
+    match range.end_bound() {
+        Excluded(end) => lines
+            .take(end.saturating_sub(start))
+            .collect::<Vec<_>>()
+            .join("\n"),
+        Included(end) => lines
+            .take((end + 1).saturating_sub(start))
+            .collect::<Vec<_>>()
+            .join("\n"),
+        Unbounded => lines.collect::<Vec<_>>().join("\n"),
+    }
+}
+
+static ANCHOR_START: Lazy<Regex> =
+    Lazy::new(|| Regex::new(r"ANCHOR:\s*(?P<anchor_name>[\w_-]+)").unwrap());
+static ANCHOR_END: Lazy<Regex> =
+    Lazy::new(|| Regex::new(r"ANCHOR_END:\s*(?P<anchor_name>[\w_-]+)").unwrap());
+
+/// Take anchored lines from a string.
+/// Lines containing anchor are ignored.
+pub fn take_anchored_lines(s: &str, anchor: &str) -> String {
+    let mut retained = Vec::<&str>::new();
+    let mut anchor_found = false;
+
+    for l in s.lines() {
+        if anchor_found {
+            match ANCHOR_END.captures(l) {
+                Some(cap) => {
+                    if &cap["anchor_name"] == anchor {
+                        break;
+                    }
+                }
+                None => {
+                    if !ANCHOR_START.is_match(l) {
+                        retained.push(l);
+                    }
+                }
+            }
+        } else if let Some(cap) = ANCHOR_START.captures(l) {
+            if &cap["anchor_name"] == anchor {
+                anchor_found = true;
+            }
+        }
+    }
+
+    retained.join("\n")
+}
+
+/// Keep lines contained within the range specified as-is.
+/// For any lines not in the range, include them but use `#` at the beginning. This will hide the
+/// lines from initial display but include them when expanding the code snippet or testing with
+/// rustdoc.
+pub fn take_rustdoc_include_lines<R: RangeBounds<usize>>(s: &str, range: R) -> String {
+    let mut output = String::with_capacity(s.len());
+
+    for (index, line) in s.lines().enumerate() {
+        if !range.contains(&index) {
+            output.push_str("# ");
+        }
+        output.push_str(line);
+        output.push('\n');
+    }
+    output.pop();
+    output
+}
+
+/// Keep lines between the anchor comments specified as-is.
+/// For any lines not between the anchors, include them but use `#` at the beginning. This will
+/// hide the lines from initial display but include them when expanding the code snippet or testing
+/// with rustdoc.
+pub fn take_rustdoc_include_anchored_lines(s: &str, anchor: &str) -> String {
+    let mut output = String::with_capacity(s.len());
+    let mut within_anchored_section = false;
+
+    for l in s.lines() {
+        if within_anchored_section {
+            match ANCHOR_END.captures(l) {
+                Some(cap) => {
+                    if &cap["anchor_name"] == anchor {
+                        within_anchored_section = false;
+                    }
+                }
+                None => {
+                    if !ANCHOR_START.is_match(l) {
+                        output.push_str(l);
+                        output.push('\n');
+                    }
+                }
+            }
+        } else if let Some(cap) = ANCHOR_START.captures(l) {
+            if &cap["anchor_name"] == anchor {
+                within_anchored_section = true;
+            }
+        } else if !ANCHOR_END.is_match(l) {
+            output.push_str("# ");
+            output.push_str(l);
+            output.push('\n');
+        }
+    }
+
+    output.pop();
+    output
+}
+
+#[cfg(test)]
+mod tests {
+    use super::{
+        take_anchored_lines, take_lines, take_rustdoc_include_anchored_lines,
+        take_rustdoc_include_lines,
+    };
+
+    #[test]
+    #[allow(clippy::reversed_empty_ranges)] // Intentionally checking that those are correctly handled
+    fn take_lines_test() {
+        let s = "Lorem\nipsum\ndolor\nsit\namet";
+        assert_eq!(take_lines(s, 1..3), "ipsum\ndolor");
+        assert_eq!(take_lines(s, 3..), "sit\namet");
+        assert_eq!(take_lines(s, ..3), "Lorem\nipsum\ndolor");
+        assert_eq!(take_lines(s, ..), s);
+        // corner cases
+        assert_eq!(take_lines(s, 4..3), "");
+        assert_eq!(take_lines(s, ..100), s);
+    }
+
+    #[test]
+    fn take_anchored_lines_test() {
+        let s = "Lorem\nipsum\ndolor\nsit\namet";
+        assert_eq!(take_anchored_lines(s, "test"), "");
+
+        let s = "Lorem\nipsum\ndolor\nANCHOR_END: test\nsit\namet";
+        assert_eq!(take_anchored_lines(s, "test"), "");
+
+        let s = "Lorem\nipsum\nANCHOR: test\ndolor\nsit\namet";
+        assert_eq!(take_anchored_lines(s, "test"), "dolor\nsit\namet");
+        assert_eq!(take_anchored_lines(s, "something"), "");
+
+        let s = "Lorem\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nipsum";
+        assert_eq!(take_anchored_lines(s, "test"), "dolor\nsit\namet");
+        assert_eq!(take_anchored_lines(s, "something"), "");
+
+        let s = "Lorem\nANCHOR: test\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nipsum";
+        assert_eq!(take_anchored_lines(s, "test"), "ipsum\ndolor\nsit\namet");
+        assert_eq!(take_anchored_lines(s, "something"), "");
+
+        let s = "Lorem\nANCHOR:    test2\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nANCHOR_END:test2\nipsum";
+        assert_eq!(
+            take_anchored_lines(s, "test2"),
+            "ipsum\ndolor\nsit\namet\nlorem"
+        );
+        assert_eq!(take_anchored_lines(s, "test"), "dolor\nsit\namet");
+        assert_eq!(take_anchored_lines(s, "something"), "");
+    }
+
+    #[test]
+    #[allow(clippy::reversed_empty_ranges)] // Intentionally checking that those are correctly handled
+    fn take_rustdoc_include_lines_test() {
+        let s = "Lorem\nipsum\ndolor\nsit\namet";
+        assert_eq!(
+            take_rustdoc_include_lines(s, 1..3),
+            "# Lorem\nipsum\ndolor\n# sit\n# amet"
+        );
+        assert_eq!(
+            take_rustdoc_include_lines(s, 3..),
+            "# Lorem\n# ipsum\n# dolor\nsit\namet"
+        );
+        assert_eq!(
+            take_rustdoc_include_lines(s, ..3),
+            "Lorem\nipsum\ndolor\n# sit\n# amet"
+        );
+        assert_eq!(take_rustdoc_include_lines(s, ..), s);
+        // corner cases
+        assert_eq!(
+            take_rustdoc_include_lines(s, 4..3),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet"
+        );
+        assert_eq!(take_rustdoc_include_lines(s, ..100), s);
+    }
+
+    #[test]
+    fn take_rustdoc_include_anchored_lines_test() {
+        let s = "Lorem\nipsum\ndolor\nsit\namet";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet"
+        );
+
+        let s = "Lorem\nipsum\ndolor\nANCHOR_END: test\nsit\namet";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet"
+        );
+
+        let s = "Lorem\nipsum\nANCHOR: test\ndolor\nsit\namet";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\n# ipsum\ndolor\nsit\namet"
+        );
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "something"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet"
+        );
+
+        let s = "Lorem\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nipsum";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\n# ipsum\ndolor\nsit\namet\n# lorem\n# ipsum"
+        );
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "something"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet\n# lorem\n# ipsum"
+        );
+
+        let s = "Lorem\nANCHOR: test\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nipsum";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\nipsum\ndolor\nsit\namet\n# lorem\n# ipsum"
+        );
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "something"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet\n# lorem\n# ipsum"
+        );
+
+        let s = "Lorem\nANCHOR:    test2\nipsum\nANCHOR: test\ndolor\nsit\namet\nANCHOR_END: test\nlorem\nANCHOR_END:test2\nipsum";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test2"),
+            "# Lorem\nipsum\ndolor\nsit\namet\nlorem\n# ipsum"
+        );
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\n# ipsum\ndolor\nsit\namet\n# lorem\n# ipsum"
+        );
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "something"),
+            "# Lorem\n# ipsum\n# dolor\n# sit\n# amet\n# lorem\n# ipsum"
+        );
+
+        let s = "Lorem\nANCHOR: test\nipsum\nANCHOR_END: test\ndolor\nANCHOR: test\nsit\nANCHOR_END: test\namet";
+        assert_eq!(
+            take_rustdoc_include_anchored_lines(s, "test"),
+            "# Lorem\nipsum\n# dolor\nsit\n# amet"
+        );
+    }
+}
diff --git a/src/utils/toml_ext.rs b/src/utils/toml_ext.rs
new file mode 100644
index 0000000..bf25ad1
--- /dev/null
+++ b/src/utils/toml_ext.rs
@@ -0,0 +1,130 @@
+use toml::value::{Table, Value};
+
+pub(crate) trait TomlExt {
+    fn read(&self, key: &str) -> Option<&Value>;
+    fn read_mut(&mut self, key: &str) -> Option<&mut Value>;
+    fn insert(&mut self, key: &str, value: Value);
+    fn delete(&mut self, key: &str) -> Option<Value>;
+}
+
+impl TomlExt for Value {
+    fn read(&self, key: &str) -> Option<&Value> {
+        if let Some((head, tail)) = split(key) {
+            self.get(head)?.read(tail)
+        } else {
+            self.get(key)
+        }
+    }
+
+    fn read_mut(&mut self, key: &str) -> Option<&mut Value> {
+        if let Some((head, tail)) = split(key) {
+            self.get_mut(head)?.read_mut(tail)
+        } else {
+            self.get_mut(key)
+        }
+    }
+
+    fn insert(&mut self, key: &str, value: Value) {
+        if !self.is_table() {
+            *self = Value::Table(Table::new());
+        }
+
+        let table = self.as_table_mut().expect("unreachable");
+
+        if let Some((head, tail)) = split(key) {
+            table
+                .entry(head)
+                .or_insert_with(|| Value::Table(Table::new()))
+                .insert(tail, value);
+        } else {
+            table.insert(key.to_string(), value);
+        }
+    }
+
+    fn delete(&mut self, key: &str) -> Option<Value> {
+        if let Some((head, tail)) = split(key) {
+            self.get_mut(head)?.delete(tail)
+        } else if let Some(table) = self.as_table_mut() {
+            table.remove(key)
+        } else {
+            None
+        }
+    }
+}
+
+fn split(key: &str) -> Option<(&str, &str)> {
+    let ix = key.find('.')?;
+
+    let (head, tail) = key.split_at(ix);
+    // splitting will leave the "."
+    let tail = &tail[1..];
+
+    Some((head, tail))
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use std::str::FromStr;
+
+    #[test]
+    fn read_simple_table() {
+        let src = "[table]";
+        let value = Value::from_str(src).unwrap();
+
+        let got = value.read("table").unwrap();
+
+        assert!(got.is_table());
+    }
+
+    #[test]
+    fn read_nested_item() {
+        let src = "[table]\nnested=true";
+        let value = Value::from_str(src).unwrap();
+
+        let got = value.read("table.nested").unwrap();
+
+        assert_eq!(got, &Value::Boolean(true));
+    }
+
+    #[test]
+    fn insert_item_at_top_level() {
+        let mut value = Value::Table(Table::default());
+        let item = Value::Boolean(true);
+
+        value.insert("first", item.clone());
+
+        assert_eq!(value.get("first").unwrap(), &item);
+    }
+
+    #[test]
+    fn insert_nested_item() {
+        let mut value = Value::Table(Table::default());
+        let item = Value::Boolean(true);
+
+        value.insert("first.second", item.clone());
+
+        let inserted = value.read("first.second").unwrap();
+        assert_eq!(inserted, &item);
+    }
+
+    #[test]
+    fn delete_a_top_level_item() {
+        let src = "top = true";
+        let mut value = Value::from_str(src).unwrap();
+
+        let got = value.delete("top").unwrap();
+
+        assert_eq!(got, Value::Boolean(true));
+    }
+
+    #[test]
+    fn delete_a_nested_item() {
+        let src = "[table]\n nested = true";
+        let mut value = Value::from_str(src).unwrap();
+
+        let got = value.delete("table.nested").unwrap();
+
+        assert_eq!(got, Value::Boolean(true));
+    }
+}
diff --git a/test_book/book.toml b/test_book/book.toml
new file mode 100644
index 0000000..a305007
--- /dev/null
+++ b/test_book/book.toml
@@ -0,0 +1,27 @@
+[book]
+title = "mdBook test book"
+description = "A demo book to test and validate changes"
+authors = ["YJDoc2"]
+language = "en"
+
+[rust]
+edition = "2018"
+
+[output.html]
+mathjax-support = true
+
+[output.html.playground]
+editable = true
+line-numbers = true
+
+[output.html.search]
+limit-results = 20
+use-boolean-and = true
+boost-title = 2
+boost-hierarchy = 2
+boost-paragraph = 1
+expand = true
+heading-split-level = 2
+
+[output.html.redirect]
+"/format/config.html" = "configuration/index.html"
diff --git a/test_book/src/README.md b/test_book/src/README.md
new file mode 100644
index 0000000..04d5afd
--- /dev/null
+++ b/test_book/src/README.md
@@ -0,0 +1,12 @@
+# Demo Book
+
+This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook.
+This contains dummy examples of various markdown elements and code languages, so that one can check changes made in mdBook styles.
+
+This rough outline is :
+
+- individual : contains basic markdown elements such as headings, paragraphs, links etc.
+- languages : contains a `hello world` in each of supported language to see changes in syntax highlighting
+- rust : contains language examples specific to rust, such as play pen, runnable examples etc.
+
+This is more for checking and fixing style, rather than verifying that correct code is generated for given markdown, that is better handled in tests.
diff --git a/test_book/src/SUMMARY.md b/test_book/src/SUMMARY.md
new file mode 100644
index 0000000..6292fd2
--- /dev/null
+++ b/test_book/src/SUMMARY.md
@@ -0,0 +1,33 @@
+# Summary
+
+[Prefix Chapter](prefix.md)
+
+---
+
+- [Introduction](README.md)
+- [Draft Chapter]()
+
+# Actual Markdown Tag Examples
+
+- [Markdown Individual tags](individual/README.md)
+  - [Heading](individual/heading.md)
+  - [Paragraphs](individual/paragraph.md)
+  - [Line Break](individual/linebreak.md)
+  - [Emphasis](individual/emphasis.md)
+  - [Blockquote](individual/blockquote.md)
+  - [List](individual/list.md)
+  - [Code](individual/code.md)
+  - [Image](individual/image.md)
+  - [Links and Horizontal Rule](individual/link_hr.md)
+  - [Tables](individual/table.md)
+  - [Tasks](individual/task.md)
+  - [Strikethrough](individual/strikethrough.md)
+  - [Mixed](individual/mixed.md)
+- [Languages](languages/README.md)
+  - [Syntax Highlight](languages/highlight.md)
+- [Rust Specific](rust/README.md)
+  - [Rust Codeblocks](rust/rust_codeblock.md)
+
+---
+
+[Suffix Chapter](suffix.md)
diff --git a/test_book/src/individual/README.md b/test_book/src/individual/README.md
new file mode 100644
index 0000000..67a1e9d
--- /dev/null
+++ b/test_book/src/individual/README.md
@@ -0,0 +1,17 @@
+# Individual Common mark tags
+
+This contains following tags:
+
+- Headings
+- Paragraphs
+- Line breaks
+- Emphasis
+- Blockquotes
+- Lists
+- Code blocks
+- Images
+- Links and Horizontal rules
+- Github tables
+- Github Task Lists
+- Strikethrough
+- Mixed
diff --git a/test_book/src/individual/blockquote.md b/test_book/src/individual/blockquote.md
new file mode 100644
index 0000000..9f8be54
--- /dev/null
+++ b/test_book/src/individual/blockquote.md
@@ -0,0 +1,30 @@
+# Blockquote
+
+> This is a quoted sentence.
+
+> This is a quoted paragraph
+>
+> separated lines  
+> here
+
+> Nested
+>
+> > Quoted  
+> > Paragraph
+
+> ### And now,
+>
+> **Let us _introduce_**
+> All kinds of
+>
+> - tags
+> - etc
+> - stuff
+>
+> 1. In
+> 2. The
+> 3. blockquote
+>
+>    > cause we can
+>    >
+>    > > Cause we can
diff --git a/test_book/src/individual/code.md b/test_book/src/individual/code.md
new file mode 100644
index 0000000..c148728
--- /dev/null
+++ b/test_book/src/individual/code.md
@@ -0,0 +1,33 @@
+# Code
+
+This section only does simple code blocks and inline code, detailed syntax highlight and stuff is in the languages section
+
+---
+
+```
+This is a codeblock
+```
+
+---
+
+This line contains `inline code` mixed with some other stuff. (LTR)
+
+ושורה זו מכילה `inline code` אבל עם טקסט בשפה שנכתבת מימין לשמאל. (RTL)
+
+---
+
+````
+escaping ``` in ```, fun, isn't is?
+````
+
+---
+
+```bash,editable
+This is an editable codeblock
+```
+
+---
+
+```rust
+// This links to a playpen
+```
diff --git a/test_book/src/individual/emphasis.md b/test_book/src/individual/emphasis.md
new file mode 100644
index 0000000..deac530
--- /dev/null
+++ b/test_book/src/individual/emphasis.md
@@ -0,0 +1,13 @@
+# Emphasis
+
+This has **bold text** in between normal.
+
+This has _italic text_ in between normal.
+
+A **line** having _both_, bold and italic text.
+
+**A bold line _having_ italic text**
+
+_An Italic line having **bold** text_
+
+Now this is going **_out of hands_**.
diff --git a/test_book/src/individual/heading.md b/test_book/src/individual/heading.md
new file mode 100644
index 0000000..f9f4d5b
--- /dev/null
+++ b/test_book/src/individual/heading.md
@@ -0,0 +1,21 @@
+# Chapter Heading
+
+---
+
+# Really Big Heading
+
+## Big Heading
+
+### Normal-ish Heading
+
+#### Small Heading...?
+
+##### Really Small Heading
+
+###### Is it even a heading anymore - heading
+
+## Custom id {#example-id}
+
+## Custom class {.class1 .class2}
+
+## Both id and class {#example-id2 .class1 .class2}
diff --git a/test_book/src/individual/image.md b/test_book/src/individual/image.md
new file mode 100644
index 0000000..8bb66d3
--- /dev/null
+++ b/test_book/src/individual/image.md
@@ -0,0 +1,27 @@
+# Images
+
+For copyright and trademark information on these images, please check [rust-artwork repository](https://github.com/rust-lang/rust-artworkhttps://github.com/rust-lang/rust-artwork)
+
+## A 16x16 image
+
+![16x16 rust-lang logo](https://rust-lang.org/logos/rust-logo-16x16.png)
+
+## A 32x32 image
+
+![32x32 rust-lang logo](https://rust-lang.org/logos/rust-logo-32x32-blk.png)
+
+## A 256x256 image
+
+![256x256 rust-lang logo](https://rust-lang.org/logos/rust-logo-256x256.png)
+
+## A 512x512 image
+
+![512x512 rust-lang logo](https://rust-lang.org/logos/rust-logo-512x512-blk.png)
+
+## A large image
+
+![2018 rust-conf art](https://raw.githubusercontent.com/rust-lang/rust-artwork/master/2018-RustConf/lucy-mountain-climber.png)
+
+## A SVG image
+
+![2018 rust-conf art svg](https://raw.githubusercontent.com/rust-lang/rust-artwork/461afe27d8e02451cf9f46e507f2c2a71d2b276b/2018-RustConf/lucy-mountain-climber.svg)
diff --git a/test_book/src/individual/linebreak.md b/test_book/src/individual/linebreak.md
new file mode 100644
index 0000000..4d35359
--- /dev/null
+++ b/test_book/src/individual/linebreak.md
@@ -0,0 +1,8 @@
+# Line breaks
+
+This is a long  
+line with a couple of  
+line breaks in <br/>
+between : both with two  
+spaces and return, <br/>
+and with HTML tags.
diff --git a/test_book/src/individual/link_hr.md b/test_book/src/individual/link_hr.md
new file mode 100644
index 0000000..cc939a2
--- /dev/null
+++ b/test_book/src/individual/link_hr.md
@@ -0,0 +1,15 @@
+# Links and Horizontal Rule
+
+This is followed by a Horizontal rule
+
+---
+
+And this is preceded by a horizontal rule.
+
+[This](www.rust-lang.org) should link to rust-lang website  
+[So should this][rl].  
+**[This][rl]** is a strong link.  
+_[This][rl]_ is italic.  
+**_[This][rl]_** is both.
+
+[rl]: www.rust-lang.org
diff --git a/test_book/src/individual/list.md b/test_book/src/individual/list.md
new file mode 100644
index 0000000..a1431f9
--- /dev/null
+++ b/test_book/src/individual/list.md
@@ -0,0 +1,35 @@
+# Lists
+
+1. A
+2. Normal
+3. Ordered
+4. List
+
+---
+
+1. A
+   1. Nested
+   2. List
+2. But
+3. Still
+4. Normal
+
+---
+
+- An
+- Unordered
+- Normal
+- List
+
+---
+
+- Nested
+  - Unordered
+- List
+
+---
+
+- This
+  1. Is
+  2. Normal
+- ?!
diff --git a/test_book/src/individual/mixed.md b/test_book/src/individual/mixed.md
new file mode 100644
index 0000000..10b487a
--- /dev/null
+++ b/test_book/src/individual/mixed.md
@@ -0,0 +1,64 @@
+# Mixed
+
+This contains all tags randomly mixed together, to make sure style changes in one does not affect others.
+
+### A heading
+
+**Quite a Strong statement , to make**
+
+~~No, cross that~~
+
+> Whose **quote** is this
+>
+> > And ~~this~~
+> >
+> > > - and
+> > > - this
+> > > - also
+
+```
+You encountered a wild codepen
+```
+
+```rust,editable
+// The codepen is editable and runnable
+fn main(){
+    println!("Hello world!");
+}
+```
+
+<kbd>Ctrl</kbd> + <kbd>S</kbd> saves a file.
+
+A random image sprinkled in between
+
+![16x16 rust-lang logo](https://rust-lang.org/logos/rust-logo-16x16.png)
+
+---
+
+- ~~An unordered list~~
+- **Hello**
+- _World_
+- What
+  1. Should
+  2. be
+  3. `put`
+  4. here?
+  5. **<kbd>Ctrl</kbd> + <kbd>S</kbd> saves a file.**
+
+| col1 | col2 | col 3 | col 4 | col 5 | col 6 |
+| ---- | ---- | ----- | ----- | ----- | ----- |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+
+| col1 | col2 | col 3 | An Questionable table header | col 5 | col 6                                    |
+| ---- | ---- | ----- | ---------------------------- | ----- | ---------------------------------------- |
+| val1 | val2 | val3  | val5                         | val4  | An equally Questionable long table value |
+
+### Things to do
+
+- [x] Add individual tags
+- [ ] Add language examples
+- [ ] Add rust specific examples
+
+And another image
+
+![2018 rust-conf art svg](https://raw.githubusercontent.com/rust-lang/rust-artwork/461afe27d8e02451cf9f46e507f2c2a71d2b276b/2018-RustConf/lucy-mountain-climber.svg)
diff --git a/test_book/src/individual/paragraph.md b/test_book/src/individual/paragraph.md
new file mode 100644
index 0000000..032dd6e
--- /dev/null
+++ b/test_book/src/individual/paragraph.md
@@ -0,0 +1,25 @@
+Just a simple paragraph.
+
+Let's stress test this.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer elit lorem, eleifend eu leo sit amet, suscipit feugiat libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin congue lectus sit amet lacus venenatis, ac sollicitudin purus condimentum. Suspendisse pretium volutpat sapien at gravida. In tincidunt, sem non accumsan consectetur, leo libero porttitor dolor, at imperdiet erat nibh quis leo. Cras dictum erat augue, quis pharetra justo porttitor posuere. Aenean sed lacinia justo, vel suscipit nisl. Etiam eleifend id mauris at gravida. Aliquam molestie cursus lorem pulvinar sollicitudin. Nam et ex dignissim, posuere sem non, pellentesque lacus. Morbi vulputate sed lorem et convallis. Duis non turpis eget elit posuere volutpat. Donec accumsan euismod enim, id consequat ex rhoncus ac. Pellentesque ac felis nisl. Duis imperdiet vel tellus ac iaculis.
+
+Vivamus nec tempus enim. Integer in ligula eget elit ornare vulputate id et est. Proin mi elit, sagittis nec urna et, iaculis imperdiet neque. Vestibulum placerat cursus dolor. Donec eu sodales nulla. Praesent ac tellus eros. Donec venenatis ligula id ex porttitor malesuada. Aliquam maximus, nisi in fringilla finibus, ante elit rhoncus dui, placerat semper nisl tellus quis odio. Cras luctus magna ultrices dolor pharetra volutpat. Maecenas non enim vitae ligula efficitur aliquet id quis quam. In sagittis mollis magna eu porta. Morbi at nulla et ante elementum pharetra in sed est. Nam commodo purus enim.
+
+Ut non elit sit amet urna luctus facilisis vel et sapien. Morbi nec metus at libero imperdiet sollicitudin eget quis lacus. Donec in ipsum at enim accumsan tempor vel sed magna. Aliquam non imperdiet neque. Etiam pharetra neque sed pretium interdum. Suspendisse potenti. Phasellus varius, lectus quis dapibus faucibus, purus mauris accumsan nibh, vel tempor quam metus nec sem. Nunc sagittis suscipit lorem eu finibus. Nullam augue leo, imperdiet vel diam et, vulputate scelerisque turpis. Nullam ut volutpat diam. Praesent cursus accumsan dui a commodo. Vivamus sed libero sed turpis facilisis rutrum id sed ligula. Ut id sollicitudin dui. Nulla pulvinar commodo lectus. Cras ut quam congue, consectetur dolor ac, consequat ante.
+
+Curabitur scelerisque sed leo eu facilisis. Nam faucibus neque eget dictum hendrerit. Duis efficitur ex sed vulputate volutpat. Praesent condimentum nisl ac sapien efficitur laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut ut nibh elit. Nunc a neque lobortis, tempus diam vitae, interdum magna. Aenean eget nisl sed justo volutpat interdum. Mauris malesuada ex nisl, a dignissim dui elementum eget. Suspendisse potenti.
+
+Praesent congue fringilla sem sed faucibus. Vivamus malesuada eget mauris at molestie. In sed faucibus nulla. Vivamus elementum accumsan metus quis suscipit. Maecenas interdum est nulla. Cras volutpat cursus nibh quis sollicitudin. Morbi vitae massa laoreet, aliquet tellus quis, consectetur ipsum. Mauris euismod congue purus non condimentum. Etiam laoreet mi vel sem consectetur gravida. Vestibulum volutpat magna nunc, vitae ultrices risus commodo eu.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer elit lorem, eleifend eu leo sit amet, suscipit feugiat libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin congue lectus sit amet lacus venenatis, ac sollicitudin purus condimentum. Suspendisse pretium volutpat sapien at gravida. In tincidunt, sem non accumsan consectetur, leo libero porttitor dolor, at imperdiet erat nibh quis leo. Cras dictum erat augue, quis pharetra justo porttitor posuere. Aenean sed lacinia justo, vel suscipit nisl. Etiam eleifend id mauris at gravida. Aliquam molestie cursus lorem pulvinar sollicitudin. Nam et ex dignissim, posuere sem non, pellentesque lacus. Morbi vulputate sed lorem et convallis. Duis non turpis eget elit posuere volutpat. Donec accumsan euismod enim, id consequat ex rhoncus ac. Pellentesque ac felis nisl. Duis imperdiet vel tellus ac iaculis.
+
+Vivamus nec tempus enim. Integer in ligula eget elit ornare vulputate id et est. Proin mi elit, sagittis nec urna et, iaculis imperdiet neque. Vestibulum placerat cursus dolor. Donec eu sodales nulla. Praesent ac tellus eros. Donec venenatis ligula id ex porttitor malesuada. Aliquam maximus, nisi in fringilla finibus, ante elit rhoncus dui, placerat semper nisl tellus quis odio. Cras luctus magna ultrices dolor pharetra volutpat. Maecenas non enim vitae ligula efficitur aliquet id quis quam. In sagittis mollis magna eu porta. Morbi at nulla et ante elementum pharetra in sed est. Nam commodo purus enim.
+
+Ut non elit sit amet urna luctus facilisis vel et sapien. Morbi nec metus at libero imperdiet sollicitudin eget quis lacus. Donec in ipsum at enim accumsan tempor vel sed magna. Aliquam non imperdiet neque. Etiam pharetra neque sed pretium interdum. Suspendisse potenti. Phasellus varius, lectus quis dapibus faucibus, purus mauris accumsan nibh, vel tempor quam metus nec sem. Nunc sagittis suscipit lorem eu finibus. Nullam augue leo, imperdiet vel diam et, vulputate scelerisque turpis. Nullam ut volutpat diam. Praesent cursus accumsan dui a commodo. Vivamus sed libero sed turpis facilisis rutrum id sed ligula. Ut id sollicitudin dui. Nulla pulvinar commodo lectus. Cras ut quam congue, consectetur dolor ac, consequat ante.
+
+Curabitur scelerisque sed leo eu facilisis. Nam faucibus neque eget dictum hendrerit. Duis efficitur ex sed vulputate volutpat. Praesent condimentum nisl ac sapien efficitur laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut ut nibh elit. Nunc a neque lobortis, tempus diam vitae, interdum magna. Aenean eget nisl sed justo volutpat interdum. Mauris malesuada ex nisl, a dignissim dui elementum eget. Suspendisse potenti.
+
+Praesent congue fringilla sem sed faucibus. Vivamus malesuada eget mauris at molestie. In sed faucibus nulla. Vivamus elementum accumsan metus quis suscipit. Maecenas interdum est nulla. Cras volutpat cursus nibh quis sollicitudin. Morbi vitae massa laoreet, aliquet tellus quis, consectetur ipsum. Mauris euismod congue purus non condimentum. Etiam laoreet mi vel sem consectetur gravida. Vestibulum volutpat magna nunc, vitae ultrices risus commodo eu.
+
+Hopefully everything above was rendered nicely, on both desktop and mobile.
diff --git a/test_book/src/individual/strikethrough.md b/test_book/src/individual/strikethrough.md
new file mode 100644
index 0000000..9a54947
--- /dev/null
+++ b/test_book/src/individual/strikethrough.md
@@ -0,0 +1,7 @@
+# Strikethrough
+
+~Single strike~
+
+~~This is Striked~~
+
+~~This is **strong**, _italic_ , **_both_** and striked~~
diff --git a/test_book/src/individual/table.md b/test_book/src/individual/table.md
new file mode 100644
index 0000000..4358001
--- /dev/null
+++ b/test_book/src/individual/table.md
@@ -0,0 +1,28 @@
+# Tables
+
+| col1 | col2 |
+| ---- | ---- |
+
+---
+
+| col1 | col2 |
+| ---- | ---- |
+| val1 | val2 |
+
+---
+
+| col1 | col2 | col 3 | col 4 | col 5 | col 6 |
+| ---- | ---- | ----- | ----- | ----- | ----- |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+| val1 | val2 | val3  | val5  | val4  | val6  |
+
+---
+
+| col1                                                                                                           | col2 | col 3                                                                                                          | col 4                                                                                                          | col 5 | col 6                                                                                                          |
+| -------------------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------- |
+| This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | val2 | val3                                                                                                           | val5                                                                                                           | val4  | val6                                                                                                           |
+| val1                                                                                                           | val2 | val3                                                                                                           | val5                                                                                                           | val4  | val6                                                                                                           |
+| val1                                                                                                           | val2 | val3                                                                                                           | val5                                                                                                           | val4  | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. |
+| val1                                                                                                           | val2 | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | This is a simple demo book, which is intended to be used for verifying and validating style changes in mdBook. | val4  | val6                                                                                                           |
diff --git a/test_book/src/individual/task.md b/test_book/src/individual/task.md
new file mode 100644
index 0000000..8432772
--- /dev/null
+++ b/test_book/src/individual/task.md
@@ -0,0 +1,11 @@
+# Tasks
+
+- [ ] Task 1
+- [ ] Task 2
+- [x] Completed Task 1
+- [x] Completed Task 2
+
+---
+
+- [ ] **Important Task**
+- [x] _Completed Important task_
diff --git a/test_book/src/languages/README.md b/test_book/src/languages/README.md
new file mode 100644
index 0000000..4f70dd1
--- /dev/null
+++ b/test_book/src/languages/README.md
@@ -0,0 +1,48 @@
+# Syntax Highlighting
+
+This Currently contains following languages
+
+- apache
+- armasm
+- bash
+- c
+- coffeescript
+- cpp
+- csharp
+- css
+- d
+- diff
+- go
+- handlebars
+- haskell
+- http
+- ini
+- java
+- javascript
+- json
+- julia
+- kotlin
+- less
+- lua
+- makefile
+- markdown
+- nginx
+- nim
+- objectivec
+- perl
+- php
+- plaintext
+- properties
+- python
+- r
+- ruby
+- rust
+- scala
+- scss
+- shell
+- sql
+- swift
+- typescript
+- x86asm
+- xml
+- yaml
diff --git a/test_book/src/languages/highlight.md b/test_book/src/languages/highlight.md
new file mode 100644
index 0000000..371e315
--- /dev/null
+++ b/test_book/src/languages/highlight.md
@@ -0,0 +1,947 @@
+# Syntax Highlights
+
+## apache
+
+```apache
+# rewrite`s rules for wordpress pretty url
+LoadModule rewrite_module  modules/mod_rewrite.so
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule . index.php [NC,L]
+
+ExpiresActive On
+ExpiresByType application/x-javascript  "access plus 1 days"
+
+Order Deny,Allow
+Allow from All
+
+<Location /maps/>
+  RewriteMap map txt:map.txt
+  RewriteMap lower int:tolower
+  RewriteCond %{REQUEST_URI} ^/([^/.]+)\.html$ [NC]
+  RewriteCond ${map:${lower:%1}|NOT_FOUND} !NOT_FOUND
+  RewriteRule .? /index.php?q=${map:${lower:%1}} [NC,L]
+</Location>
+
+20.164.151.111 - - [20/Aug/2015:22:20:18 -0400] "GET /mywebpage/index.php HTTP/1.1" 403 772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
+```
+
+## armasm
+
+```armasm
+.data
+
+/* Data segment: define our message string and calculate its length. */
+msg:
+    .ascii      "Hello, ARM!\n"
+len = . - msg
+
+.text
+
+/* Our application's entry point. */
+.globl _start
+_start:
+    /* syscall write(int fd, const void *buf, size_t count) */
+    mov     %r0, $1     /* fd := STDOUT_FILENO */
+    ldr     %r1, =msg   /* buf := msg */
+    ldr     %r2, =len   /* count := len */
+    mov     %r7, $4     /* write is syscall #4 */
+    swi     $0          /* invoke syscall */
+
+    /* syscall exit(int status) */
+    mov     %r0, $0     /* status := 0 */
+    mov     %r7, $1     /* exit is syscall #1 */
+    swi     $0          /* invoke syscall */
+
+```
+
+## bash
+
+```bash
+#!/bin/bash
+
+###### CONFIG
+ACCEPTED_HOSTS="/root/.hag_accepted.conf"
+BE_VERBOSE=false
+
+if [ "$UID" -ne 0 ]
+then
+ echo "Superuser rights required"
+ exit 2
+fi
+
+genApacheConf(){
+ echo -e "# Host ${HOME_DIR}$1/$2 :"
+}
+
+echo '"quoted"' | tr -d \" > text.txt
+
+```
+
+## c
+
+```c
+#include <stdio.h>
+void main(int argc,char ** argv){
+    printf("Hello World!");
+}
+
+```
+
+## coffeescript
+
+```coffeescript
+grade = (student, period=(if b? then 7 else 6)) ->
+  if student.excellentWork
+    "A+"
+  else if student.okayStuff
+    if student.triedHard then "B" else "B-"
+  else
+    "C"
+
+class Animal extends Being
+  constructor: (@name) ->
+
+  move: (meters) ->
+    alert @name + " moved #{meters}m."
+```
+
+## cpp
+
+```cpp
+#include <iostream>
+using namespace std;
+int main() {
+   cout << "Hello, World!" << endl; // This prints Hello, World!
+   return 0;
+}
+```
+
+## csharp
+
+```csharp
+using System;
+class App
+{
+  static void Main()
+  {
+    Console.WriteLine("Hello World!");
+  }
+}
+```
+
+## css
+
+```css
+@font-face {
+  font-family: Chunkfive;
+  src: url('Chunkfive.otf');
+}
+
+body,
+.usertext {
+  color: #f0f0f0;
+  background: #600;
+  font-family: Chunkfive, sans;
+  --heading-1: 30px/32px Helvetica, sans-serif;
+}
+
+@import url(print.css);
+@media print {
+  a[href^='http']::after {
+    content: attr(href);
+  }
+}
+```
+
+## d
+
+```d
+/* This program prints a
+   hello world message
+   to the console.  */
+
+import std.stdio;
+
+void main()
+{
+    writeln("Hello, World!");
+}
+```
+
+## diff
+
+```diff
+Index: languages/ini.js
+===================================================================
+--- languages/ini.js    (revision 199)
++++ languages/ini.js    (revision 200)
+@@ -1,8 +1,7 @@
+ hljs.LANGUAGES.ini =
+ {
+   case_insensitive: true,
+-  defaultMode:
+-  {
++  defaultMode: {
+     contains: ['comment', 'title', 'setting'],
+     illegal: '[^\\s]'
+   },
+
+*** /path/to/original timestamp
+--- /path/to/new      timestamp
+***************
+*** 1,3 ****
+--- 1,9 ----
++ This is an important
++ notice! It should
++ therefore be located at
++ the beginning of this
++ document!
+
+! compress the size of the
+! changes.
+
+  It is important to spell
+```
+
+## go
+
+```go
+package main
+import "fmt"
+
+func main() {
+    fmt.Println("Hello World!")
+}
+```
+
+## handlebars
+
+```handlebars
+<div class='entry'>
+  {{! only show if author exists }}
+  {{#if author}}
+    <h1>{{firstName}} {{lastName}}</h1>
+  {{/if}}
+</div>
+```
+
+## haskell
+
+```haskell
+main :: IO ()
+main = putStrLn "Hello World!"
+
+```
+
+## http
+
+```http
+POST /task?id=1 HTTP/1.1
+Host: example.org
+Content-Type: application/json; charset=utf-8
+Content-Length: 137
+
+{
+  "status": "ok",
+  "extended": true,
+  "results": [
+    {"value": 0, "type": "int64"},
+    {"value": 1.0e+3, "type": "decimal"}
+  ]
+}
+
+```
+
+## ini
+
+```ini
+; boilerplate
+[package]
+name = "some_name"
+authors = ["Author"]
+description = "This is \
+a description"
+
+[[lib]]
+name = ${NAME}
+default = True
+auto = no
+counter = 1_000
+```
+
+## java
+
+```java
+class Main {
+ public static void main(String[] args) {
+    System.out.println("Hello World!");
+  }
+}
+```
+
+## javascript
+
+```javascript
+function $initHighlight(block, cls) {
+  try {
+    if (cls.search(/\bno\-highlight\b/) != -1)
+      return process(block, true, 0x0F) +
+             ` class="${cls}"`;
+  } catch (e) {
+    /* handle exception */
+  }
+  for (var i = 0 / 2; i < classes.length; i++) {
+    if (checkCondition(classes[i]) === undefined)
+      console.log('undefined');
+  }
+
+  return (
+    <div>
+      <web-component>{block}</web-component>
+    </div>
+  )
+}
+
+export  $initHighlight;
+```
+
+## json
+
+```json
+[
+  {
+    "title": "apples",
+    "count": [12000, 20000],
+    "description": { "text": "...", "sensitive": false }
+  },
+  {
+    "title": "oranges",
+    "count": [17500, null],
+    "description": { "text": "...", "sensitive": false }
+  }
+]
+```
+
+## julia
+
+```julia
+# function to calculate the volume of a sphere
+function sphere_vol(r)
+    # julia allows Unicode names (in UTF-8 encoding)
+    # so either "pi" or the symbol π can be used
+    return 4/3*pi*r^3
+end
+
+# functions can also be defined more succinctly
+quadratic(a, sqr_term, b) = (-b + sqr_term) / 2a
+
+# calculates x for 0 = a*x^2+b*x+c, arguments types can be defined in function definitions
+function quadratic2(a::Float64, b::Float64, c::Float64)
+    # unlike other languages 2a is equivalent to 2*a
+    # a^2 is used instead of a**2 or pow(a,2)
+    sqr_term = sqrt(b^2-4a*c)
+    r1 = quadratic(a, sqr_term, b)
+    r2 = quadratic(a, -sqr_term, b)
+    # multiple values can be returned from a function using tuples
+    # if the return keyword is omitted, the last term is returned
+    r1, r2
+end
+
+vol = sphere_vol(3)
+```
+
+## kotlin
+
+```kotlin
+package org.kotlinlang.play
+
+fun main() {
+    println("Hello, World!")
+}
+```
+
+## less
+
+```less
+@import 'fruits';
+
+@rhythm: 1.5em;
+
+@media screen and (min-resolution: 2dppx) {
+  body {
+    font-size: 125%;
+  }
+}
+
+section > .foo + #bar:hover [href*='less'] {
+  margin: @rhythm 0 0 @rhythm;
+  padding: calc(5% + 20px);
+  background: #f00ba7 url(http://placehold.alpha-centauri/42.png) no-repeat;
+  background-image: linear-gradient(-135deg, wheat, fuchsia) !important ;
+  background-blend-mode: multiply;
+}
+
+@font-face {
+  font-family: /* ? */ 'Omega';
+  src: url('../fonts/omega-webfont.woff?v=2.0.2');
+}
+
+.icon-baz::before {
+  display: inline-block;
+  font-family: 'Omega', Alpha, sans-serif;
+  content: '\f085';
+  color: rgba(98, 76 /* or 54 */, 231, 0.75);
+}
+```
+
+## lua
+
+```lua
+--[[
+Simple signal/slot implementation
+]]
+local signal_mt = {
+    __index = {
+        register = table.insert
+    }
+}
+function signal_mt.__index:emit(... --[[ Comment in params ]])
+    for _, slot in ipairs(self) do
+        slot(self, ...)
+    end
+end
+local function create_signal()
+    return setmetatable({}, signal_mt)
+end
+
+-- Signal test
+local signal = create_signal()
+signal:register(function(signal, ...)
+    print(...)
+end)
+signal:emit('Answer to Life, the Universe, and Everything:', 42)
+
+--[==[ [=[ [[
+Nested ]]
+multi-line ]=]
+comment ]==]
+[==[ Nested
+[=[ multi-line
+[[ string
+]] ]=] ]==]
+```
+
+## makefile
+
+```makefile
+# Makefile
+
+BUILDDIR      = _build
+EXTRAS       ?= $(BUILDDIR)/extras
+
+.PHONY: main clean
+
+main:
+	@echo "Building main facility..."
+	build_main $(BUILDDIR)
+
+clean:
+	rm -rf $(BUILDDIR)/*
+
+```
+
+## markdown
+
+```markdown
+# hello world
+
+you can write text [with links](http://example.com) inline or [link references][1].
+
+- one _thing_ has *em*phasis
+- two **things** are **bold**
+
+[1]: http://example.com
+
+---
+
+# hello world
+
+<this_is inline="xml"></this_is>
+
+> markdown is so cool
+
+    so are code segments
+
+1. one thing (yeah!)
+2. two thing `i can write code`, and `more` wipee!
+```
+
+## nginx
+
+```nginx
+user  www www;
+worker_processes  2;
+pid /var/run/nginx.pid;
+error_log  /var/log/nginx.error_log  debug | info | notice | warn | error | crit;
+
+events {
+    connections   2000;
+    use kqueue | rtsig | epoll | /dev/poll | select | poll;
+}
+
+http {
+    log_format main      '$remote_addr - $remote_user [$time_local] '
+                         '"$request" $status $bytes_sent '
+                         '"$http_referer" "$http_user_agent" '
+                         '"$gzip_ratio"';
+
+    send_timeout 3m;
+    client_header_buffer_size 1k;
+
+    gzip on;
+    gzip_min_length 1100;
+
+    #lingering_time 30;
+
+    server {
+        server_name   one.example.com  www.one.example.com;
+        access_log   /var/log/nginx.access_log  main;
+
+        rewrite (.*) /index.php?page=$1 break;
+
+        location / {
+            proxy_pass         http://127.0.0.1/;
+            proxy_redirect     off;
+            proxy_set_header   Host             $host;
+            proxy_set_header   X-Real-IP        $remote_addr;
+            charset            koi8-r;
+        }
+
+        location /api/ {
+            fastcgi_pass 127.0.0.1:9000;
+        }
+
+        location ~* \.(jpg|jpeg|gif)$ {
+            root         /spool/www;
+        }
+    }
+}
+```
+
+## nim
+
+```nim
+from strutils import `%`
+
+const numDoors = 100
+var doors {.compileTime.}: array[1..numDoors, bool]
+
+proc calcDoors(): string =
+  for pass in 1..numDoors:
+    for door in countup(pass, numDoors, pass):
+      doors[door] = not doors[door]
+  for door in 1..numDoors:
+    result.add("Door $1 is $2.\n" % [$door, if doors[door]: "open" else: "closed"])
+
+const outputString: string = calcDoors()
+
+echo outputString
+```
+
+## objectivec
+
+```objectivec
+#import <Foundation/Foundation.h>
+
+int main(int argc, const char * argv[]) {
+    @mylak {
+        NSLog(@"Hello World!");
+    }
+    return 0;
+}
+
+```
+
+## perl
+
+```perl
+print "Hello World!\n";
+```
+
+## php
+
+```php
+<?php
+echo "Hello World!";
+?>
+```
+
+## plaintext
+
+```plaintext
+I think this is simply plain text?
+Hello World!
+```
+
+## properties
+
+```properties
+# .properties
+! Exclamation mark = comments, too
+
+key1 = value1
+key2 : value2
+key3   value3
+key\ spaces multiline\
+            value4
+empty_key
+! Key can contain escaped chars
+\:\= = value5
+```
+
+## python
+
+```python
+@requires_authorization(roles=["ADMIN"])
+def somefunc(param1='', param2=0):
+    r'''A docstring'''
+    if param1 > param2: # interesting
+        print 'Gre\'ater'
+    return (param2 - param1 + 1 + 0b10l) or None
+
+class SomeClass:
+    pass
+
+>>> message = '''interpreter
+... prompt'''
+```
+
+## r
+
+```r
+require(stats)
+
+#' Compute different averages
+#'
+#' @param x \code{numeric} vector of sample data
+#' @param type \code{character} vector of length 1 specifying the average type
+#' @return \code{centre} returns the sample average according to the chosen method.
+#' @examples
+#' centre(rcauchy(10), "mean")
+#' @export
+centre <- function(x, type) {
+  switch(type,
+         mean = mean(x),
+         median = median(x),
+         trimmed = mean(x, trim = .1))
+}
+x <- rcauchy(10)
+centre(x, "mean")
+
+library(ggplot2)
+
+models <- tibble::tribble(
+  ~model_name,    ~ formula,
+  "length-width", Sepal.Length ~ Petal.Width + Petal.Length,
+  "interaction",  Sepal.Length ~ Petal.Width * Petal.Length
+)
+
+iris %>%
+  nest_by(Species) %>%
+  left_join(models, by = character()) %>%
+  rowwise(Species, model_name) %>%
+  mutate(model = list(lm(formula, data = data))) %>%
+  summarise(broom::glance(model))
+```
+
+## ruby
+
+```ruby
+# The Greeter class
+class Greeter
+  def initialize(name)
+    @name = name.capitalize
+  end
+
+  def salute
+    puts "Hello #{@name}!"
+  end
+end
+
+g = Greeter.new("world")
+g.salute
+```
+
+## rust
+
+```rust
+fn main()->(){
+    println!("Hello World!");
+}
+```
+
+## scala
+
+```scala
+/**
+ * A person has a name and an age.
+ */
+case class Person(name: String, age: Int)
+
+abstract class Vertical extends CaseJeu
+case class Haut(a: Int) extends Vertical
+case class Bas(name: String, b: Double) extends Vertical
+
+sealed trait Ior[+A, +B]
+case class Left[A](a: A) extends Ior[A, Nothing]
+case class Right[B](b: B) extends Ior[Nothing, B]
+case class Both[A, B](a: A, b: B) extends Ior[A, B]
+
+trait Functor[F[_]] {
+  def map[A, B](fa: F[A], f: A => B): F[B]
+}
+
+// beware Int.MinValue
+def absoluteValue(n: Int): Int =
+  if (n < 0) -n else n
+
+def interp(n: Int): String =
+  s"there are $n ${color} balloons.\n"
+
+type ξ[A] = (A, A)
+
+trait Hist { lhs =>
+  def ⊕(rhs: Hist): Hist
+}
+
+def gsum[A: Ring](as: Seq[A]): A =
+  as.foldLeft(Ring[A].zero)(_ + _)
+
+val actions: List[Symbol] =
+  'init :: 'read :: 'write :: 'close :: Nil
+```
+
+## scss
+
+```scss
+import "compass/reset";
+
+// variables
+$colorGreen: #008000;
+$colorGreenDark: darken($colorGreen, 10);
+
+@mixin container {
+    max-width: 980px;
+}
+
+// mixins with parameters
+@mixin button($color:green) {
+    @if ($color == green) {
+        background-color: #008000;
+    }
+    @else if ($color == red) {
+        background-color: #B22222;
+    }
+}
+
+button {
+    @include button(red);
+}
+
+div,
+.navbar,
+#header,
+input[type="input"] {
+    font-family: "Helvetica Neue", Arial, sans-serif;
+    width: auto;
+    margin: 0 auto;
+    display: block;
+}
+
+.row-12 > [class*="spans"] {
+    border-left: 1px solid #B5C583;
+}
+
+```
+
+## shell
+
+```shell
+$ echo $EDITOR
+vim
+$ git checkout main
+Switched to branch 'main'
+Your branch is up-to-date with 'origin/main'.
+$ git push
+Everything up-to-date
+$ echo 'All
+> done!'
+All
+done!
+
+```
+
+## sql
+
+```sql
+CREATE TABLE "topic" (
+    "id" integer NOT NULL PRIMARY KEY,
+    "forum_id" integer NOT NULL,
+    "subject" varchar(255) NOT NULL
+);
+ALTER TABLE "topic"
+ADD CONSTRAINT forum_id FOREIGN KEY ("forum_id")
+REFERENCES "forum" ("id");
+
+-- Initials
+insert into "topic" ("forum_id", "subject")
+values (2, 'D''artagnian');
+```
+
+## swift
+
+```swift
+import Foundation
+
+@objc class Person: Entity {
+  var name: String!
+  var age:  Int!
+
+  init(name: String, age: Int) {
+    /* /* ... */ */
+  }
+
+  // Return a descriptive string for this person
+  func description(offset: Int = 0) -> String {
+    return "\(name) is \(age + offset) years old"
+  }
+}
+```
+
+## typescript
+
+```typescript
+class MyClass {
+  public static myValue: string;
+  constructor(init: string) {
+    this.myValue = init;
+  }
+}
+import fs = require("fs");
+module MyModule {
+  export interface MyInterface extends Other {
+    myProperty: any;
+  }
+}
+declare magicNumber number;
+myArray.forEach(() => { }); // fat arrow syntax
+
+```
+
+## x86asm
+
+```x86asm
+section .text
+extern  _MessageBoxA@16
+%if     __NASM_VERSION_ID__ >= 0x02030000
+safeseh handler         ; register handler as "safe handler"
+%endif
+
+handler:
+        push    dword 1 ; MB_OKCANCEL
+        push    dword caption
+        push    dword text
+        push    dword 0
+        call    _MessageBoxA@16
+        sub     eax,1   ; incidentally suits as return value
+                        ; for exception handler
+        ret
+
+global  _main
+_main:  push    dword handler
+        push    dword [fs:0]
+        mov     dword [fs:0], esp
+        xor     eax,eax
+        mov     eax, dword[eax]   ; cause exception
+        pop     dword [fs:0]      ; disengage exception handler
+        add     esp, 4
+        ret
+
+avx2:   vzeroupper
+        push      rbx
+        mov       rbx,   rsp
+        sub       rsp,   0h20
+        vmovdqa   ymm0,  [rcx]
+        vpaddb    ymm0,  [rdx]
+        leave
+        ret
+
+text:   db      'OK to rethrow, CANCEL to generate core dump',0
+caption:db      'SEGV',0
+
+section .drectve info
+        db      '/defaultlib:user32.lib /defaultlib:msvcrt.lib '
+```
+
+## xml
+
+```xml
+<!DOCTYPE html>
+<title>Title</title>
+
+<style>body {width: 500px;}</style>
+
+<script type="application/javascript">
+  function $init() {return true;}
+</script>
+
+<body>
+  <p checked class="title" id='title'>Title</p>
+  <!-- here goes the rest of the page -->
+</body>
+```
+
+## yaml
+
+```yaml
+---
+# comment
+string_1: "Bar"
+string_2: 'bar'
+string_3: bar
+inline_keys_ignored: sompath/name/file.jpg
+keywords_in_yaml:
+  - true
+  - false
+  - TRUE
+  - FALSE
+  - 21
+  - 21.0
+  - !!str 123
+"quoted_key": &foobar
+  bar: foo
+  foo:
+  "foo": bar
+
+reference: *foobar
+
+multiline_1: |
+  Multiline
+  String
+multiline_2: >
+  Multiline
+  String
+multiline_3: "
+  Multiline string
+  "
+
+ansible_variables: "foo {{variable}}"
+
+array_nested:
+- a
+- b: 1
+  c: 2
+- b
+- comment
+```
diff --git a/test_book/src/prefix.md b/test_book/src/prefix.md
new file mode 100644
index 0000000..1c40c2c
--- /dev/null
+++ b/test_book/src/prefix.md
@@ -0,0 +1,3 @@
+# Prefix Chapter
+
+This is to verify the placement and style of prefix chapter in book index.
diff --git a/test_book/src/rust/README.md b/test_book/src/rust/README.md
new file mode 100644
index 0000000..e3bb350
--- /dev/null
+++ b/test_book/src/rust/README.md
@@ -0,0 +1 @@
+# Rust specific code examples
diff --git a/test_book/src/rust/rust_codeblock.md b/test_book/src/rust/rust_codeblock.md
new file mode 100644
index 0000000..5fb2b72
--- /dev/null
+++ b/test_book/src/rust/rust_codeblock.md
@@ -0,0 +1,27 @@
+## Rust codeblocks
+
+This contains various examples of codeblocks, specific to rust
+
+## Simple
+
+```rust
+fn main(){
+    println!("Hello world!");
+}
+```
+
+## With Hidden lines
+
+```rust
+# fn main(){
+    println!("Hello world!");
+# }
+```
+
+## Editable
+
+```rust,editable
+fn main(){
+    println!("Hello world!");
+}
+```
diff --git a/test_book/src/suffix.md b/test_book/src/suffix.md
new file mode 100644
index 0000000..9d86853
--- /dev/null
+++ b/test_book/src/suffix.md
@@ -0,0 +1,3 @@
+# Suffix Chapter
+
+This is to verify the placement and style of suffix chapter in book index.
diff --git a/tests/alternative_backends.rs b/tests/alternative_backends.rs
new file mode 100644
index 0000000..72594e5
--- /dev/null
+++ b/tests/alternative_backends.rs
@@ -0,0 +1,164 @@
+//! Integration tests to make sure alternative backends work.
+
+use mdbook::config::Config;
+use mdbook::MDBook;
+use std::fs;
+use std::path::Path;
+use tempfile::{Builder as TempFileBuilder, TempDir};
+
+#[test]
+fn passing_alternate_backend() {
+    let (md, _temp) = dummy_book_with_backend("passing", success_cmd(), false);
+
+    md.build().unwrap();
+}
+
+#[test]
+fn failing_alternate_backend() {
+    let (md, _temp) = dummy_book_with_backend("failing", fail_cmd(), false);
+
+    md.build().unwrap_err();
+}
+
+#[test]
+fn missing_backends_are_fatal() {
+    let (md, _temp) = dummy_book_with_backend("missing", "trduyvbhijnorgevfuhn", false);
+    assert!(md.build().is_err());
+}
+
+#[test]
+fn missing_optional_backends_are_not_fatal() {
+    let (md, _temp) = dummy_book_with_backend("missing", "trduyvbhijnorgevfuhn", true);
+    assert!(md.build().is_ok());
+}
+
+#[test]
+fn alternate_backend_with_arguments() {
+    let (md, _temp) = dummy_book_with_backend("arguments", "echo Hello World!", false);
+
+    md.build().unwrap();
+}
+
+/// Get a command which will pipe `stdin` to the provided file.
+#[cfg(not(windows))]
+fn tee_command<P: AsRef<Path>>(out_file: P) -> String {
+    let out_file = out_file.as_ref();
+
+    if cfg!(windows) {
+        format!("cmd.exe /c \"type > {}\"", out_file.display())
+    } else {
+        format!("tee {}", out_file.display())
+    }
+}
+
+#[test]
+#[cfg(not(windows))]
+fn backends_receive_render_context_via_stdin() {
+    use mdbook::renderer::RenderContext;
+    use std::fs::File;
+
+    let temp = TempFileBuilder::new().prefix("output").tempdir().unwrap();
+    let out_file = temp.path().join("out.txt");
+    let cmd = tee_command(&out_file);
+
+    let (md, _temp) = dummy_book_with_backend("cat-to-file", &cmd, false);
+
+    assert!(!out_file.exists());
+    md.build().unwrap();
+    assert!(out_file.exists());
+
+    let got = RenderContext::from_json(File::open(&out_file).unwrap());
+    assert!(got.is_ok());
+}
+
+#[test]
+fn relative_command_path() {
+    // Checks behavior of relative paths for the `command` setting.
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let renderers = temp.path().join("renderers");
+    fs::create_dir(&renderers).unwrap();
+    rust_exe(
+        &renderers,
+        "myrenderer",
+        r#"fn main() {
+            std::fs::write("output", "test").unwrap();
+        }"#,
+    );
+    let do_test = |cmd_path| {
+        let mut config = Config::default();
+        config
+            .set("output.html", toml::value::Table::new())
+            .unwrap();
+        config.set("output.myrenderer.command", cmd_path).unwrap();
+        let md = MDBook::init(temp.path())
+            .with_config(config)
+            .build()
+            .unwrap();
+        let output = temp.path().join("book/myrenderer/output");
+        assert!(!output.exists());
+        md.build().unwrap();
+        assert!(output.exists());
+        fs::remove_file(output).unwrap();
+    };
+    // Legacy paths work, relative to the output directory.
+    if cfg!(windows) {
+        do_test("../../renderers/myrenderer.exe");
+    } else {
+        do_test("../../renderers/myrenderer");
+    }
+    // Modern path, relative to the book directory.
+    do_test("renderers/myrenderer");
+}
+
+fn dummy_book_with_backend(
+    name: &str,
+    command: &str,
+    backend_is_optional: bool,
+) -> (MDBook, TempDir) {
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+
+    let mut config = Config::default();
+    config
+        .set(format!("output.{}.command", name), command)
+        .unwrap();
+
+    if backend_is_optional {
+        config
+            .set(format!("output.{}.optional", name), true)
+            .unwrap();
+    }
+
+    let md = MDBook::init(temp.path())
+        .with_config(config)
+        .build()
+        .unwrap();
+
+    (md, temp)
+}
+
+fn fail_cmd() -> &'static str {
+    if cfg!(windows) {
+        r#"cmd.exe /c "exit 1""#
+    } else {
+        "false"
+    }
+}
+
+fn success_cmd() -> &'static str {
+    if cfg!(windows) {
+        r#"cmd.exe /c "exit 0""#
+    } else {
+        "true"
+    }
+}
+
+fn rust_exe(temp: &Path, name: &str, src: &str) {
+    let rs = temp.join(name).with_extension("rs");
+    fs::write(&rs, src).unwrap();
+    let status = std::process::Command::new("rustc")
+        .arg(rs)
+        .current_dir(temp)
+        .status()
+        .expect("rustc should run");
+    assert!(status.success());
+}
diff --git a/tests/build_process.rs b/tests/build_process.rs
new file mode 100644
index 0000000..10d0b4a
--- /dev/null
+++ b/tests/build_process.rs
@@ -0,0 +1,78 @@
+mod dummy_book;
+
+use crate::dummy_book::DummyBook;
+use mdbook::book::Book;
+use mdbook::config::Config;
+use mdbook::errors::*;
+use mdbook::preprocess::{Preprocessor, PreprocessorContext};
+use mdbook::renderer::{RenderContext, Renderer};
+use mdbook::MDBook;
+use std::sync::{Arc, Mutex};
+
+struct Spy(Arc<Mutex<Inner>>);
+
+#[derive(Debug, Default)]
+struct Inner {
+    run_count: usize,
+    rendered_with: Vec<String>,
+}
+
+impl Preprocessor for Spy {
+    fn name(&self) -> &str {
+        "dummy"
+    }
+
+    fn run(&self, ctx: &PreprocessorContext, book: Book) -> Result<Book> {
+        let mut inner = self.0.lock().unwrap();
+        inner.run_count += 1;
+        inner.rendered_with.push(ctx.renderer.clone());
+        Ok(book)
+    }
+}
+
+impl Renderer for Spy {
+    fn name(&self) -> &str {
+        "dummy"
+    }
+
+    fn render(&self, _ctx: &RenderContext) -> Result<()> {
+        let mut inner = self.0.lock().unwrap();
+        inner.run_count += 1;
+        Ok(())
+    }
+}
+
+#[test]
+fn mdbook_runs_preprocessors() {
+    let spy: Arc<Mutex<Inner>> = Default::default();
+
+    let temp = DummyBook::new().build().unwrap();
+    let cfg = Config::default();
+
+    let mut book = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    book.with_preprocessor(Spy(Arc::clone(&spy)));
+    book.build().unwrap();
+
+    let inner = spy.lock().unwrap();
+    assert_eq!(inner.run_count, 1);
+    assert_eq!(inner.rendered_with.len(), 1);
+    assert_eq!(
+        "html", inner.rendered_with[0],
+        "We should have been run with the default HTML renderer"
+    );
+}
+
+#[test]
+fn mdbook_runs_renderers() {
+    let spy: Arc<Mutex<Inner>> = Default::default();
+
+    let temp = DummyBook::new().build().unwrap();
+    let cfg = Config::default();
+
+    let mut book = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    book.with_renderer(Spy(Arc::clone(&spy)));
+    book.build().unwrap();
+
+    let inner = spy.lock().unwrap();
+    assert_eq!(inner.run_count, 1);
+}
diff --git a/tests/cli/build.rs b/tests/cli/build.rs
new file mode 100644
index 0000000..0daba9d
--- /dev/null
+++ b/tests/cli/build.rs
@@ -0,0 +1,28 @@
+use crate::cli::cmd::mdbook_cmd;
+use crate::dummy_book::DummyBook;
+
+#[test]
+fn mdbook_cli_dummy_book_generates_index_html() {
+    let temp = DummyBook::new().build().unwrap();
+
+    // doesn't exist before
+    assert!(!temp.path().join("book").exists());
+
+    let mut cmd = mdbook_cmd();
+    cmd.arg("build").current_dir(temp.path());
+    cmd.assert()
+        .success()
+        .stderr(
+            predicates::str::is_match(r##"Stack depth exceeded in first[\\/]recursive.md."##)
+                .unwrap(),
+        )
+        .stderr(predicates::str::contains(
+            r##"[INFO] (mdbook::book): Running the html backend"##,
+        ));
+
+    // exists afterward
+    assert!(temp.path().join("book").exists());
+
+    let index_file = temp.path().join("book/index.html");
+    assert!(index_file.exists());
+}
diff --git a/tests/cli/cmd.rs b/tests/cli/cmd.rs
new file mode 100644
index 0000000..a612f3a
--- /dev/null
+++ b/tests/cli/cmd.rs
@@ -0,0 +1,7 @@
+use assert_cmd::Command;
+
+pub(crate) fn mdbook_cmd() -> Command {
+    let mut cmd = Command::cargo_bin("mdbook").unwrap();
+    cmd.env_remove("RUST_LOG");
+    cmd
+}
diff --git a/tests/cli/init.rs b/tests/cli/init.rs
new file mode 100644
index 0000000..6bd1227
--- /dev/null
+++ b/tests/cli/init.rs
@@ -0,0 +1,24 @@
+use crate::cli::cmd::mdbook_cmd;
+use crate::dummy_book::DummyBook;
+
+use mdbook::config::Config;
+
+/// Run `mdbook init` with `--force` to skip the confirmation prompts
+#[test]
+fn base_mdbook_init_can_skip_confirmation_prompts() {
+    let temp = DummyBook::new().build().unwrap();
+
+    // doesn't exist before
+    assert!(!temp.path().join("book").exists());
+
+    let mut cmd = mdbook_cmd();
+    cmd.args(["init", "--force"]).current_dir(temp.path());
+    cmd.assert()
+        .success()
+        .stdout(predicates::str::contains("\nAll done, no errors...\n"));
+
+    let config = Config::from_disk(temp.path().join("book.toml")).unwrap();
+    assert_eq!(config.book.title, None);
+
+    assert!(!temp.path().join(".gitignore").exists());
+}
diff --git a/tests/cli/mod.rs b/tests/cli/mod.rs
new file mode 100644
index 0000000..152b4ee
--- /dev/null
+++ b/tests/cli/mod.rs
@@ -0,0 +1,4 @@
+mod build;
+mod cmd;
+mod init;
+mod test;
diff --git a/tests/cli/test.rs b/tests/cli/test.rs
new file mode 100644
index 0000000..63114d3
--- /dev/null
+++ b/tests/cli/test.rs
@@ -0,0 +1,34 @@
+use crate::cli::cmd::mdbook_cmd;
+use crate::dummy_book::DummyBook;
+
+use predicates::boolean::PredicateBooleanExt;
+
+#[test]
+fn mdbook_cli_can_correctly_test_a_passing_book() {
+    let temp = DummyBook::new().with_passing_test(true).build().unwrap();
+
+    let mut cmd = mdbook_cmd();
+    cmd.arg("test").current_dir(temp.path());
+    cmd.assert().success()
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "README.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "intro.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "first[\\/]index.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "first[\\/]nested.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"returned an error:\n\n"##).unwrap().not())
+      .stderr(predicates::str::is_match(r##"Nested_Chapter::Rustdoc_include_works_with_anchors_too \(line \d+\) ... FAILED"##).unwrap().not());
+}
+
+#[test]
+fn mdbook_cli_detects_book_with_failing_tests() {
+    let temp = DummyBook::new().with_passing_test(false).build().unwrap();
+
+    let mut cmd = mdbook_cmd();
+    cmd.arg("test").current_dir(temp.path());
+    cmd.assert().failure()
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "README.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "intro.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "first[\\/]index.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"Testing chapter [^:]*: "first[\\/]nested.md""##).unwrap())
+      .stderr(predicates::str::is_match(r##"returned an error:\n\n"##).unwrap())
+      .stderr(predicates::str::is_match(r##"Nested_Chapter::Rustdoc_include_works_with_anchors_too \(line \d+\) ... FAILED"##).unwrap());
+}
diff --git a/tests/cli_tests.rs b/tests/cli_tests.rs
new file mode 100644
index 0000000..0b005d0
--- /dev/null
+++ b/tests/cli_tests.rs
@@ -0,0 +1,2 @@
+mod cli;
+mod dummy_book;
diff --git a/tests/custom_preprocessors.rs b/tests/custom_preprocessors.rs
new file mode 100644
index 0000000..8237602
--- /dev/null
+++ b/tests/custom_preprocessors.rs
@@ -0,0 +1,56 @@
+mod dummy_book;
+
+use crate::dummy_book::DummyBook;
+use mdbook::preprocess::{CmdPreprocessor, Preprocessor};
+use mdbook::MDBook;
+
+fn example() -> CmdPreprocessor {
+    CmdPreprocessor::new(
+        "nop-preprocessor".to_string(),
+        "cargo run --example nop-preprocessor --".to_string(),
+    )
+}
+
+#[test]
+fn example_supports_whatever() {
+    let cmd = example();
+
+    let got = cmd.supports_renderer("whatever");
+
+    assert_eq!(got, true);
+}
+
+#[test]
+fn example_doesnt_support_not_supported() {
+    let cmd = example();
+
+    let got = cmd.supports_renderer("not-supported");
+
+    assert_eq!(got, false);
+}
+
+#[test]
+fn ask_the_preprocessor_to_blow_up() {
+    let dummy_book = DummyBook::new();
+    let temp = dummy_book.build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+    md.with_preprocessor(example());
+
+    md.config
+        .set("preprocessor.nop-preprocessor.blow-up", true)
+        .unwrap();
+
+    let got = md.build();
+
+    assert!(got.is_err());
+}
+
+#[test]
+fn process_the_dummy_book() {
+    let dummy_book = DummyBook::new();
+    let temp = dummy_book.build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+    md.with_preprocessor(example());
+
+    md.build().unwrap();
+}
diff --git a/tests/dummy_book/index_html_test/SUMMARY.md b/tests/dummy_book/index_html_test/SUMMARY.md
new file mode 100644
index 0000000..37bf68c
--- /dev/null
+++ b/tests/dummy_book/index_html_test/SUMMARY.md
@@ -0,0 +1,11 @@
+# Summary
+
+---
+
+- [None of these should be treated as the "index chapter"]()
+
+# Part 1
+
+- [Not this either]()
+- [Chapter 1](./chapter_1.md)
+- [And not this]()
diff --git a/tests/dummy_book/index_html_test/chapter_1.md b/tests/dummy_book/index_html_test/chapter_1.md
new file mode 100644
index 0000000..b743fda
--- /dev/null
+++ b/tests/dummy_book/index_html_test/chapter_1.md
@@ -0,0 +1 @@
+# Chapter 1
diff --git a/tests/dummy_book/mod.rs b/tests/dummy_book/mod.rs
new file mode 100644
index 0000000..f91ed9f
--- /dev/null
+++ b/tests/dummy_book/mod.rs
@@ -0,0 +1,145 @@
+//! This will create an entire book in a temporary directory using some
+//! dummy contents from the `tests/dummy-book/` directory.
+
+// Not all features are used in all test crates, so...
+#![allow(dead_code, unused_variables, unused_imports, unused_extern_crates)]
+
+use anyhow::Context;
+use mdbook::errors::*;
+use mdbook::MDBook;
+use std::fs::{self, File};
+use std::io::{Read, Write};
+use std::path::Path;
+use tempfile::{Builder as TempFileBuilder, TempDir};
+use walkdir::WalkDir;
+
+/// Create a dummy book in a temporary directory, using the contents of
+/// `SUMMARY_MD` as a guide.
+///
+/// The "Nested Chapter" file contains a code block with a single
+/// `assert!($TEST_STATUS)`. If you want to check MDBook's testing
+/// functionality, `$TEST_STATUS` can be substitute for either `true` or
+/// `false`. This is done using the `passing_test` parameter.
+#[derive(Clone, Debug, PartialEq)]
+pub struct DummyBook {
+    passing_test: bool,
+}
+
+impl DummyBook {
+    /// Create a new `DummyBook` with all the defaults.
+    pub fn new() -> DummyBook {
+        DummyBook { passing_test: true }
+    }
+
+    /// Whether the doc-test included in the "Nested Chapter" should pass or
+    /// fail (it passes by default).
+    pub fn with_passing_test(&mut self, test_passes: bool) -> &mut DummyBook {
+        self.passing_test = test_passes;
+        self
+    }
+
+    /// Write a book to a temporary directory using the provided settings.
+    pub fn build(&self) -> Result<TempDir> {
+        let temp = TempFileBuilder::new()
+            .prefix("dummy_book-")
+            .tempdir()
+            .with_context(|| "Unable to create temp directory")?;
+
+        let dummy_book_root = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/dummy_book");
+        recursive_copy(&dummy_book_root, temp.path()).with_context(|| {
+            "Couldn't copy files into a \
+             temporary directory"
+        })?;
+
+        let sub_pattern = if self.passing_test { "true" } else { "false" };
+        let files_containing_tests = [
+            "src/first/nested.md",
+            "src/first/nested-test.rs",
+            "src/first/nested-test-with-anchors.rs",
+            "src/first/partially-included-test.rs",
+            "src/first/partially-included-test-with-anchors.rs",
+        ];
+        for file in &files_containing_tests {
+            let path_containing_tests = temp.path().join(file);
+            replace_pattern_in_file(&path_containing_tests, "$TEST_STATUS", sub_pattern)?;
+        }
+
+        Ok(temp)
+    }
+}
+
+fn replace_pattern_in_file(filename: &Path, from: &str, to: &str) -> Result<()> {
+    let contents = fs::read_to_string(filename)?;
+    File::create(filename)?.write_all(contents.replace(from, to).as_bytes())?;
+
+    Ok(())
+}
+
+/// Read the contents of the provided file into memory and then iterate through
+/// the list of strings asserting that the file contains all of them.
+pub fn assert_contains_strings<P: AsRef<Path>>(filename: P, strings: &[&str]) {
+    let filename = filename.as_ref();
+    let content = fs::read_to_string(filename).expect("Couldn't read the file's contents");
+
+    for s in strings {
+        assert!(
+            content.contains(s),
+            "Searching for {:?} in {}\n\n{}",
+            s,
+            filename.display(),
+            content
+        );
+    }
+}
+
+pub fn assert_doesnt_contain_strings<P: AsRef<Path>>(filename: P, strings: &[&str]) {
+    let filename = filename.as_ref();
+    let content = fs::read_to_string(filename).expect("Couldn't read the file's contents");
+
+    for s in strings {
+        assert!(
+            !content.contains(s),
+            "Found {:?} in {}\n\n{}",
+            s,
+            filename.display(),
+            content
+        );
+    }
+}
+
+/// Recursively copy an entire directory tree to somewhere else (a la `cp -r`).
+fn recursive_copy<A: AsRef<Path>, B: AsRef<Path>>(from: A, to: B) -> Result<()> {
+    let from = from.as_ref();
+    let to = to.as_ref();
+
+    for entry in WalkDir::new(from) {
+        let entry = entry.with_context(|| "Unable to inspect directory entry")?;
+
+        let original_location = entry.path();
+        let relative = original_location
+            .strip_prefix(from)
+            .expect("`original_location` is inside the `from` directory");
+        let new_location = to.join(relative);
+
+        if original_location.is_file() {
+            if let Some(parent) = new_location.parent() {
+                fs::create_dir_all(parent).with_context(|| "Couldn't create directory")?;
+            }
+
+            fs::copy(original_location, &new_location)
+                .with_context(|| "Unable to copy file contents")?;
+        }
+    }
+
+    Ok(())
+}
+
+pub fn new_copy_of_example_book() -> Result<TempDir> {
+    let temp = TempFileBuilder::new().prefix("guide").tempdir()?;
+
+    let guide = Path::new(env!("CARGO_MANIFEST_DIR")).join("guide");
+
+    recursive_copy(guide, temp.path())?;
+
+    Ok(temp)
+}
diff --git a/tests/dummy_book/src/README.md b/tests/dummy_book/src/README.md
new file mode 100644
index 0000000..7d946e3
--- /dev/null
+++ b/tests/dummy_book/src/README.md
@@ -0,0 +1,5 @@
+# Dummy Book
+
+This file is just here to cause the index preprocessor to run.
+
+Does a pretty good job, too.
\ No newline at end of file
diff --git a/tests/dummy_book/src/SUMMARY.md b/tests/dummy_book/src/SUMMARY.md
new file mode 100644
index 0000000..f310508
--- /dev/null
+++ b/tests/dummy_book/src/SUMMARY.md
@@ -0,0 +1,23 @@
+# Summary
+
+[Dummy Book](README.md)
+
+---
+
+[Introduction](intro.md)
+
+- [First Chapter](first/index.md)
+    - [Nested Chapter](first/nested.md)
+    - [Includes](first/includes.md)
+    - [Recursive](first/recursive.md)
+    - [Markdown](first/markdown.md)
+    - [Unicode](first/unicode.md)
+    - [No Headers](first/no-headers.md)
+    - [Duplicate Headers](first/duplicate-headers.md)
+    - [Heading Attributes](first/heading-attributes.md)
+- [Second Chapter](second.md)
+    - [Nested Chapter](second/nested.md)
+
+---
+
+[Conclusion](conclusion.md)
diff --git a/tests/dummy_book/src/conclusion.md b/tests/dummy_book/src/conclusion.md
new file mode 100644
index 0000000..ba121c1
--- /dev/null
+++ b/tests/dummy_book/src/conclusion.md
@@ -0,0 +1,20 @@
+# Conclusion
+
+<p>
+<!--secret secret-->
+I put &lt;HTML&gt; in here!<br/>
+</p>
+<script type="text/javascript" >
+// I probably shouldn't do this
+if (3 < 5 > 10)
+{
+    alert("The sky is falling!");
+}
+</script >
+<style >
+/*
+css looks, like this {
+    foo: < 3 <bar >
+}
+*/
+</style>
diff --git a/tests/dummy_book/src/example.rs b/tests/dummy_book/src/example.rs
new file mode 100644
index 0000000..6b49705
--- /dev/null
+++ b/tests/dummy_book/src/example.rs
@@ -0,0 +1,6 @@
+fn main() {
+    println!("Hello World!");
+#
+#    // You can even hide lines! :D
+#   println!("I am hidden! Expand the code snippet to see me");
+}
diff --git a/tests/dummy_book/src/first/duplicate-headers.md b/tests/dummy_book/src/first/duplicate-headers.md
new file mode 100644
index 0000000..83522b4
--- /dev/null
+++ b/tests/dummy_book/src/first/duplicate-headers.md
@@ -0,0 +1,9 @@
+# Duplicate headers
+
+This page validates behaviour of duplicate headers.
+
+# Header Text
+
+# Header Text
+
+# header-text
diff --git a/tests/dummy_book/src/first/heading-attributes.md b/tests/dummy_book/src/first/heading-attributes.md
new file mode 100644
index 0000000..a09a22b
--- /dev/null
+++ b/tests/dummy_book/src/first/heading-attributes.md
@@ -0,0 +1,5 @@
+# Heading Attributes {#attrs}
+
+## Heading with classes {.class1 .class2}
+
+## Heading with id and classes {#both .class1 .class2}
diff --git a/tests/dummy_book/src/first/includes.md b/tests/dummy_book/src/first/includes.md
new file mode 100644
index 0000000..a5a2fef
--- /dev/null
+++ b/tests/dummy_book/src/first/includes.md
@@ -0,0 +1,3 @@
+# Includes
+
+{{#include ../SUMMARY.md::}}
\ No newline at end of file
diff --git a/tests/dummy_book/src/first/index.md b/tests/dummy_book/src/first/index.md
new file mode 100644
index 0000000..200672b
--- /dev/null
+++ b/tests/dummy_book/src/first/index.md
@@ -0,0 +1,5 @@
+# First Chapter
+
+more text.
+
+## Some Section
diff --git a/tests/dummy_book/src/first/markdown.md b/tests/dummy_book/src/first/markdown.md
new file mode 100644
index 0000000..d65d3d3
--- /dev/null
+++ b/tests/dummy_book/src/first/markdown.md
@@ -0,0 +1,29 @@
+# Markdown tests
+
+Tests for some markdown output.
+
+## Tables
+
+| foo | bar |
+| --- | --- |
+| baz | bim |
+
+## Footnotes
+
+Footnote example[^1], or with a word[^word].
+
+[^1]: This is a footnote.
+
+[^word]: A longer footnote.
+    With multiple lines.
+    Third line.
+
+## Strikethrough
+
+~~strikethrough example~~
+
+## Tasklisks
+
+- [X] Apples
+- [X] Broccoli
+- [ ] Carrots
diff --git a/tests/dummy_book/src/first/nested-test-with-anchors.rs b/tests/dummy_book/src/first/nested-test-with-anchors.rs
new file mode 100644
index 0000000..783ab14
--- /dev/null
+++ b/tests/dummy_book/src/first/nested-test-with-anchors.rs
@@ -0,0 +1,11 @@
+// The next line will cause a `testing` test to fail if the anchor feature is broken in such a way
+// that the whole file gets mistakenly included.
+assert!(!$TEST_STATUS);
+
+// ANCHOR: myanchor
+// ANCHOR: unendinganchor
+// The next line will cause a `rendered_output` test to fail if the anchor feature is broken in
+// such a way that the content between anchors isn't included.
+// unique-string-for-anchor-test
+assert!($TEST_STATUS);
+// ANCHOR_END: myanchor
diff --git a/tests/dummy_book/src/first/nested-test.rs b/tests/dummy_book/src/first/nested-test.rs
new file mode 100644
index 0000000..2bc46e0
--- /dev/null
+++ b/tests/dummy_book/src/first/nested-test.rs
@@ -0,0 +1 @@
+assert!($TEST_STATUS);
diff --git a/tests/dummy_book/src/first/nested.md b/tests/dummy_book/src/first/nested.md
new file mode 100644
index 0000000..ae90763
--- /dev/null
+++ b/tests/dummy_book/src/first/nested.md
@@ -0,0 +1,31 @@
+# Nested Chapter
+
+This file has some testable code.
+
+```rust
+assert!($TEST_STATUS);
+```
+
+## Some Section
+
+```rust
+{{#include nested-test.rs}}
+```
+
+## Anchors include the part of a file between special comments
+
+```rust
+{{#include nested-test-with-anchors.rs:myanchor}}
+```
+
+## Rustdoc include adds the rest of the file as hidden
+
+```rust
+{{#rustdoc_include partially-included-test.rs:5:7}}
+```
+
+## Rustdoc include works with anchors too
+
+```rust
+{{#rustdoc_include partially-included-test-with-anchors.rs:rustdoc-include-anchor}}
+```
diff --git a/tests/dummy_book/src/first/no-headers.md b/tests/dummy_book/src/first/no-headers.md
new file mode 100644
index 0000000..5d799aa
--- /dev/null
+++ b/tests/dummy_book/src/first/no-headers.md
@@ -0,0 +1,5 @@
+Capybara capybara capybara.
+
+Capybara capybara capybara.
+
+ThisLongWordIsIncludedSoWeCanCheckThatSufficientlyLongWordsAreOmittedFromTheSearchIndex.
diff --git a/tests/dummy_book/src/first/partially-included-test-with-anchors.rs b/tests/dummy_book/src/first/partially-included-test-with-anchors.rs
new file mode 100644
index 0000000..17b6afe
--- /dev/null
+++ b/tests/dummy_book/src/first/partially-included-test-with-anchors.rs
@@ -0,0 +1,11 @@
+fn some_other_function() {
+    // ANCHOR: unused-anchor-that-should-be-stripped
+    assert!($TEST_STATUS);
+    // ANCHOR_END: unused-anchor-that-should-be-stripped
+}
+
+// ANCHOR: rustdoc-include-anchor
+fn main() {
+    some_other_function();
+}
+// ANCHOR_END: rustdoc-include-anchor
diff --git a/tests/dummy_book/src/first/partially-included-test.rs b/tests/dummy_book/src/first/partially-included-test.rs
new file mode 100644
index 0000000..1f8421b
--- /dev/null
+++ b/tests/dummy_book/src/first/partially-included-test.rs
@@ -0,0 +1,7 @@
+fn some_function() {
+    assert!($TEST_STATUS);
+}
+
+fn main() {
+    some_function();
+}
diff --git a/tests/dummy_book/src/first/recursive.md b/tests/dummy_book/src/first/recursive.md
new file mode 100644
index 0000000..cb82a52
--- /dev/null
+++ b/tests/dummy_book/src/first/recursive.md
@@ -0,0 +1,2 @@
+Around the world, around the world
+{{#include recursive.md}}
diff --git a/tests/dummy_book/src/first/unicode.md b/tests/dummy_book/src/first/unicode.md
new file mode 100644
index 0000000..160cc36
--- /dev/null
+++ b/tests/dummy_book/src/first/unicode.md
@@ -0,0 +1,21 @@
+# Unicode stress tests
+
+Please be careful editing, this contains carefully crafted characters.
+
+Two byte character: spatiëring
+
+Combining character: spatiëring
+
+Three byte character: 书こんにちは
+
+Four byte character: 𐌀‮𐌁‮𐌂‮𐌃‮𐌄‮𐌅‮𐌆‮𐌇‮𐌈‬
+
+Right-to-left: مرحبا
+
+Emoticons: 🔊 😍 💜 1️⃣
+
+right-to-left mark: hello באמת!‏
+
+
+Zalgo: ǫ̛̖̱̗̝͈̋͒͋̏ͥͫ̒̆ͩ̏͌̾͊͐ͪ̾̚
+
diff --git a/tests/dummy_book/src/intro.md b/tests/dummy_book/src/intro.md
new file mode 100644
index 0000000..1990ef5
--- /dev/null
+++ b/tests/dummy_book/src/intro.md
@@ -0,0 +1,3 @@
+# Introduction
+
+Here's some interesting text...
\ No newline at end of file
diff --git a/tests/dummy_book/src/second.md b/tests/dummy_book/src/second.md
new file mode 100644
index 0000000..adf4fca
--- /dev/null
+++ b/tests/dummy_book/src/second.md
@@ -0,0 +1,5 @@
+# Second Chapter
+
+This makes sure you can insert runnable Rust files.
+
+{{#playground example.rs}}
diff --git a/tests/dummy_book/src/second/nested.md b/tests/dummy_book/src/second/nested.md
new file mode 100644
index 0000000..faf1187
--- /dev/null
+++ b/tests/dummy_book/src/second/nested.md
@@ -0,0 +1,16 @@
+# Testing relative links for the print page
+
+When we link to [the first section](../first/nested.md), it should work on
+both the print page and the non-print page.
+
+A [fragment link](#some-section) should work.
+
+Link [outside](../../std/foo/bar.html).
+
+![Some image](../images/picture.png)
+
+<a href="../first/markdown.md">HTML Link</a>
+
+<img src="../images/picture.png" alt="raw html">
+
+## Some section
diff --git a/tests/dummy_book/src2/README.md b/tests/dummy_book/src2/README.md
new file mode 100644
index 0000000..ba23d94
--- /dev/null
+++ b/tests/dummy_book/src2/README.md
@@ -0,0 +1 @@
+# Root README
diff --git a/tests/dummy_book/src2/SUMMARY.md b/tests/dummy_book/src2/SUMMARY.md
new file mode 100644
index 0000000..6b279fc
--- /dev/null
+++ b/tests/dummy_book/src2/SUMMARY.md
@@ -0,0 +1,7 @@
+# This dummy book is for testing the conversion of README.md to index.html by IndexPreprocessor
+
+[Root README](README.md)
+
+- [1st README](first/README.md)
+- [2nd README](second/README.md)
+    - [2nd index](second/index.md)
diff --git a/tests/dummy_book/src2/first/README.md b/tests/dummy_book/src2/first/README.md
new file mode 100644
index 0000000..d062d2c
--- /dev/null
+++ b/tests/dummy_book/src2/first/README.md
@@ -0,0 +1 @@
+# First README
diff --git a/tests/dummy_book/src2/second/README.md b/tests/dummy_book/src2/second/README.md
new file mode 100644
index 0000000..be81f85
--- /dev/null
+++ b/tests/dummy_book/src2/second/README.md
@@ -0,0 +1 @@
+# Second README
diff --git a/tests/dummy_book/src2/second/index.md b/tests/dummy_book/src2/second/index.md
new file mode 100644
index 0000000..f232745
--- /dev/null
+++ b/tests/dummy_book/src2/second/index.md
@@ -0,0 +1 @@
+# Second index
diff --git a/tests/dummy_book/summary-formatting/SUMMARY.md b/tests/dummy_book/summary-formatting/SUMMARY.md
new file mode 100644
index 0000000..336218d
--- /dev/null
+++ b/tests/dummy_book/summary-formatting/SUMMARY.md
@@ -0,0 +1,6 @@
+# Summary formatting tests
+
+- [*Italic* `code` \*escape\* \`escape2\`](formatted-summary.md)
+- [Soft
+line break](soft.md)
+- [\<escaped tag\>](escaped-tag.md)
diff --git a/tests/init.rs b/tests/init.rs
new file mode 100644
index 0000000..2b6ad50
--- /dev/null
+++ b/tests/init.rs
@@ -0,0 +1,159 @@
+use mdbook::config::Config;
+use mdbook::MDBook;
+use pretty_assertions::assert_eq;
+use std::fs;
+use std::fs::File;
+use std::io::prelude::*;
+use std::path::PathBuf;
+use tempfile::Builder as TempFileBuilder;
+
+/// Run `mdbook init` in an empty directory and make sure the default files
+/// are created.
+#[test]
+fn base_mdbook_init_should_create_default_content() {
+    let created_files = vec!["book", "src", "src/SUMMARY.md", "src/chapter_1.md"];
+
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    for file in &created_files {
+        assert!(!temp.path().join(file).exists());
+    }
+
+    MDBook::init(temp.path()).build().unwrap();
+
+    for file in &created_files {
+        let target = temp.path().join(file);
+        println!("{}", target.display());
+        assert!(target.exists(), "{} doesn't exist", file);
+    }
+
+    let contents = fs::read_to_string(temp.path().join("book.toml")).unwrap();
+    assert_eq!(
+        contents,
+        "[book]\nauthors = []\nlanguage = \"en\"\nmultilingual = false\nsrc = \"src\"\n"
+    );
+}
+
+/// Run `mdbook init` in a directory containing a SUMMARY.md should create the
+/// files listed in the summary.
+#[test]
+fn run_mdbook_init_should_create_content_from_summary() {
+    let created_files = vec!["intro.md", "first.md", "outro.md"];
+
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let src_dir = temp.path().join("src");
+    fs::create_dir_all(src_dir.clone()).unwrap();
+    static SUMMARY: &str = r#"# Summary
+
+[intro](intro.md)
+
+- [First chapter](first.md)
+
+[outro](outro.md)
+
+"#;
+
+    let mut summary = File::create(src_dir.join("SUMMARY.md")).unwrap();
+    summary.write_all(SUMMARY.as_bytes()).unwrap();
+    MDBook::init(temp.path()).build().unwrap();
+
+    for file in &created_files {
+        let target = src_dir.join(file);
+        println!("{}", target.display());
+        assert!(target.exists(), "{} doesn't exist", file);
+    }
+}
+
+/// Set some custom arguments for where to place the source and destination
+/// files, then call `mdbook init`.
+#[test]
+fn run_mdbook_init_with_custom_book_and_src_locations() {
+    let created_files = vec!["out", "in", "in/SUMMARY.md", "in/chapter_1.md"];
+
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    for file in &created_files {
+        assert!(
+            !temp.path().join(file).exists(),
+            "{} shouldn't exist yet!",
+            file
+        );
+    }
+
+    let mut cfg = Config::default();
+    cfg.book.src = PathBuf::from("in");
+    cfg.build.build_dir = PathBuf::from("out");
+
+    MDBook::init(temp.path()).with_config(cfg).build().unwrap();
+
+    for file in &created_files {
+        let target = temp.path().join(file);
+        assert!(
+            target.exists(),
+            "{} should have been created by `mdbook init`",
+            file
+        );
+    }
+
+    let contents = fs::read_to_string(temp.path().join("book.toml")).unwrap();
+    assert_eq!(
+        contents,
+        "[book]\nauthors = []\nlanguage = \"en\"\nmultilingual = false\nsrc = \"in\"\n\n[build]\nbuild-dir = \"out\"\ncreate-missing = true\nextra-watch-dirs = []\nuse-default-preprocessors = true\n"
+    );
+}
+
+#[test]
+fn book_toml_isnt_required() {
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let md = MDBook::init(temp.path()).build().unwrap();
+
+    let _ = fs::remove_file(temp.path().join("book.toml"));
+
+    md.build().unwrap();
+}
+
+#[test]
+fn copy_theme() {
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    MDBook::init(temp.path()).copy_theme(true).build().unwrap();
+    let expected = vec![
+        "book.js",
+        "css/chrome.css",
+        "css/general.css",
+        "css/print.css",
+        "css/variables.css",
+        "favicon.png",
+        "favicon.svg",
+        "fonts/OPEN-SANS-LICENSE.txt",
+        "fonts/SOURCE-CODE-PRO-LICENSE.txt",
+        "fonts/fonts.css",
+        "fonts/open-sans-v17-all-charsets-300.woff2",
+        "fonts/open-sans-v17-all-charsets-300italic.woff2",
+        "fonts/open-sans-v17-all-charsets-600.woff2",
+        "fonts/open-sans-v17-all-charsets-600italic.woff2",
+        "fonts/open-sans-v17-all-charsets-700.woff2",
+        "fonts/open-sans-v17-all-charsets-700italic.woff2",
+        "fonts/open-sans-v17-all-charsets-800.woff2",
+        "fonts/open-sans-v17-all-charsets-800italic.woff2",
+        "fonts/open-sans-v17-all-charsets-italic.woff2",
+        "fonts/open-sans-v17-all-charsets-regular.woff2",
+        "fonts/source-code-pro-v11-all-charsets-500.woff2",
+        "highlight.css",
+        "highlight.js",
+        "index.hbs",
+    ];
+    let theme_dir = temp.path().join("theme");
+    let mut actual: Vec<_> = walkdir::WalkDir::new(&theme_dir)
+        .into_iter()
+        .filter_map(|e| e.ok())
+        .filter(|e| !e.file_type().is_dir())
+        .map(|e| {
+            e.path()
+                .strip_prefix(&theme_dir)
+                .unwrap()
+                .to_str()
+                .unwrap()
+                .replace('\\', "/")
+        })
+        .collect();
+    actual.sort();
+    assert_eq!(actual, expected);
+}
diff --git a/tests/parse_existing_summary_files.rs b/tests/parse_existing_summary_files.rs
new file mode 100644
index 0000000..418ec31
--- /dev/null
+++ b/tests/parse_existing_summary_files.rs
@@ -0,0 +1,43 @@
+//! Some integration tests to make sure the `SUMMARY.md` parser can deal with
+//! some real-life examples.
+
+use mdbook::book;
+use std::fs::File;
+use std::io::Read;
+use std::path::Path;
+
+macro_rules! summary_md_test {
+    ($name:ident, $filename:expr) => {
+        #[test]
+        fn $name() {
+            env_logger::try_init().ok();
+
+            let filename = Path::new(env!("CARGO_MANIFEST_DIR"))
+                .join("tests")
+                .join("summary_md_files")
+                .join($filename);
+
+            if !filename.exists() {
+                panic!("{} Doesn't exist", filename.display());
+            }
+
+            let mut content = String::new();
+            File::open(&filename)
+                .unwrap()
+                .read_to_string(&mut content)
+                .unwrap();
+
+            if let Err(e) = book::parse_summary(&content) {
+                eprintln!("Error parsing {}", filename.display());
+                eprintln!();
+                eprintln!("{:?}", e);
+                panic!();
+            }
+        }
+    };
+}
+
+summary_md_test!(rust_by_example, "rust_by_example.md");
+summary_md_test!(rust_ffi_guide, "rust_ffi_guide.md");
+summary_md_test!(example_book, "example_book.md");
+summary_md_test!(the_book_2nd_edition, "the_book-2nd_edition.md");
diff --git a/tests/rendered_output.rs b/tests/rendered_output.rs
new file mode 100644
index 0000000..7626b9e
--- /dev/null
+++ b/tests/rendered_output.rs
@@ -0,0 +1,970 @@
+mod dummy_book;
+
+use crate::dummy_book::{assert_contains_strings, assert_doesnt_contain_strings, DummyBook};
+
+use anyhow::Context;
+use mdbook::config::Config;
+use mdbook::errors::*;
+use mdbook::utils::fs::write_file;
+use mdbook::MDBook;
+use pretty_assertions::assert_eq;
+use select::document::Document;
+use select::predicate::{Class, Name, Predicate};
+use std::collections::HashMap;
+use std::ffi::OsStr;
+use std::fs;
+use std::io::Write;
+use std::path::{Component, Path, PathBuf};
+use std::str::FromStr;
+use tempfile::Builder as TempFileBuilder;
+use walkdir::{DirEntry, WalkDir};
+
+const BOOK_ROOT: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/dummy_book");
+const TOC_TOP_LEVEL: &[&str] = &[
+    "1. First Chapter",
+    "2. Second Chapter",
+    "Conclusion",
+    "Dummy Book",
+    "Introduction",
+];
+const TOC_SECOND_LEVEL: &[&str] = &[
+    "1.1. Nested Chapter",
+    "1.2. Includes",
+    "1.3. Recursive",
+    "1.4. Markdown",
+    "1.5. Unicode",
+    "1.6. No Headers",
+    "1.7. Duplicate Headers",
+    "1.8. Heading Attributes",
+    "2.1. Nested Chapter",
+];
+
+/// Make sure you can load the dummy book and build it without panicking.
+#[test]
+fn build_the_dummy_book() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+
+    md.build().unwrap();
+}
+
+#[test]
+fn by_default_mdbook_generates_rendered_content_in_the_book_directory() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+
+    assert!(!temp.path().join("book").exists());
+    md.build().unwrap();
+
+    assert!(temp.path().join("book").exists());
+    let index_file = md.build_dir_for("html").join("index.html");
+    assert!(index_file.exists());
+}
+
+#[test]
+fn make_sure_bottom_level_files_contain_links_to_chapters() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let dest = temp.path().join("book");
+    let links = vec![
+        r#"href="intro.html""#,
+        r#"href="first/index.html""#,
+        r#"href="first/nested.html""#,
+        r#"href="second.html""#,
+        r#"href="conclusion.html""#,
+    ];
+
+    let files_in_bottom_dir = vec!["index.html", "intro.html", "second.html", "conclusion.html"];
+
+    for filename in files_in_bottom_dir {
+        assert_contains_strings(dest.join(filename), &links);
+    }
+}
+
+#[test]
+fn check_correct_cross_links_in_nested_dir() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let first = temp.path().join("book").join("first");
+    let links = vec![
+        r#"href="../intro.html""#,
+        r#"href="../first/index.html""#,
+        r#"href="../first/nested.html""#,
+        r#"href="../second.html""#,
+        r#"href="../conclusion.html""#,
+    ];
+
+    let files_in_nested_dir = vec!["index.html", "nested.html"];
+
+    for filename in files_in_nested_dir {
+        assert_contains_strings(first.join(filename), &links);
+    }
+
+    assert_contains_strings(
+        first.join("index.html"),
+        &[r##"<h2 id="some-section"><a class="header" href="#some-section">"##],
+    );
+
+    assert_contains_strings(
+        first.join("nested.html"),
+        &[r##"<h2 id="some-section"><a class="header" href="#some-section">"##],
+    );
+}
+
+#[test]
+fn check_correct_relative_links_in_print_page() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let first = temp.path().join("book");
+
+    assert_contains_strings(
+        first.join("print.html"),
+        &[
+            r##"<a href="second/../first/nested.html">the first section</a>,"##,
+            r##"<a href="second/../../std/foo/bar.html">outside</a>"##,
+            r##"<img src="second/../images/picture.png" alt="Some image" />"##,
+            r##"<a href="second/nested.html#some-section">fragment link</a>"##,
+            r##"<a href="second/../first/markdown.html">HTML Link</a>"##,
+            r##"<img src="second/../images/picture.png" alt="raw html">"##,
+        ],
+    );
+}
+
+#[test]
+fn rendered_code_has_playground_stuff() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let nested = temp.path().join("book/first/nested.html");
+    let playground_class = vec![r#"class="playground""#];
+
+    assert_contains_strings(nested, &playground_class);
+
+    let book_js = temp.path().join("book/book.js");
+    assert_contains_strings(book_js, &[".playground"]);
+}
+
+#[test]
+fn rendered_code_does_not_have_playground_stuff_in_html_when_disabled_in_config() {
+    let temp = DummyBook::new().build().unwrap();
+    let config = Config::from_str(
+        "
+    [output.html.playground]
+    runnable = false
+    ",
+    )
+    .unwrap();
+    let md = MDBook::load_with_config(temp.path(), config).unwrap();
+    md.build().unwrap();
+
+    let nested = temp.path().join("book/first/nested.html");
+    let playground_class = vec![r#"class="playground""#];
+
+    assert_doesnt_contain_strings(nested, &playground_class);
+}
+
+#[test]
+fn anchors_include_text_between_but_not_anchor_comments() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let nested = temp.path().join("book/first/nested.html");
+    let text_between_anchors = vec!["unique-string-for-anchor-test"];
+    let anchor_text = vec!["ANCHOR"];
+
+    assert_contains_strings(nested.clone(), &text_between_anchors);
+    assert_doesnt_contain_strings(nested, &anchor_text);
+}
+
+#[test]
+fn rustdoc_include_hides_the_unspecified_part_of_the_file() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let nested = temp.path().join("book/first/nested.html");
+    let text = vec![
+        "<span class=\"boring\">fn some_function() {",
+        "<span class=\"boring\">fn some_other_function() {",
+    ];
+
+    assert_contains_strings(nested, &text);
+}
+
+#[test]
+fn chapter_content_appears_in_rendered_document() {
+    let content = vec![
+        ("index.html", "This file is just here to cause the"),
+        ("intro.html", "Here's some interesting text"),
+        ("second.html", "Second Chapter"),
+        ("first/nested.html", "testable code"),
+        ("first/index.html", "more text"),
+        ("conclusion.html", "Conclusion"),
+    ];
+
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let destination = temp.path().join("book");
+
+    for (filename, text) in content {
+        let path = destination.join(filename);
+        assert_contains_strings(path, &[text]);
+    }
+}
+
+/// Apply a series of predicates to some root predicate, where each
+/// successive predicate is the descendant of the last one. Similar to how you
+/// might do `ul.foo li a` in CSS to access all anchor tags in the `foo` list.
+macro_rules! descendants {
+    ($root:expr, $($child:expr),*) => {
+        $root
+        $(
+            .descendant($child)
+        )*
+    };
+}
+
+/// Make sure that all `*.md` files (excluding `SUMMARY.md`) were rendered
+/// and placed in the `book` directory with their extensions set to `*.html`.
+#[test]
+fn chapter_files_were_rendered_to_html() {
+    let temp = DummyBook::new().build().unwrap();
+    let src = Path::new(BOOK_ROOT).join("src");
+
+    let chapter_files = WalkDir::new(&src)
+        .into_iter()
+        .filter_entry(|entry| entry_ends_with(entry, ".md"))
+        .filter_map(std::result::Result::ok)
+        .map(|entry| entry.path().to_path_buf())
+        .filter(|path| path.file_name().and_then(OsStr::to_str) != Some("SUMMARY.md"));
+
+    for chapter in chapter_files {
+        let rendered_location = temp
+            .path()
+            .join(chapter.strip_prefix(&src).unwrap())
+            .with_extension("html");
+        assert!(
+            rendered_location.exists(),
+            "{} doesn't exits",
+            rendered_location.display()
+        );
+    }
+}
+
+fn entry_ends_with(entry: &DirEntry, ending: &str) -> bool {
+    entry.file_name().to_string_lossy().ends_with(ending)
+}
+
+/// Read the main page (`book/index.html`) and expose it as a DOM which we
+/// can search with the `select` crate
+fn root_index_html() -> Result<Document> {
+    let temp = DummyBook::new()
+        .build()
+        .with_context(|| "Couldn't create the dummy book")?;
+    MDBook::load(temp.path())?
+        .build()
+        .with_context(|| "Book building failed")?;
+
+    let index_page = temp.path().join("book").join("index.html");
+    let html = fs::read_to_string(index_page).with_context(|| "Unable to read index.html")?;
+
+    Ok(Document::from(html.as_str()))
+}
+
+#[test]
+fn check_second_toc_level() {
+    let doc = root_index_html().unwrap();
+    let mut should_be = Vec::from(TOC_SECOND_LEVEL);
+    should_be.sort_unstable();
+
+    let pred = descendants!(
+        Class("chapter"),
+        Name("li"),
+        Name("li"),
+        Name("a").and(Class("toggle").not())
+    );
+
+    let mut children_of_children: Vec<_> = doc
+        .find(pred)
+        .map(|elem| elem.text().trim().to_string())
+        .collect();
+    children_of_children.sort();
+
+    assert_eq!(children_of_children, should_be);
+}
+
+#[test]
+fn check_first_toc_level() {
+    let doc = root_index_html().unwrap();
+    let mut should_be = Vec::from(TOC_TOP_LEVEL);
+
+    should_be.extend(TOC_SECOND_LEVEL);
+    should_be.sort_unstable();
+
+    let pred = descendants!(
+        Class("chapter"),
+        Name("li"),
+        Name("a").and(Class("toggle").not())
+    );
+
+    let mut children: Vec<_> = doc
+        .find(pred)
+        .map(|elem| elem.text().trim().to_string())
+        .collect();
+    children.sort();
+
+    assert_eq!(children, should_be);
+}
+
+#[test]
+fn check_spacers() {
+    let doc = root_index_html().unwrap();
+    let should_be = 2;
+
+    let num_spacers = doc
+        .find(Class("chapter").descendant(Name("li").and(Class("spacer"))))
+        .count();
+    assert_eq!(num_spacers, should_be);
+}
+
+/// Ensure building fails if `create-missing` is false and one of the files does
+/// not exist.
+#[test]
+fn failure_on_missing_file() {
+    let temp = DummyBook::new().build().unwrap();
+    fs::remove_file(temp.path().join("src").join("intro.md")).unwrap();
+
+    let mut cfg = Config::default();
+    cfg.build.create_missing = false;
+
+    let got = MDBook::load_with_config(temp.path(), cfg);
+    assert!(got.is_err());
+}
+
+/// Ensure a missing file is created if `create-missing` is true.
+#[test]
+fn create_missing_file_with_config() {
+    let temp = DummyBook::new().build().unwrap();
+    fs::remove_file(temp.path().join("src").join("intro.md")).unwrap();
+
+    let mut cfg = Config::default();
+    cfg.build.create_missing = true;
+
+    assert!(!temp.path().join("src").join("intro.md").exists());
+    let _md = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    assert!(temp.path().join("src").join("intro.md").exists());
+}
+
+/// This makes sure you can include a Rust file with `{{#playground example.rs}}`.
+/// Specification is in `guide/src/format/rust.md`
+#[test]
+fn able_to_include_playground_files_in_chapters() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let second = temp.path().join("book/second.html");
+
+    let playground_strings = &[
+        r#"class="playground""#,
+        r#"println!(&quot;Hello World!&quot;);"#,
+    ];
+
+    assert_contains_strings(&second, playground_strings);
+    assert_doesnt_contain_strings(&second, &["{{#playground example.rs}}"]);
+}
+
+/// This makes sure you can include a Rust file with `{{#include ../SUMMARY.md}}`.
+#[test]
+fn able_to_include_files_in_chapters() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let includes = temp.path().join("book/first/includes.html");
+
+    let summary_strings = &[
+        r##"<h1 id="summary"><a class="header" href="#summary">Summary</a></h1>"##,
+        ">First Chapter</a>",
+    ];
+    assert_contains_strings(&includes, summary_strings);
+
+    assert_doesnt_contain_strings(&includes, &["{{#include ../SUMMARY.md::}}"]);
+}
+
+/// Ensure cyclic includes are capped so that no exceptions occur
+#[test]
+fn recursive_includes_are_capped() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let recursive = temp.path().join("book/first/recursive.html");
+    let content = &["Around the world, around the world
+Around the world, around the world
+Around the world, around the world"];
+    assert_contains_strings(recursive, content);
+}
+
+#[test]
+fn example_book_can_build() {
+    let example_book_dir = dummy_book::new_copy_of_example_book().unwrap();
+
+    let md = MDBook::load(example_book_dir.path()).unwrap();
+
+    md.build().unwrap();
+}
+
+#[test]
+fn book_with_a_reserved_filename_does_not_build() {
+    let tmp_dir = TempFileBuilder::new().prefix("mdBook").tempdir().unwrap();
+    let src_path = tmp_dir.path().join("src");
+    fs::create_dir(&src_path).unwrap();
+
+    let summary_path = src_path.join("SUMMARY.md");
+    let print_path = src_path.join("print.md");
+
+    fs::File::create(print_path).unwrap();
+    let mut summary_file = fs::File::create(summary_path).unwrap();
+    writeln!(summary_file, "[print](print.md)").unwrap();
+
+    let md = MDBook::load(tmp_dir.path()).unwrap();
+    let got = md.build();
+    assert!(got.is_err());
+}
+
+#[test]
+fn by_default_mdbook_use_index_preprocessor_to_convert_readme_to_index() {
+    let temp = DummyBook::new().build().unwrap();
+    let mut cfg = Config::default();
+    cfg.set("book.src", "src2")
+        .expect("Couldn't set config.book.src to \"src2\".");
+    let md = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    md.build().unwrap();
+
+    let first_index = temp.path().join("book").join("first").join("index.html");
+    let expected_strings = vec![
+        r#"href="../first/index.html""#,
+        r#"href="../second/index.html""#,
+        "First README",
+    ];
+    assert_contains_strings(&first_index, &expected_strings);
+    assert_doesnt_contain_strings(&first_index, &["README.html"]);
+
+    let second_index = temp.path().join("book").join("second").join("index.html");
+    let unexpected_strings = vec!["Second README"];
+    assert_doesnt_contain_strings(second_index, &unexpected_strings);
+}
+
+#[test]
+fn first_chapter_is_copied_as_index_even_if_not_first_elem() {
+    let temp = DummyBook::new().build().unwrap();
+    let mut cfg = Config::default();
+    cfg.set("book.src", "index_html_test")
+        .expect("Couldn't set config.book.src to \"index_html_test\"");
+    let md = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    md.build().unwrap();
+
+    let root = temp.path().join("book");
+    let chapter = fs::read_to_string(root.join("chapter_1.html")).expect("read chapter 1");
+    let index = fs::read_to_string(root.join("index.html")).expect("read index");
+    pretty_assertions::assert_eq!(chapter, index);
+}
+
+#[test]
+fn theme_dir_overrides_work_correctly() {
+    let book_dir = dummy_book::new_copy_of_example_book().unwrap();
+    let book_dir = book_dir.path();
+    let theme_dir = book_dir.join("theme");
+
+    let mut index = mdbook::theme::INDEX.to_vec();
+    index.extend_from_slice(b"\n<!-- This is a modified index.hbs! -->");
+
+    write_file(&theme_dir, "index.hbs", &index).unwrap();
+
+    let md = MDBook::load(book_dir).unwrap();
+    md.build().unwrap();
+
+    let built_index = book_dir.join("book").join("index.html");
+    dummy_book::assert_contains_strings(built_index, &["This is a modified index.hbs!"]);
+}
+
+#[test]
+fn no_index_for_print_html() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let print_html = temp.path().join("book/print.html");
+    assert_contains_strings(print_html, &[r##"noindex"##]);
+
+    let index_html = temp.path().join("book/index.html");
+    assert_doesnt_contain_strings(index_html, &[r##"noindex"##]);
+}
+
+#[test]
+fn markdown_options() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let path = temp.path().join("book/first/markdown.html");
+    assert_contains_strings(
+        &path,
+        &[
+            "<th>foo</th>",
+            "<th>bar</th>",
+            "<td>baz</td>",
+            "<td>bim</td>",
+        ],
+    );
+    assert_contains_strings(
+        &path,
+        &[
+            r##"<sup class="footnote-reference"><a href="#1">1</a></sup>"##,
+            r##"<sup class="footnote-reference"><a href="#word">2</a></sup>"##,
+            r##"<div class="footnote-definition" id="1"><sup class="footnote-definition-label">1</sup>"##,
+            r##"<div class="footnote-definition" id="word"><sup class="footnote-definition-label">2</sup>"##,
+        ],
+    );
+    assert_contains_strings(&path, &["<del>strikethrough example</del>"]);
+    assert_contains_strings(
+        &path,
+        &[
+            "<li><input disabled=\"\" type=\"checkbox\" checked=\"\"/>\nApples",
+            "<li><input disabled=\"\" type=\"checkbox\" checked=\"\"/>\nBroccoli",
+            "<li><input disabled=\"\" type=\"checkbox\"/>\nCarrots",
+        ],
+    );
+}
+
+#[test]
+fn redirects_are_emitted_correctly() {
+    let temp = DummyBook::new().build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+
+    // override the "outputs.html.redirect" table
+    let redirects: HashMap<PathBuf, String> = vec![
+        (PathBuf::from("/overview.html"), String::from("index.html")),
+        (
+            PathBuf::from("/nexted/page.md"),
+            String::from("https://rust-lang.org/"),
+        ),
+    ]
+    .into_iter()
+    .collect();
+    md.config.set("output.html.redirect", &redirects).unwrap();
+
+    md.build().unwrap();
+
+    for (original, redirect) in &redirects {
+        let mut redirect_file = md.build_dir_for("html");
+        // append everything except the bits that make it absolute
+        // (e.g. "/" or "C:\")
+        redirect_file.extend(remove_absolute_components(original));
+        let contents = fs::read_to_string(&redirect_file).unwrap();
+        assert!(contents.contains(redirect));
+    }
+}
+
+#[test]
+fn edit_url_has_default_src_dir_edit_url() {
+    let temp = DummyBook::new().build().unwrap();
+    let book_toml = r#"
+        [book]
+        title = "implicit"
+
+        [output.html]
+        edit-url-template = "https://github.com/rust-lang/mdBook/edit/master/guide/{path}"    
+        "#;
+
+    write_file(temp.path(), "book.toml", book_toml.as_bytes()).unwrap();
+
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let index_html = temp.path().join("book").join("index.html");
+    assert_contains_strings(
+        index_html,
+        &[
+            r#"href="https://github.com/rust-lang/mdBook/edit/master/guide/src/README.md" title="Suggest an edit""#,
+        ],
+    );
+}
+
+#[test]
+fn edit_url_has_configured_src_dir_edit_url() {
+    let temp = DummyBook::new().build().unwrap();
+    let book_toml = r#"
+        [book]
+        title = "implicit"
+        src = "src2"
+
+        [output.html]
+        edit-url-template = "https://github.com/rust-lang/mdBook/edit/master/guide/{path}"    
+        "#;
+
+    write_file(temp.path(), "book.toml", book_toml.as_bytes()).unwrap();
+
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let index_html = temp.path().join("book").join("index.html");
+    assert_contains_strings(
+        index_html,
+        &[
+            r#"href="https://github.com/rust-lang/mdBook/edit/master/guide/src2/README.md" title="Suggest an edit""#,
+        ],
+    );
+}
+
+fn remove_absolute_components(path: &Path) -> impl Iterator<Item = Component> + '_ {
+    path.components()
+        .skip_while(|c| matches!(c, Component::Prefix(_) | Component::RootDir))
+}
+
+/// Checks formatting of summary names with inline elements.
+#[test]
+fn summary_with_markdown_formatting() {
+    let temp = DummyBook::new().build().unwrap();
+    let mut cfg = Config::default();
+    cfg.set("book.src", "summary-formatting").unwrap();
+    let md = MDBook::load_with_config(temp.path(), cfg).unwrap();
+    md.build().unwrap();
+
+    let rendered_path = temp.path().join("book/formatted-summary.html");
+    assert_contains_strings(
+        rendered_path,
+        &[
+            r#"<a href="formatted-summary.html" class="active"><strong aria-hidden="true">1.</strong> Italic code *escape* `escape2`</a>"#,
+            r#"<a href="soft.html"><strong aria-hidden="true">2.</strong> Soft line break</a>"#,
+            r#"<a href="escaped-tag.html"><strong aria-hidden="true">3.</strong> &lt;escaped tag&gt;</a>"#,
+        ],
+    );
+
+    let generated_md = temp.path().join("summary-formatting/formatted-summary.md");
+    assert_eq!(
+        fs::read_to_string(generated_md).unwrap(),
+        "# Italic code *escape* `escape2`\n"
+    );
+    let generated_md = temp.path().join("summary-formatting/soft.md");
+    assert_eq!(
+        fs::read_to_string(generated_md).unwrap(),
+        "# Soft line break\n"
+    );
+    let generated_md = temp.path().join("summary-formatting/escaped-tag.md");
+    assert_eq!(
+        fs::read_to_string(generated_md).unwrap(),
+        "# &lt;escaped tag&gt;\n"
+    );
+}
+
+/// Ensure building fails if `[output.html].theme` points to a non-existent directory
+#[test]
+fn failure_on_missing_theme_directory() {
+    // 1. Using default theme should work
+    let temp = DummyBook::new().build().unwrap();
+    let book_toml = r#"
+        [book]
+        title = "implicit"
+        src = "src"
+        "#;
+
+    write_file(temp.path(), "book.toml", book_toml.as_bytes()).unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    let got = md.build();
+    assert!(got.is_ok());
+
+    // 2. Pointing to a normal directory should work
+    let temp = DummyBook::new().build().unwrap();
+    let created = fs::create_dir(temp.path().join("theme-directory"));
+    assert!(created.is_ok());
+    let book_toml = r#"
+        [book]
+        title = "implicit"
+        src = "src"
+
+        [output.html]
+        theme = "./theme-directory"
+        "#;
+
+    write_file(temp.path(), "book.toml", book_toml.as_bytes()).unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    let got = md.build();
+    assert!(got.is_ok());
+
+    // 3. Pointing to a non-existent directory should fail
+    let temp = DummyBook::new().build().unwrap();
+    let book_toml = r#"
+        [book]
+        title = "implicit"
+        src = "src"
+
+        [output.html]
+        theme = "./non-existent-directory"
+        "#;
+
+    write_file(temp.path(), "book.toml", book_toml.as_bytes()).unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    let got = md.build();
+    assert!(got.is_err());
+}
+
+#[cfg(feature = "search")]
+mod search {
+    use crate::dummy_book::DummyBook;
+    use mdbook::MDBook;
+    use std::fs::{self, File};
+    use std::path::Path;
+
+    fn read_book_index(root: &Path) -> serde_json::Value {
+        let index = root.join("book/searchindex.js");
+        let index = fs::read_to_string(index).unwrap();
+        let index = index.trim_start_matches("Object.assign(window.search, ");
+        let index = index.trim_end_matches(");");
+        serde_json::from_str(index).unwrap()
+    }
+
+    #[test]
+    #[allow(clippy::float_cmp)]
+    fn book_creates_reasonable_search_index() {
+        let temp = DummyBook::new().build().unwrap();
+        let md = MDBook::load(temp.path()).unwrap();
+        md.build().unwrap();
+
+        let index = read_book_index(temp.path());
+
+        let doc_urls = index["doc_urls"].as_array().unwrap();
+        let get_doc_ref =
+            |url: &str| -> String { doc_urls.iter().position(|s| s == url).unwrap().to_string() };
+
+        let first_chapter = get_doc_ref("first/index.html#first-chapter");
+        let introduction = get_doc_ref("intro.html#introduction");
+        let some_section = get_doc_ref("first/index.html#some-section");
+        let summary = get_doc_ref("first/includes.html#summary");
+        let no_headers = get_doc_ref("first/no-headers.html");
+        let duplicate_headers_1 = get_doc_ref("first/duplicate-headers.html#header-text-1");
+        let conclusion = get_doc_ref("conclusion.html#conclusion");
+        let heading_attrs = get_doc_ref("first/heading-attributes.html#both");
+
+        let bodyidx = &index["index"]["index"]["body"]["root"];
+        let textidx = &bodyidx["t"]["e"]["x"]["t"];
+        assert_eq!(textidx["df"], 5);
+        assert_eq!(textidx["docs"][&first_chapter]["tf"], 1.0);
+        assert_eq!(textidx["docs"][&introduction]["tf"], 1.0);
+
+        let docs = &index["index"]["documentStore"]["docs"];
+        assert_eq!(docs[&first_chapter]["body"], "more text.");
+        assert_eq!(docs[&some_section]["body"], "");
+        assert_eq!(
+            docs[&summary]["body"],
+            "Dummy Book Introduction First Chapter Nested Chapter Includes Recursive Markdown Unicode No Headers Duplicate Headers Heading Attributes Second Chapter Nested Chapter Conclusion"
+        );
+        assert_eq!(
+            docs[&summary]["breadcrumbs"],
+            "First Chapter » Includes » Summary"
+        );
+        assert_eq!(docs[&conclusion]["body"], "I put &lt;HTML&gt; in here!");
+        assert_eq!(
+            docs[&no_headers]["breadcrumbs"],
+            "First Chapter » No Headers"
+        );
+        assert_eq!(
+            docs[&duplicate_headers_1]["breadcrumbs"],
+            "First Chapter » Duplicate Headers » Header Text"
+        );
+        assert_eq!(
+            docs[&no_headers]["body"],
+            "Capybara capybara capybara. Capybara capybara capybara. ThisLongWordIsIncludedSoWeCanCheckThatSufficientlyLongWordsAreOmittedFromTheSearchIndex."
+        );
+        assert_eq!(
+            docs[&heading_attrs]["breadcrumbs"],
+            "First Chapter » Heading Attributes » Heading with id and classes"
+        );
+    }
+
+    // Setting this to `true` may cause issues with `cargo watch`,
+    // since it may not finish writing the fixture before the tests
+    // are run again.
+    const GENERATE_FIXTURE: bool = false;
+
+    fn get_fixture() -> serde_json::Value {
+        if GENERATE_FIXTURE {
+            let temp = DummyBook::new().build().unwrap();
+            let md = MDBook::load(temp.path()).unwrap();
+            md.build().unwrap();
+
+            let src = read_book_index(temp.path());
+
+            let dest = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/searchindex_fixture.json");
+            let dest = File::create(dest).unwrap();
+            serde_json::to_writer_pretty(dest, &src).unwrap();
+
+            src
+        } else {
+            let json = include_str!("searchindex_fixture.json");
+            serde_json::from_str(json).expect("Unable to deserialize the fixture")
+        }
+    }
+
+    // So you've broken the test. If you changed dummy_book, it's probably
+    // safe to regenerate the fixture. If you haven't then make sure that the
+    // search index still works. Run `cargo run -- serve tests/dummy_book`
+    // and try some searches. Are you getting results? Do the teasers look OK?
+    // Are there new errors in the JS console?
+    //
+    // If you're pretty sure you haven't broken anything, change `GENERATE_FIXTURE`
+    // above to `true`, and run `cargo test` to generate a new fixture. Then
+    // **change it back to `false`**. Include the changed `searchindex_fixture.json` in your commit.
+    #[test]
+    fn search_index_hasnt_changed_accidentally() {
+        let temp = DummyBook::new().build().unwrap();
+        let md = MDBook::load(temp.path()).unwrap();
+        md.build().unwrap();
+
+        let book_index = read_book_index(temp.path());
+
+        let fixture_index = get_fixture();
+
+        // Uncomment this if you're okay with pretty-printing 32KB of JSON
+        //assert_eq!(fixture_index, book_index);
+
+        if book_index != fixture_index {
+            panic!("The search index has changed from the fixture");
+        }
+    }
+}
+
+#[test]
+fn custom_fonts() {
+    // Tests to ensure custom fonts are copied as expected.
+    let builtin_fonts = [
+        "OPEN-SANS-LICENSE.txt",
+        "SOURCE-CODE-PRO-LICENSE.txt",
+        "fonts.css",
+        "open-sans-v17-all-charsets-300.woff2",
+        "open-sans-v17-all-charsets-300italic.woff2",
+        "open-sans-v17-all-charsets-600.woff2",
+        "open-sans-v17-all-charsets-600italic.woff2",
+        "open-sans-v17-all-charsets-700.woff2",
+        "open-sans-v17-all-charsets-700italic.woff2",
+        "open-sans-v17-all-charsets-800.woff2",
+        "open-sans-v17-all-charsets-800italic.woff2",
+        "open-sans-v17-all-charsets-italic.woff2",
+        "open-sans-v17-all-charsets-regular.woff2",
+        "source-code-pro-v11-all-charsets-500.woff2",
+    ];
+    let actual_files = |path: &Path| -> Vec<String> {
+        let mut actual: Vec<_> = path
+            .read_dir()
+            .unwrap()
+            .map(|entry| entry.unwrap().file_name().into_string().unwrap())
+            .collect();
+        actual.sort();
+        actual
+    };
+    let has_fonts_css = |path: &Path| -> bool {
+        let contents = fs::read_to_string(path.join("book/index.html")).unwrap();
+        contents.contains("fonts/fonts.css")
+    };
+
+    // No theme:
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).build().unwrap();
+    MDBook::load(p).unwrap().build().unwrap();
+    assert_eq!(actual_files(&p.join("book/fonts")), &builtin_fonts);
+    assert!(has_fonts_css(p));
+
+    // Full theme.
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).copy_theme(true).build().unwrap();
+    assert_eq!(actual_files(&p.join("theme/fonts")), &builtin_fonts);
+    MDBook::load(p).unwrap().build().unwrap();
+    assert_eq!(actual_files(&p.join("book/fonts")), &builtin_fonts);
+    assert!(has_fonts_css(p));
+
+    // Mixed with copy-fonts=true
+    // Should ignore the copy-fonts setting since the user has provided their own fonts.css.
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).build().unwrap();
+    write_file(&p.join("theme/fonts"), "fonts.css", b"/*custom*/").unwrap();
+    write_file(&p.join("theme/fonts"), "myfont.woff", b"").unwrap();
+    MDBook::load(p).unwrap().build().unwrap();
+    assert!(has_fonts_css(p));
+    assert_eq!(
+        actual_files(&p.join("book/fonts")),
+        ["fonts.css", "myfont.woff"]
+    );
+
+    // copy-fonts=false, no theme
+    // This should generate a deprecation warning.
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).build().unwrap();
+    let config = Config::from_str("output.html.copy-fonts = false").unwrap();
+    MDBook::load_with_config(p, config)
+        .unwrap()
+        .build()
+        .unwrap();
+    assert!(!has_fonts_css(p));
+    assert!(!p.join("book/fonts").exists());
+
+    // copy-fonts=false with empty fonts.css
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).build().unwrap();
+    write_file(&p.join("theme/fonts"), "fonts.css", b"").unwrap();
+    let config = Config::from_str("output.html.copy-fonts = false").unwrap();
+    MDBook::load_with_config(p, config)
+        .unwrap()
+        .build()
+        .unwrap();
+    assert!(!has_fonts_css(p));
+    assert!(!p.join("book/fonts").exists());
+
+    // copy-fonts=false with fonts theme
+    let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
+    let p = temp.path();
+    MDBook::init(p).build().unwrap();
+    write_file(&p.join("theme/fonts"), "fonts.css", b"/*custom*/").unwrap();
+    write_file(&p.join("theme/fonts"), "myfont.woff", b"").unwrap();
+    let config = Config::from_str("output.html.copy-fonts = false").unwrap();
+    MDBook::load_with_config(p, config)
+        .unwrap()
+        .build()
+        .unwrap();
+    assert!(has_fonts_css(p));
+    assert_eq!(
+        actual_files(&p.join("book/fonts")),
+        &["fonts.css", "myfont.woff"]
+    );
+}
+
+#[test]
+fn custom_header_attributes() {
+    let temp = DummyBook::new().build().unwrap();
+    let md = MDBook::load(temp.path()).unwrap();
+    md.build().unwrap();
+
+    let contents = temp.path().join("book/first/heading-attributes.html");
+
+    let summary_strings = &[
+        r##"<h1 id="attrs"><a class="header" href="#attrs">Heading Attributes</a></h1>"##,
+        r##"<h2 id="heading-with-classes" class="class1 class2"><a class="header" href="#heading-with-classes">Heading with classes</a></h2>"##,
+        r##"<h2 id="both" class="class1 class2"><a class="header" href="#both">Heading with id and classes</a></h2>"##,
+    ];
+    assert_contains_strings(&contents, summary_strings);
+}
diff --git a/tests/searchindex_fixture.json b/tests/searchindex_fixture.json
new file mode 100644
index 0000000..8546302
--- /dev/null
+++ b/tests/searchindex_fixture.json
@@ -0,0 +1,7282 @@
+{
+  "doc_urls": [
+    "index.html#dummy-book",
+    "intro.html#introduction",
+    "first/index.html#first-chapter",
+    "first/index.html#some-section",
+    "first/nested.html#nested-chapter",
+    "first/nested.html#some-section",
+    "first/nested.html#anchors-include-the-part-of-a-file-between-special-comments",
+    "first/nested.html#rustdoc-include-adds-the-rest-of-the-file-as-hidden",
+    "first/nested.html#rustdoc-include-works-with-anchors-too",
+    "first/includes.html#includes",
+    "first/includes.html#summary",
+    "first/recursive.html",
+    "first/markdown.html#markdown-tests",
+    "first/markdown.html#tables",
+    "first/markdown.html#footnotes",
+    "first/markdown.html#strikethrough",
+    "first/markdown.html#tasklisks",
+    "first/unicode.html#unicode-stress-tests",
+    "first/no-headers.html",
+    "first/duplicate-headers.html#duplicate-headers",
+    "first/duplicate-headers.html#header-text",
+    "first/duplicate-headers.html#header-text-1",
+    "first/duplicate-headers.html#header-text-2",
+    "first/heading-attributes.html#attrs",
+    "first/heading-attributes.html#heading-with-classes",
+    "first/heading-attributes.html#both",
+    "second.html#second-chapter",
+    "second/nested.html#testing-relative-links-for-the-print-page",
+    "second/nested.html#some-section",
+    "conclusion.html#conclusion"
+  ],
+  "index": {
+    "documentStore": {
+      "docInfo": {
+        "0": {
+          "body": 9,
+          "breadcrumbs": 4,
+          "title": 2
+        },
+        "1": {
+          "body": 3,
+          "breadcrumbs": 2,
+          "title": 1
+        },
+        "10": {
+          "body": 21,
+          "breadcrumbs": 4,
+          "title": 1
+        },
+        "11": {
+          "body": 44,
+          "breadcrumbs": 3,
+          "title": 2
+        },
+        "12": {
+          "body": 3,
+          "breadcrumbs": 5,
+          "title": 2
+        },
+        "13": {
+          "body": 4,
+          "breadcrumbs": 4,
+          "title": 1
+        },
+        "14": {
+          "body": 12,
+          "breadcrumbs": 4,
+          "title": 1
+        },
+        "15": {
+          "body": 2,
+          "breadcrumbs": 4,
+          "title": 1
+        },
+        "16": {
+          "body": 3,
+          "breadcrumbs": 4,
+          "title": 1
+        },
+        "17": {
+          "body": 29,
+          "breadcrumbs": 6,
+          "title": 3
+        },
+        "18": {
+          "body": 6,
+          "breadcrumbs": 3,
+          "title": 2
+        },
+        "19": {
+          "body": 5,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "2": {
+          "body": 2,
+          "breadcrumbs": 4,
+          "title": 2
+        },
+        "20": {
+          "body": 0,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "21": {
+          "body": 0,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "22": {
+          "body": 0,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "23": {
+          "body": 0,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "24": {
+          "body": 0,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "25": {
+          "body": 0,
+          "breadcrumbs": 7,
+          "title": 3
+        },
+        "26": {
+          "body": 20,
+          "breadcrumbs": 4,
+          "title": 2
+        },
+        "27": {
+          "body": 18,
+          "breadcrumbs": 9,
+          "title": 5
+        },
+        "28": {
+          "body": 0,
+          "breadcrumbs": 5,
+          "title": 1
+        },
+        "29": {
+          "body": 3,
+          "breadcrumbs": 2,
+          "title": 1
+        },
+        "3": {
+          "body": 0,
+          "breadcrumbs": 3,
+          "title": 1
+        },
+        "4": {
+          "body": 4,
+          "breadcrumbs": 6,
+          "title": 2
+        },
+        "5": {
+          "body": 1,
+          "breadcrumbs": 5,
+          "title": 1
+        },
+        "6": {
+          "body": 21,
+          "breadcrumbs": 11,
+          "title": 7
+        },
+        "7": {
+          "body": 6,
+          "breadcrumbs": 10,
+          "title": 6
+        },
+        "8": {
+          "body": 6,
+          "breadcrumbs": 8,
+          "title": 4
+        },
+        "9": {
+          "body": 0,
+          "breadcrumbs": 4,
+          "title": 1
+        }
+      },
+      "docs": {
+        "0": {
+          "body": "This file is just here to cause the index preprocessor to run. Does a pretty good job, too.",
+          "breadcrumbs": "Dummy Book » Dummy Book",
+          "id": "0",
+          "title": "Dummy Book"
+        },
+        "1": {
+          "body": "Here's some interesting text...",
+          "breadcrumbs": "Introduction » Introduction",
+          "id": "1",
+          "title": "Introduction"
+        },
+        "10": {
+          "body": "Dummy Book Introduction First Chapter Nested Chapter Includes Recursive Markdown Unicode No Headers Duplicate Headers Heading Attributes Second Chapter Nested Chapter Conclusion",
+          "breadcrumbs": "First Chapter » Includes » Summary",
+          "id": "10",
+          "title": "Summary"
+        },
+        "11": {
+          "body": "Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world Around the world, around the world",
+          "breadcrumbs": "First Chapter » Recursive",
+          "id": "11",
+          "title": "First Chapter"
+        },
+        "12": {
+          "body": "Tests for some markdown output.",
+          "breadcrumbs": "First Chapter » Markdown » Markdown tests",
+          "id": "12",
+          "title": "Markdown tests"
+        },
+        "13": {
+          "body": "foo bar baz bim",
+          "breadcrumbs": "First Chapter » Markdown » Tables",
+          "id": "13",
+          "title": "Tables"
+        },
+        "14": {
+          "body": "Footnote example [1] , or with a word [2] . This is a footnote. A longer footnote. With multiple lines. Third line.",
+          "breadcrumbs": "First Chapter » Markdown » Footnotes",
+          "id": "14",
+          "title": "Footnotes"
+        },
+        "15": {
+          "body": "strikethrough example",
+          "breadcrumbs": "First Chapter » Markdown » Strikethrough",
+          "id": "15",
+          "title": "Strikethrough"
+        },
+        "16": {
+          "body": "Apples Broccoli Carrots",
+          "breadcrumbs": "First Chapter » Markdown » Tasklisks",
+          "id": "16",
+          "title": "Tasklisks"
+        },
+        "17": {
+          "body": "Please be careful editing, this contains carefully crafted characters. Two byte character: spatiëring Combining character: spatiëring Three byte character: 书こんにちは Four byte character: 𐌀‮𐌁‮𐌂‮𐌃‮𐌄‮𐌅‮𐌆‮𐌇‮𐌈‬ Right-to-left: مرحبا Emoticons: 🔊 😍 💜 1️⃣ right-to-left mark: hello באמת!‏ Zalgo: ǫ̛̖̱̗̝͈̋͒͋̏ͥͫ̒̆ͩ̏͌̾͊͐ͪ̾̚",
+          "breadcrumbs": "First Chapter » Unicode » Unicode stress tests",
+          "id": "17",
+          "title": "Unicode stress tests"
+        },
+        "18": {
+          "body": "Capybara capybara capybara. Capybara capybara capybara. ThisLongWordIsIncludedSoWeCanCheckThatSufficientlyLongWordsAreOmittedFromTheSearchIndex.",
+          "breadcrumbs": "First Chapter » No Headers",
+          "id": "18",
+          "title": "First Chapter"
+        },
+        "19": {
+          "body": "This page validates behaviour of duplicate headers.",
+          "breadcrumbs": "First Chapter » Duplicate Headers » Duplicate headers",
+          "id": "19",
+          "title": "Duplicate headers"
+        },
+        "2": {
+          "body": "more text.",
+          "breadcrumbs": "First Chapter » First Chapter",
+          "id": "2",
+          "title": "First Chapter"
+        },
+        "20": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Duplicate Headers » Header Text",
+          "id": "20",
+          "title": "Header Text"
+        },
+        "21": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Duplicate Headers » Header Text",
+          "id": "21",
+          "title": "Header Text"
+        },
+        "22": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Duplicate Headers » header-text",
+          "id": "22",
+          "title": "header-text"
+        },
+        "23": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Heading Attributes » Heading Attributes",
+          "id": "23",
+          "title": "Heading Attributes"
+        },
+        "24": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Heading Attributes » Heading with classes",
+          "id": "24",
+          "title": "Heading with classes"
+        },
+        "25": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Heading Attributes » Heading with id and classes",
+          "id": "25",
+          "title": "Heading with id and classes"
+        },
+        "26": {
+          "body": "This makes sure you can insert runnable Rust files. fn main() { println!(\"Hello World!\");\n#\n# // You can even hide lines! :D\n# println!(\"I am hidden! Expand the code snippet to see me\");\n}",
+          "breadcrumbs": "Second Chapter » Second Chapter",
+          "id": "26",
+          "title": "Second Chapter"
+        },
+        "27": {
+          "body": "When we link to the first section , it should work on both the print page and the non-print page. A fragment link should work. Link outside . Some image HTML Link",
+          "breadcrumbs": "Second Chapter » Nested Chapter » Testing relative links for the print page",
+          "id": "27",
+          "title": "Testing relative links for the print page"
+        },
+        "28": {
+          "body": "",
+          "breadcrumbs": "Second Chapter » Nested Chapter » Some section",
+          "id": "28",
+          "title": "Some section"
+        },
+        "29": {
+          "body": "I put &lt;HTML&gt; in here!",
+          "breadcrumbs": "Conclusion » Conclusion",
+          "id": "29",
+          "title": "Conclusion"
+        },
+        "3": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Some Section",
+          "id": "3",
+          "title": "Some Section"
+        },
+        "4": {
+          "body": "This file has some testable code. assert!(true);",
+          "breadcrumbs": "First Chapter » Nested Chapter » Nested Chapter",
+          "id": "4",
+          "title": "Nested Chapter"
+        },
+        "5": {
+          "body": "assert!(true);",
+          "breadcrumbs": "First Chapter » Nested Chapter » Some Section",
+          "id": "5",
+          "title": "Some Section"
+        },
+        "6": {
+          "body": "// The next line will cause a `rendered_output` test to fail if the anchor feature is broken in\n// such a way that the content between anchors isn't included.\n// unique-string-for-anchor-test\nassert!(true);",
+          "breadcrumbs": "First Chapter » Nested Chapter » Anchors include the part of a file between special comments",
+          "id": "6",
+          "title": "Anchors include the part of a file between special comments"
+        },
+        "7": {
+          "body": "# fn some_function() {\n# assert!(true);\n# }\n# fn main() { some_function();\n}",
+          "breadcrumbs": "First Chapter » Nested Chapter » Rustdoc include adds the rest of the file as hidden",
+          "id": "7",
+          "title": "Rustdoc include adds the rest of the file as hidden"
+        },
+        "8": {
+          "body": "# fn some_other_function() {\n# assert!(true);\n# }\n# fn main() { some_other_function();\n}",
+          "breadcrumbs": "First Chapter » Nested Chapter » Rustdoc include works with anchors too",
+          "id": "8",
+          "title": "Rustdoc include works with anchors too"
+        },
+        "9": {
+          "body": "",
+          "breadcrumbs": "First Chapter » Includes » Includes",
+          "id": "9",
+          "title": "Includes"
+        }
+      },
+      "length": 30,
+      "save": true
+    },
+    "fields": [
+      "title",
+      "body",
+      "breadcrumbs"
+    ],
+    "index": {
+      "body": {
+        "root": {
+          "1": {
+            "df": 2,
+            "docs": {
+              "14": {
+                "tf": 1.0
+              },
+              "17": {
+                "tf": 1.0
+              }
+            }
+          },
+          "2": {
+            "df": 1,
+            "docs": {
+              "14": {
+                "tf": 1.0
+              }
+            }
+          },
+          "a": {
+            "d": {
+              "d": {
+                "df": 1,
+                "docs": {
+                  "7": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "df": 0,
+            "docs": {},
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 2,
+                      "docs": {
+                        "6": {
+                          "tf": 2.0
+                        },
+                        "8": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "p": {
+              "df": 0,
+              "docs": {},
+              "p": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "16": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "u": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "11": {
+                          "tf": 4.69041575982343
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "s": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "!": {
+                        "(": {
+                          "df": 0,
+                          "docs": {},
+                          "t": {
+                            "df": 0,
+                            "docs": {},
+                            "r": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 5,
+                                "docs": {
+                                  "4": {
+                                    "tf": 1.0
+                                  },
+                                  "5": {
+                                    "tf": 1.0
+                                  },
+                                  "6": {
+                                    "tf": 1.0
+                                  },
+                                  "7": {
+                                    "tf": 1.0
+                                  },
+                                  "8": {
+                                    "tf": 1.0
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  }
+                }
+              }
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 2,
+                          "docs": {
+                            "10": {
+                              "tf": 1.0
+                            },
+                            "23": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "b": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "z": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "h": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "v": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "o": {
+                        "df": 0,
+                        "docs": {},
+                        "u": {
+                          "df": 0,
+                          "docs": {},
+                          "r": {
+                            "df": 1,
+                            "docs": {
+                              "19": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "w": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "10": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "c": {
+                  "c": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 0,
+                        "docs": {},
+                        "i": {
+                          "df": 1,
+                          "docs": {
+                            "16": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                },
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "y": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.7320508075688772
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "c": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "p": {
+                "df": 0,
+                "docs": {},
+                "y": {
+                  "b": {
+                    "a": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "a": {
+                          "df": 1,
+                          "docs": {
+                            "18": {
+                              "tf": 2.449489742783178
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  },
+                  "f": {
+                    "df": 0,
+                    "docs": {},
+                    "u": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 0,
+                        "docs": {},
+                        "l": {
+                          "df": 0,
+                          "docs": {},
+                          "i": {
+                            "df": 1,
+                            "docs": {
+                              "17": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "16": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "u": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "h": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "df": 6,
+                        "docs": {
+                          "10": {
+                            "tf": 2.0
+                          },
+                          "11": {
+                            "tf": 1.0
+                          },
+                          "18": {
+                            "tf": 1.0
+                          },
+                          "2": {
+                            "tf": 1.0
+                          },
+                          "26": {
+                            "tf": 1.0
+                          },
+                          "4": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "a": {
+                    "c": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 2.23606797749979
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "l": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 2,
+                    "docs": {
+                      "24": {
+                        "tf": 1.0
+                      },
+                      "25": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "o": {
+              "d": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 2,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "4": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "m": {
+                "b": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "n": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "u": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 2,
+                        "docs": {
+                          "10": {
+                            "tf": 1.0
+                          },
+                          "29": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "a": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "f": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "d": {
+            "df": 1,
+            "docs": {
+              "26": {
+                "tf": 1.0
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 2,
+                    "docs": {
+                      "0": {
+                        "tf": 1.0
+                      },
+                      "10": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "p": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "c": {
+                      "df": 2,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "19": {
+                          "tf": 1.4142135623730951
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "df": 0,
+          "docs": {},
+          "e": {
+            "d": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "m": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "c": {
+                      "df": 0,
+                      "docs": {},
+                      "o": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "df": 1,
+                          "docs": {
+                            "17": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "v": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "x": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "p": {
+                    "df": 0,
+                    "docs": {},
+                    "l": {
+                      "df": 2,
+                      "docs": {
+                        "14": {
+                          "tf": 1.0
+                        },
+                        "15": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "p": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "f": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 5,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "4": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    },
+                    "7": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 5,
+                    "docs": {
+                      "10": {
+                        "tf": 1.0
+                      },
+                      "11": {
+                        "tf": 1.0
+                      },
+                      "18": {
+                        "tf": 1.0
+                      },
+                      "2": {
+                        "tf": 1.0
+                      },
+                      "27": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "n": {
+              "df": 3,
+              "docs": {
+                "26": {
+                  "tf": 1.0
+                },
+                "7": {
+                  "tf": 1.4142135623730951
+                },
+                "8": {
+                  "tf": 1.4142135623730951
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "14": {
+                            "tf": 2.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "u": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "m": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 1,
+                          "docs": {
+                            "27": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "g": {
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "d": {
+                  "df": 1,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "h": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "a": {
+                "d": {
+                  "df": 4,
+                  "docs": {
+                    "10": {
+                      "tf": 1.0
+                    },
+                    "23": {
+                      "tf": 1.0
+                    },
+                    "24": {
+                      "tf": 1.0
+                    },
+                    "25": {
+                      "tf": 1.0
+                    }
+                  },
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 5,
+                      "docs": {
+                        "10": {
+                          "tf": 1.4142135623730951
+                        },
+                        "19": {
+                          "tf": 1.4142135623730951
+                        },
+                        "20": {
+                          "tf": 1.0
+                        },
+                        "21": {
+                          "tf": 1.0
+                        },
+                        "22": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "'": {
+                    "df": 1,
+                    "docs": {
+                      "1": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "29": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "d": {
+                "d": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 2,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        },
+                        "7": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "i": {
+            "d": {
+              "df": 1,
+              "docs": {
+                "25": {
+                  "tf": 1.0
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "m": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "d": {
+                      "df": 5,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "6": {
+                          "tf": 1.4142135623730951
+                        },
+                        "7": {
+                          "tf": 1.0
+                        },
+                        "8": {
+                          "tf": 1.0
+                        },
+                        "9": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              },
+              "d": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "x": {
+                    "df": 1,
+                    "docs": {
+                      "0": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 1,
+                          "docs": {
+                            "1": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "c": {
+                          "df": 0,
+                          "docs": {},
+                          "t": {
+                            "df": 2,
+                            "docs": {
+                              "1": {
+                                "tf": 1.0
+                              },
+                              "10": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "s": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "'": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "6": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "j": {
+            "df": 0,
+            "docs": {},
+            "o": {
+              "b": {
+                "df": 1,
+                "docs": {
+                  "0": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "l": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "f": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 3,
+                  "docs": {
+                    "14": {
+                      "tf": 1.4142135623730951
+                    },
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "k": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 2.23606797749979
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 1,
+                      "docs": {
+                        "14": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "t": {
+              ";": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "m": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "&": {
+                          "df": 0,
+                          "docs": {},
+                          "g": {
+                            "df": 0,
+                            "docs": {},
+                            "t": {
+                              "df": 1,
+                              "docs": {
+                                "29": {
+                                  "tf": 1.0
+                                }
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "m": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 3,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "7": {
+                      "tf": 1.0
+                    },
+                    "8": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "k": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "w": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "df": 2,
+                          "docs": {
+                            "10": {
+                              "tf": 1.0
+                            },
+                            "12": {
+                              "tf": 1.4142135623730951
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "2": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "p": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "14": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "n": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 2,
+                  "docs": {
+                    "10": {
+                      "tf": 1.4142135623730951
+                    },
+                    "4": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "x": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 1,
+                "docs": {
+                  "27": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "o": {
+            "df": 0,
+            "docs": {},
+            "u": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "12": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "27": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "p": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "g": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 2,
+                  "docs": {
+                    "19": {
+                      "tf": 1.0
+                    },
+                    "27": {
+                      "tf": 1.7320508075688772
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "l": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "c": {
+                        "df": 0,
+                        "docs": {},
+                        "e": {
+                          "df": 0,
+                          "docs": {},
+                          "s": {
+                            "df": 0,
+                            "docs": {},
+                            "s": {
+                              "df": 0,
+                              "docs": {},
+                              "o": {
+                                "df": 0,
+                                "docs": {},
+                                "r": {
+                                  "df": 1,
+                                  "docs": {
+                                    "0": {
+                                      "tf": 1.0
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 1,
+                      "docs": {
+                        "0": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "i": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "27": {
+                        "tf": 1.7320508075688772
+                      }
+                    },
+                    "l": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "!": {
+                          "(": {
+                            "\"": {
+                              "df": 0,
+                              "docs": {},
+                              "h": {
+                                "df": 0,
+                                "docs": {},
+                                "e": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "l": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "l": {
+                                      "df": 0,
+                                      "docs": {},
+                                      "o": {
+                                        "df": 1,
+                                        "docs": {
+                                          "26": {
+                                            "tf": 1.0
+                                          }
+                                        }
+                                      }
+                                    }
+                                  }
+                                }
+                              },
+                              "i": {
+                                "df": 1,
+                                "docs": {
+                                  "26": {
+                                    "tf": 1.0
+                                  }
+                                }
+                              }
+                            },
+                            "df": 0,
+                            "docs": {}
+                          },
+                          "df": 0,
+                          "docs": {}
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 1,
+                "docs": {
+                  "29": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "r": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "u": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "s": {
+                      "df": 1,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 1,
+                "docs": {
+                  "27": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "n": {
+                "d": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 0,
+                      "docs": {},
+                      "e": {
+                        "d": {
+                          "_": {
+                            "df": 0,
+                            "docs": {},
+                            "o": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 0,
+                                "docs": {},
+                                "t": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "p": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "u": {
+                                      "df": 0,
+                                      "docs": {},
+                                      "t": {
+                                        "df": 1,
+                                        "docs": {
+                                          "6": {
+                                            "tf": 1.0
+                                          }
+                                        }
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          },
+                          "df": 0,
+                          "docs": {}
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "7": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "g": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.4142135623730951
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 1,
+                "docs": {
+                  "0": {
+                    "tf": 1.0
+                  }
+                },
+                "n": {
+                  "a": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "26": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "c": {
+                        "df": 2,
+                        "docs": {
+                          "7": {
+                            "tf": 1.0
+                          },
+                          "8": {
+                            "tf": 1.0
+                          }
+                        }
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  },
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "s": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "o": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 2,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 4,
+                        "docs": {
+                          "27": {
+                            "tf": 1.0
+                          },
+                          "28": {
+                            "tf": 1.0
+                          },
+                          "3": {
+                            "tf": 1.0
+                          },
+                          "5": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 1,
+                "docs": {
+                  "26": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "n": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "p": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "26": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "_": {
+                    "df": 0,
+                    "docs": {},
+                    "f": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "c": {
+                            "df": 0,
+                            "docs": {},
+                            "t": {
+                              "df": 1,
+                              "docs": {
+                                "7": {
+                                  "tf": 1.4142135623730951
+                                }
+                              }
+                            }
+                          },
+                          "df": 0,
+                          "docs": {}
+                        }
+                      }
+                    },
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 0,
+                        "docs": {},
+                        "h": {
+                          "df": 0,
+                          "docs": {},
+                          "e": {
+                            "df": 0,
+                            "docs": {},
+                            "r": {
+                              "_": {
+                                "df": 0,
+                                "docs": {},
+                                "f": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "u": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "n": {
+                                      "c": {
+                                        "df": 0,
+                                        "docs": {},
+                                        "t": {
+                                          "df": 1,
+                                          "docs": {
+                                            "8": {
+                                              "tf": 1.4142135623730951
+                                            }
+                                          }
+                                        }
+                                      },
+                                      "df": 0,
+                                      "docs": {}
+                                    }
+                                  }
+                                }
+                              },
+                              "df": 0,
+                              "docs": {}
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            },
+            "p": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "̈": {
+                        "df": 0,
+                        "docs": {},
+                        "r": {
+                          "df": 1,
+                          "docs": {
+                            "17": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "ë": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "e": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "a": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 0,
+                    "docs": {},
+                    "s": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "i": {
+                  "df": 0,
+                  "docs": {},
+                  "k": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 0,
+                        "docs": {},
+                        "h": {
+                          "df": 0,
+                          "docs": {},
+                          "r": {
+                            "df": 0,
+                            "docs": {},
+                            "o": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 0,
+                                "docs": {},
+                                "g": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "h": {
+                                    "df": 1,
+                                    "docs": {
+                                      "15": {
+                                        "tf": 1.4142135623730951
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "n": {
+                    "df": 0,
+                    "docs": {},
+                    "g": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "a": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 0,
+                      "docs": {},
+                      "i": {
+                        "df": 1,
+                        "docs": {
+                          "10": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "t": {
+            "a": {
+              "b": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "13": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 0,
+                        "docs": {},
+                        "k": {
+                          "df": 1,
+                          "docs": {
+                            "16": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "a": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "4": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 4,
+                  "docs": {
+                    "12": {
+                      "tf": 1.4142135623730951
+                    },
+                    "17": {
+                      "tf": 1.0
+                    },
+                    "27": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              },
+              "x": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 5,
+                  "docs": {
+                    "1": {
+                      "tf": 1.0
+                    },
+                    "2": {
+                      "tf": 1.0
+                    },
+                    "20": {
+                      "tf": 1.0
+                    },
+                    "21": {
+                      "tf": 1.0
+                    },
+                    "22": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "h": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "d": {
+                    "df": 1,
+                    "docs": {
+                      "14": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "w": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 1,
+                "docs": {
+                  "17": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "u": {
+            "df": 0,
+            "docs": {},
+            "n": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 2,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "q": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 1,
+                    "docs": {
+                      "6": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "v": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "i": {
+                  "d": {
+                    "df": 1,
+                    "docs": {
+                      "19": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            },
+            "df": 0,
+            "docs": {}
+          },
+          "w": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "y": {
+                "df": 1,
+                "docs": {
+                  "6": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "d": {
+                  "df": 1,
+                  "docs": {
+                    "14": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 2,
+                  "docs": {
+                    "27": {
+                      "tf": 1.4142135623730951
+                    },
+                    "8": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "l": {
+                  "d": {
+                    "df": 2,
+                    "docs": {
+                      "11": {
+                        "tf": 4.69041575982343
+                      },
+                      "26": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            }
+          },
+          "z": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {}
+          }
+        }
+      },
+      "breadcrumbs": {
+        "root": {
+          "1": {
+            "df": 2,
+            "docs": {
+              "14": {
+                "tf": 1.0
+              },
+              "17": {
+                "tf": 1.0
+              }
+            }
+          },
+          "2": {
+            "df": 1,
+            "docs": {
+              "14": {
+                "tf": 1.0
+              }
+            }
+          },
+          "a": {
+            "d": {
+              "d": {
+                "df": 1,
+                "docs": {
+                  "7": {
+                    "tf": 1.4142135623730951
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "df": 0,
+            "docs": {},
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 2,
+                      "docs": {
+                        "6": {
+                          "tf": 2.23606797749979
+                        },
+                        "8": {
+                          "tf": 1.4142135623730951
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "p": {
+              "df": 0,
+              "docs": {},
+              "p": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "16": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "u": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "11": {
+                          "tf": 4.69041575982343
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "s": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "!": {
+                        "(": {
+                          "df": 0,
+                          "docs": {},
+                          "t": {
+                            "df": 0,
+                            "docs": {},
+                            "r": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 5,
+                                "docs": {
+                                  "4": {
+                                    "tf": 1.0
+                                  },
+                                  "5": {
+                                    "tf": 1.0
+                                  },
+                                  "6": {
+                                    "tf": 1.0
+                                  },
+                                  "7": {
+                                    "tf": 1.0
+                                  },
+                                  "8": {
+                                    "tf": 1.0
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  }
+                }
+              }
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 4,
+                          "docs": {
+                            "10": {
+                              "tf": 1.0
+                            },
+                            "23": {
+                              "tf": 1.7320508075688772
+                            },
+                            "24": {
+                              "tf": 1.0
+                            },
+                            "25": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "b": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "z": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "h": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "v": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "o": {
+                        "df": 0,
+                        "docs": {},
+                        "u": {
+                          "df": 0,
+                          "docs": {},
+                          "r": {
+                            "df": 1,
+                            "docs": {
+                              "19": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "w": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.7320508075688772
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.7320508075688772
+                    },
+                    "10": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "c": {
+                  "c": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 0,
+                        "docs": {},
+                        "i": {
+                          "df": 1,
+                          "docs": {
+                            "16": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                },
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "y": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.7320508075688772
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "c": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "p": {
+                "df": 0,
+                "docs": {},
+                "y": {
+                  "b": {
+                    "a": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "a": {
+                          "df": 1,
+                          "docs": {
+                            "18": {
+                              "tf": 2.449489742783178
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  },
+                  "f": {
+                    "df": 0,
+                    "docs": {},
+                    "u": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 0,
+                        "docs": {},
+                        "l": {
+                          "df": 0,
+                          "docs": {},
+                          "i": {
+                            "df": 1,
+                            "docs": {
+                              "17": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "16": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "u": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "h": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "df": 27,
+                        "docs": {
+                          "10": {
+                            "tf": 2.23606797749979
+                          },
+                          "11": {
+                            "tf": 1.4142135623730951
+                          },
+                          "12": {
+                            "tf": 1.0
+                          },
+                          "13": {
+                            "tf": 1.0
+                          },
+                          "14": {
+                            "tf": 1.0
+                          },
+                          "15": {
+                            "tf": 1.0
+                          },
+                          "16": {
+                            "tf": 1.0
+                          },
+                          "17": {
+                            "tf": 1.0
+                          },
+                          "18": {
+                            "tf": 1.4142135623730951
+                          },
+                          "19": {
+                            "tf": 1.0
+                          },
+                          "2": {
+                            "tf": 1.7320508075688772
+                          },
+                          "20": {
+                            "tf": 1.0
+                          },
+                          "21": {
+                            "tf": 1.0
+                          },
+                          "22": {
+                            "tf": 1.0
+                          },
+                          "23": {
+                            "tf": 1.0
+                          },
+                          "24": {
+                            "tf": 1.0
+                          },
+                          "25": {
+                            "tf": 1.0
+                          },
+                          "26": {
+                            "tf": 1.7320508075688772
+                          },
+                          "27": {
+                            "tf": 1.4142135623730951
+                          },
+                          "28": {
+                            "tf": 1.4142135623730951
+                          },
+                          "3": {
+                            "tf": 1.0
+                          },
+                          "4": {
+                            "tf": 2.0
+                          },
+                          "5": {
+                            "tf": 1.4142135623730951
+                          },
+                          "6": {
+                            "tf": 1.4142135623730951
+                          },
+                          "7": {
+                            "tf": 1.4142135623730951
+                          },
+                          "8": {
+                            "tf": 1.4142135623730951
+                          },
+                          "9": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "a": {
+                    "c": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 2.23606797749979
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "l": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 2,
+                    "docs": {
+                      "24": {
+                        "tf": 1.4142135623730951
+                      },
+                      "25": {
+                        "tf": 1.4142135623730951
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "o": {
+              "d": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 2,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "4": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "m": {
+                "b": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "n": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "u": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 2,
+                        "docs": {
+                          "10": {
+                            "tf": 1.0
+                          },
+                          "29": {
+                            "tf": 1.7320508075688772
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "a": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "f": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "d": {
+            "df": 1,
+            "docs": {
+              "26": {
+                "tf": 1.0
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 2,
+                    "docs": {
+                      "0": {
+                        "tf": 1.7320508075688772
+                      },
+                      "10": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "p": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "c": {
+                      "df": 5,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "19": {
+                          "tf": 2.0
+                        },
+                        "20": {
+                          "tf": 1.0
+                        },
+                        "21": {
+                          "tf": 1.0
+                        },
+                        "22": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "df": 0,
+          "docs": {},
+          "e": {
+            "d": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "m": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "c": {
+                      "df": 0,
+                      "docs": {},
+                      "o": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "df": 1,
+                          "docs": {
+                            "17": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "v": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "x": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "p": {
+                    "df": 0,
+                    "docs": {},
+                    "l": {
+                      "df": 2,
+                      "docs": {
+                        "14": {
+                          "tf": 1.0
+                        },
+                        "15": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "p": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "f": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 5,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "4": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.4142135623730951
+                    },
+                    "7": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 25,
+                    "docs": {
+                      "10": {
+                        "tf": 1.4142135623730951
+                      },
+                      "11": {
+                        "tf": 1.4142135623730951
+                      },
+                      "12": {
+                        "tf": 1.0
+                      },
+                      "13": {
+                        "tf": 1.0
+                      },
+                      "14": {
+                        "tf": 1.0
+                      },
+                      "15": {
+                        "tf": 1.0
+                      },
+                      "16": {
+                        "tf": 1.0
+                      },
+                      "17": {
+                        "tf": 1.0
+                      },
+                      "18": {
+                        "tf": 1.4142135623730951
+                      },
+                      "19": {
+                        "tf": 1.0
+                      },
+                      "2": {
+                        "tf": 1.7320508075688772
+                      },
+                      "20": {
+                        "tf": 1.0
+                      },
+                      "21": {
+                        "tf": 1.0
+                      },
+                      "22": {
+                        "tf": 1.0
+                      },
+                      "23": {
+                        "tf": 1.0
+                      },
+                      "24": {
+                        "tf": 1.0
+                      },
+                      "25": {
+                        "tf": 1.0
+                      },
+                      "27": {
+                        "tf": 1.0
+                      },
+                      "3": {
+                        "tf": 1.0
+                      },
+                      "4": {
+                        "tf": 1.0
+                      },
+                      "5": {
+                        "tf": 1.0
+                      },
+                      "6": {
+                        "tf": 1.0
+                      },
+                      "7": {
+                        "tf": 1.0
+                      },
+                      "8": {
+                        "tf": 1.0
+                      },
+                      "9": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "n": {
+              "df": 3,
+              "docs": {
+                "26": {
+                  "tf": 1.0
+                },
+                "7": {
+                  "tf": 1.4142135623730951
+                },
+                "8": {
+                  "tf": 1.4142135623730951
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 1,
+                "docs": {
+                  "13": {
+                    "tf": 1.0
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "14": {
+                            "tf": 2.23606797749979
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "u": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "r": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "m": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 1,
+                          "docs": {
+                            "27": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "g": {
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "d": {
+                  "df": 1,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "h": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "a": {
+                "d": {
+                  "df": 4,
+                  "docs": {
+                    "10": {
+                      "tf": 1.0
+                    },
+                    "23": {
+                      "tf": 1.7320508075688772
+                    },
+                    "24": {
+                      "tf": 1.7320508075688772
+                    },
+                    "25": {
+                      "tf": 1.7320508075688772
+                    }
+                  },
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 6,
+                      "docs": {
+                        "10": {
+                          "tf": 1.4142135623730951
+                        },
+                        "18": {
+                          "tf": 1.0
+                        },
+                        "19": {
+                          "tf": 2.0
+                        },
+                        "20": {
+                          "tf": 1.7320508075688772
+                        },
+                        "21": {
+                          "tf": 1.7320508075688772
+                        },
+                        "22": {
+                          "tf": 1.7320508075688772
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "'": {
+                    "df": 1,
+                    "docs": {
+                      "1": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 2,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    },
+                    "29": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "d": {
+                "d": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 2,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        },
+                        "7": {
+                          "tf": 1.4142135623730951
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "i": {
+            "d": {
+              "df": 1,
+              "docs": {
+                "25": {
+                  "tf": 1.4142135623730951
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "m": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "d": {
+                      "df": 5,
+                      "docs": {
+                        "10": {
+                          "tf": 1.4142135623730951
+                        },
+                        "6": {
+                          "tf": 1.7320508075688772
+                        },
+                        "7": {
+                          "tf": 1.4142135623730951
+                        },
+                        "8": {
+                          "tf": 1.4142135623730951
+                        },
+                        "9": {
+                          "tf": 1.7320508075688772
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              },
+              "d": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "x": {
+                    "df": 1,
+                    "docs": {
+                      "0": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "t": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 1,
+                          "docs": {
+                            "1": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "c": {
+                          "df": 0,
+                          "docs": {},
+                          "t": {
+                            "df": 2,
+                            "docs": {
+                              "1": {
+                                "tf": 1.7320508075688772
+                              },
+                              "10": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            },
+            "s": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "'": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "6": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "j": {
+            "df": 0,
+            "docs": {},
+            "o": {
+              "b": {
+                "df": 1,
+                "docs": {
+                  "0": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "l": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "f": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 3,
+                  "docs": {
+                    "14": {
+                      "tf": 1.4142135623730951
+                    },
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "k": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 2.449489742783178
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 1,
+                      "docs": {
+                        "14": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "t": {
+              ";": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "m": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "&": {
+                          "df": 0,
+                          "docs": {},
+                          "g": {
+                            "df": 0,
+                            "docs": {},
+                            "t": {
+                              "df": 1,
+                              "docs": {
+                                "29": {
+                                  "tf": 1.0
+                                }
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "m": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 3,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    },
+                    "7": {
+                      "tf": 1.0
+                    },
+                    "8": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "k": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "w": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "df": 6,
+                          "docs": {
+                            "10": {
+                              "tf": 1.0
+                            },
+                            "12": {
+                              "tf": 2.0
+                            },
+                            "13": {
+                              "tf": 1.0
+                            },
+                            "14": {
+                              "tf": 1.0
+                            },
+                            "15": {
+                              "tf": 1.0
+                            },
+                            "16": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 1,
+                  "docs": {
+                    "17": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "2": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "p": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "14": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "n": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 8,
+                  "docs": {
+                    "10": {
+                      "tf": 1.4142135623730951
+                    },
+                    "27": {
+                      "tf": 1.0
+                    },
+                    "28": {
+                      "tf": 1.0
+                    },
+                    "4": {
+                      "tf": 1.7320508075688772
+                    },
+                    "5": {
+                      "tf": 1.0
+                    },
+                    "6": {
+                      "tf": 1.0
+                    },
+                    "7": {
+                      "tf": 1.0
+                    },
+                    "8": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "x": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 1,
+                "docs": {
+                  "27": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "o": {
+            "df": 0,
+            "docs": {},
+            "u": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 0,
+                    "docs": {},
+                    "t": {
+                      "df": 1,
+                      "docs": {
+                        "12": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "27": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "p": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "g": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 2,
+                  "docs": {
+                    "19": {
+                      "tf": 1.0
+                    },
+                    "27": {
+                      "tf": 2.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "l": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "a": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            },
+            "r": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "c": {
+                        "df": 0,
+                        "docs": {},
+                        "e": {
+                          "df": 0,
+                          "docs": {},
+                          "s": {
+                            "df": 0,
+                            "docs": {},
+                            "s": {
+                              "df": 0,
+                              "docs": {},
+                              "o": {
+                                "df": 0,
+                                "docs": {},
+                                "r": {
+                                  "df": 1,
+                                  "docs": {
+                                    "0": {
+                                      "tf": 1.0
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 1,
+                      "docs": {
+                        "0": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "i": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "27": {
+                        "tf": 2.0
+                      }
+                    },
+                    "l": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "!": {
+                          "(": {
+                            "\"": {
+                              "df": 0,
+                              "docs": {},
+                              "h": {
+                                "df": 0,
+                                "docs": {},
+                                "e": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "l": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "l": {
+                                      "df": 0,
+                                      "docs": {},
+                                      "o": {
+                                        "df": 1,
+                                        "docs": {
+                                          "26": {
+                                            "tf": 1.0
+                                          }
+                                        }
+                                      }
+                                    }
+                                  }
+                                }
+                              },
+                              "i": {
+                                "df": 1,
+                                "docs": {
+                                  "26": {
+                                    "tf": 1.0
+                                  }
+                                }
+                              }
+                            },
+                            "df": 0,
+                            "docs": {}
+                          },
+                          "df": 0,
+                          "docs": {}
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 1,
+                "docs": {
+                  "29": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "r": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "u": {
+                  "df": 0,
+                  "docs": {},
+                  "r": {
+                    "df": 0,
+                    "docs": {},
+                    "s": {
+                      "df": 2,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "11": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 1,
+                "docs": {
+                  "27": {
+                    "tf": 1.4142135623730951
+                  }
+                }
+              },
+              "n": {
+                "d": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 0,
+                      "docs": {},
+                      "e": {
+                        "d": {
+                          "_": {
+                            "df": 0,
+                            "docs": {},
+                            "o": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 0,
+                                "docs": {},
+                                "t": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "p": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "u": {
+                                      "df": 0,
+                                      "docs": {},
+                                      "t": {
+                                        "df": 1,
+                                        "docs": {
+                                          "6": {
+                                            "tf": 1.0
+                                          }
+                                        }
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          },
+                          "df": 0,
+                          "docs": {}
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "7": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              }
+            },
+            "i": {
+              "df": 0,
+              "docs": {},
+              "g": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.4142135623730951
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 1,
+                "docs": {
+                  "0": {
+                    "tf": 1.0
+                  }
+                },
+                "n": {
+                  "a": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "26": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "c": {
+                        "df": 2,
+                        "docs": {
+                          "7": {
+                            "tf": 1.4142135623730951
+                          },
+                          "8": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  },
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "s": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "o": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 4,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "26": {
+                          "tf": 1.7320508075688772
+                        },
+                        "27": {
+                          "tf": 1.0
+                        },
+                        "28": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 4,
+                        "docs": {
+                          "27": {
+                            "tf": 1.0
+                          },
+                          "28": {
+                            "tf": 1.4142135623730951
+                          },
+                          "3": {
+                            "tf": 1.4142135623730951
+                          },
+                          "5": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "e": {
+                "df": 1,
+                "docs": {
+                  "26": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "n": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "p": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "26": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "_": {
+                    "df": 0,
+                    "docs": {},
+                    "f": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "c": {
+                            "df": 0,
+                            "docs": {},
+                            "t": {
+                              "df": 1,
+                              "docs": {
+                                "7": {
+                                  "tf": 1.4142135623730951
+                                }
+                              }
+                            }
+                          },
+                          "df": 0,
+                          "docs": {}
+                        }
+                      }
+                    },
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 0,
+                        "docs": {},
+                        "h": {
+                          "df": 0,
+                          "docs": {},
+                          "e": {
+                            "df": 0,
+                            "docs": {},
+                            "r": {
+                              "_": {
+                                "df": 0,
+                                "docs": {},
+                                "f": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "u": {
+                                    "df": 0,
+                                    "docs": {},
+                                    "n": {
+                                      "c": {
+                                        "df": 0,
+                                        "docs": {},
+                                        "t": {
+                                          "df": 1,
+                                          "docs": {
+                                            "8": {
+                                              "tf": 1.4142135623730951
+                                            }
+                                          }
+                                        }
+                                      },
+                                      "df": 0,
+                                      "docs": {}
+                                    }
+                                  }
+                                }
+                              },
+                              "df": 0,
+                              "docs": {}
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            },
+            "p": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "̈": {
+                        "df": 0,
+                        "docs": {},
+                        "r": {
+                          "df": 1,
+                          "docs": {
+                            "17": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "ë": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "df": 1,
+                        "docs": {
+                          "17": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "e": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "a": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 0,
+                    "docs": {},
+                    "s": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.4142135623730951
+                        }
+                      }
+                    }
+                  }
+                },
+                "i": {
+                  "df": 0,
+                  "docs": {},
+                  "k": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 0,
+                        "docs": {},
+                        "h": {
+                          "df": 0,
+                          "docs": {},
+                          "r": {
+                            "df": 0,
+                            "docs": {},
+                            "o": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 0,
+                                "docs": {},
+                                "g": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "h": {
+                                    "df": 1,
+                                    "docs": {
+                                      "15": {
+                                        "tf": 1.7320508075688772
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "n": {
+                    "df": 0,
+                    "docs": {},
+                    "g": {
+                      "df": 1,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "a": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 0,
+                      "docs": {},
+                      "i": {
+                        "df": 1,
+                        "docs": {
+                          "10": {
+                            "tf": 1.4142135623730951
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "26": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "t": {
+            "a": {
+              "b": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "13": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 0,
+                        "docs": {},
+                        "k": {
+                          "df": 1,
+                          "docs": {
+                            "16": {
+                              "tf": 1.4142135623730951
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "a": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "4": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  },
+                  "df": 4,
+                  "docs": {
+                    "12": {
+                      "tf": 1.7320508075688772
+                    },
+                    "17": {
+                      "tf": 1.4142135623730951
+                    },
+                    "27": {
+                      "tf": 1.4142135623730951
+                    },
+                    "6": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              },
+              "x": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 5,
+                  "docs": {
+                    "1": {
+                      "tf": 1.0
+                    },
+                    "2": {
+                      "tf": 1.0
+                    },
+                    "20": {
+                      "tf": 1.4142135623730951
+                    },
+                    "21": {
+                      "tf": 1.4142135623730951
+                    },
+                    "22": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                }
+              }
+            },
+            "h": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "d": {
+                    "df": 1,
+                    "docs": {
+                      "14": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "w": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 1,
+                "docs": {
+                  "17": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            }
+          },
+          "u": {
+            "df": 0,
+            "docs": {},
+            "n": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 2,
+                      "docs": {
+                        "10": {
+                          "tf": 1.0
+                        },
+                        "17": {
+                          "tf": 1.7320508075688772
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "q": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "df": 1,
+                    "docs": {
+                      "6": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "v": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "i": {
+                  "d": {
+                    "df": 1,
+                    "docs": {
+                      "19": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            },
+            "df": 0,
+            "docs": {}
+          },
+          "w": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "y": {
+                "df": 1,
+                "docs": {
+                  "6": {
+                    "tf": 1.0
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "d": {
+                  "df": 1,
+                  "docs": {
+                    "14": {
+                      "tf": 1.0
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 2,
+                  "docs": {
+                    "27": {
+                      "tf": 1.4142135623730951
+                    },
+                    "8": {
+                      "tf": 1.4142135623730951
+                    }
+                  }
+                },
+                "l": {
+                  "d": {
+                    "df": 2,
+                    "docs": {
+                      "11": {
+                        "tf": 4.69041575982343
+                      },
+                      "26": {
+                        "tf": 1.0
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            }
+          },
+          "z": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "g": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 1,
+                    "docs": {
+                      "17": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {}
+          }
+        }
+      },
+      "title": {
+        "root": {
+          "a": {
+            "d": {
+              "d": {
+                "df": 1,
+                "docs": {
+                  "7": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "df": 0,
+            "docs": {},
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "h": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 2,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        },
+                        "8": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "b": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "df": 0,
+                        "docs": {},
+                        "t": {
+                          "df": 1,
+                          "docs": {
+                            "23": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "b": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "w": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 1,
+                  "docs": {
+                    "0": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "c": {
+            "df": 0,
+            "docs": {},
+            "h": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "p": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "r": {
+                        "df": 5,
+                        "docs": {
+                          "11": {
+                            "tf": 1.0
+                          },
+                          "18": {
+                            "tf": 1.0
+                          },
+                          "2": {
+                            "tf": 1.0
+                          },
+                          "26": {
+                            "tf": 1.0
+                          },
+                          "4": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "l": {
+              "a": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 2,
+                    "docs": {
+                      "24": {
+                        "tf": 1.0
+                      },
+                      "25": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "n": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "u": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 1,
+                        "docs": {
+                          "29": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "d": {
+            "df": 0,
+            "docs": {},
+            "u": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 1,
+                    "docs": {
+                      "0": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              },
+              "p": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "c": {
+                      "df": 1,
+                      "docs": {
+                        "19": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "df": 0,
+          "docs": {},
+          "f": {
+            "df": 0,
+            "docs": {},
+            "i": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 2,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    },
+                    "7": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "s": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 3,
+                    "docs": {
+                      "11": {
+                        "tf": 1.0
+                      },
+                      "18": {
+                        "tf": 1.0
+                      },
+                      "2": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "o": {
+              "df": 0,
+              "docs": {},
+              "o": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 1,
+                        "docs": {
+                          "14": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "h": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "a": {
+                "d": {
+                  "df": 3,
+                  "docs": {
+                    "23": {
+                      "tf": 1.0
+                    },
+                    "24": {
+                      "tf": 1.0
+                    },
+                    "25": {
+                      "tf": 1.0
+                    }
+                  },
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 4,
+                      "docs": {
+                        "19": {
+                          "tf": 1.0
+                        },
+                        "20": {
+                          "tf": 1.0
+                        },
+                        "21": {
+                          "tf": 1.0
+                        },
+                        "22": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "i": {
+              "d": {
+                "d": {
+                  "df": 0,
+                  "docs": {},
+                  "e": {
+                    "df": 0,
+                    "docs": {},
+                    "n": {
+                      "df": 1,
+                      "docs": {
+                        "7": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              },
+              "df": 0,
+              "docs": {}
+            }
+          },
+          "i": {
+            "d": {
+              "df": 1,
+              "docs": {
+                "25": {
+                  "tf": 1.0
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "n": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 0,
+                  "docs": {},
+                  "u": {
+                    "d": {
+                      "df": 4,
+                      "docs": {
+                        "6": {
+                          "tf": 1.0
+                        },
+                        "7": {
+                          "tf": 1.0
+                        },
+                        "8": {
+                          "tf": 1.0
+                        },
+                        "9": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "t": {
+                "df": 0,
+                "docs": {},
+                "r": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 0,
+                      "docs": {},
+                      "u": {
+                        "c": {
+                          "df": 0,
+                          "docs": {},
+                          "t": {
+                            "df": 1,
+                            "docs": {
+                              "1": {
+                                "tf": 1.0
+                              }
+                            }
+                          }
+                        },
+                        "df": 0,
+                        "docs": {}
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                }
+              }
+            }
+          },
+          "l": {
+            "df": 0,
+            "docs": {},
+            "i": {
+              "df": 0,
+              "docs": {},
+              "n": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "m": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "w": {
+                        "df": 0,
+                        "docs": {},
+                        "n": {
+                          "df": 1,
+                          "docs": {
+                            "12": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            },
+            "df": 0,
+            "docs": {}
+          },
+          "n": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "4": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "p": {
+            "a": {
+              "df": 0,
+              "docs": {},
+              "g": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 1,
+                  "docs": {
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "r": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "6": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "r": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "df": 0,
+                "docs": {},
+                "n": {
+                  "df": 0,
+                  "docs": {},
+                  "t": {
+                    "df": 1,
+                    "docs": {
+                      "27": {
+                        "tf": 1.0
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "r": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "l": {
+                "df": 1,
+                "docs": {
+                  "27": {
+                    "tf": 1.0
+                  }
+                }
+              },
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 1,
+                  "docs": {
+                    "7": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "d": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "c": {
+                        "df": 2,
+                        "docs": {
+                          "7": {
+                            "tf": 1.0
+                          },
+                          "8": {
+                            "tf": 1.0
+                          }
+                        }
+                      },
+                      "df": 0,
+                      "docs": {}
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            }
+          },
+          "s": {
+            "df": 0,
+            "docs": {},
+            "e": {
+              "c": {
+                "df": 0,
+                "docs": {},
+                "o": {
+                  "df": 0,
+                  "docs": {},
+                  "n": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "26": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "t": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "df": 0,
+                    "docs": {},
+                    "o": {
+                      "df": 0,
+                      "docs": {},
+                      "n": {
+                        "df": 3,
+                        "docs": {
+                          "28": {
+                            "tf": 1.0
+                          },
+                          "3": {
+                            "tf": 1.0
+                          },
+                          "5": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {}
+            },
+            "p": {
+              "df": 0,
+              "docs": {},
+              "e": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "i": {
+                    "a": {
+                      "df": 0,
+                      "docs": {},
+                      "l": {
+                        "df": 1,
+                        "docs": {
+                          "6": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            },
+            "t": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "e": {
+                  "df": 0,
+                  "docs": {},
+                  "s": {
+                    "df": 0,
+                    "docs": {},
+                    "s": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    }
+                  }
+                },
+                "i": {
+                  "df": 0,
+                  "docs": {},
+                  "k": {
+                    "df": 0,
+                    "docs": {},
+                    "e": {
+                      "df": 0,
+                      "docs": {},
+                      "t": {
+                        "df": 0,
+                        "docs": {},
+                        "h": {
+                          "df": 0,
+                          "docs": {},
+                          "r": {
+                            "df": 0,
+                            "docs": {},
+                            "o": {
+                              "df": 0,
+                              "docs": {},
+                              "u": {
+                                "df": 0,
+                                "docs": {},
+                                "g": {
+                                  "df": 0,
+                                  "docs": {},
+                                  "h": {
+                                    "df": 1,
+                                    "docs": {
+                                      "15": {
+                                        "tf": 1.0
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "u": {
+              "df": 0,
+              "docs": {},
+              "m": {
+                "df": 0,
+                "docs": {},
+                "m": {
+                  "a": {
+                    "df": 0,
+                    "docs": {},
+                    "r": {
+                      "df": 0,
+                      "docs": {},
+                      "i": {
+                        "df": 1,
+                        "docs": {
+                          "10": {
+                            "tf": 1.0
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "df": 0,
+                  "docs": {}
+                }
+              }
+            }
+          },
+          "t": {
+            "a": {
+              "b": {
+                "df": 0,
+                "docs": {},
+                "l": {
+                  "df": 1,
+                  "docs": {
+                    "13": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 0,
+                  "docs": {},
+                  "l": {
+                    "df": 0,
+                    "docs": {},
+                    "i": {
+                      "df": 0,
+                      "docs": {},
+                      "s": {
+                        "df": 0,
+                        "docs": {},
+                        "k": {
+                          "df": 1,
+                          "docs": {
+                            "16": {
+                              "tf": 1.0
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "df": 0,
+            "docs": {},
+            "e": {
+              "df": 0,
+              "docs": {},
+              "s": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 3,
+                  "docs": {
+                    "12": {
+                      "tf": 1.0
+                    },
+                    "17": {
+                      "tf": 1.0
+                    },
+                    "27": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              },
+              "x": {
+                "df": 0,
+                "docs": {},
+                "t": {
+                  "df": 3,
+                  "docs": {
+                    "20": {
+                      "tf": 1.0
+                    },
+                    "21": {
+                      "tf": 1.0
+                    },
+                    "22": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "u": {
+            "df": 0,
+            "docs": {},
+            "n": {
+              "df": 0,
+              "docs": {},
+              "i": {
+                "c": {
+                  "df": 0,
+                  "docs": {},
+                  "o": {
+                    "d": {
+                      "df": 1,
+                      "docs": {
+                        "17": {
+                          "tf": 1.0
+                        }
+                      }
+                    },
+                    "df": 0,
+                    "docs": {}
+                  }
+                },
+                "df": 0,
+                "docs": {}
+              }
+            }
+          },
+          "w": {
+            "df": 0,
+            "docs": {},
+            "o": {
+              "df": 0,
+              "docs": {},
+              "r": {
+                "df": 0,
+                "docs": {},
+                "k": {
+                  "df": 1,
+                  "docs": {
+                    "8": {
+                      "tf": 1.0
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "lang": "English",
+    "pipeline": [
+      "trimmer",
+      "stopWordFilter",
+      "stemmer"
+    ],
+    "ref": "id",
+    "version": "0.9.5"
+  },
+  "results_options": {
+    "limit_results": 30,
+    "teaser_word_count": 30
+  },
+  "search_options": {
+    "bool": "OR",
+    "expand": true,
+    "fields": {
+      "body": {
+        "boost": 1
+      },
+      "breadcrumbs": {
+        "boost": 1
+      },
+      "title": {
+        "boost": 2
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/tests/summary_md_files/example_book.md b/tests/summary_md_files/example_book.md
new file mode 100644
index 0000000..ff3911c
--- /dev/null
+++ b/tests/summary_md_files/example_book.md
@@ -0,0 +1,20 @@
+# Summary
+
+- [mdBook](README.md)
+- [Command Line Tool](cli/cli-tool.md)
+    - [init](cli/init.md)
+    - [build](cli/build.md)
+    - [watch](cli/watch.md)
+    - [serve](cli/serve.md)
+    - [test](cli/test.md)
+- [Format](format/format.md)
+    - [SUMMARY.md](format/summary.md)
+    - [Configuration](format/config.md)
+    - [Theme](format/theme/theme.md)
+        - [index.hbs](format/theme/index-hbs.md)
+        - [Syntax highlighting](format/theme/syntax-highlighting.md)
+    - [MathJax Support](format/mathjax.md)
+    - [Rust code specific features](format/rust.md)
+- [Rust Library](lib/lib.md)
+-----------
+[Contributors](misc/contributors.md)
diff --git a/tests/summary_md_files/rust_by_example.md b/tests/summary_md_files/rust_by_example.md
new file mode 100644
index 0000000..de7e6f6
--- /dev/null
+++ b/tests/summary_md_files/rust_by_example.md
@@ -0,0 +1,191 @@
+# Summary
+
+[Introduction](index.md)
+
+- [Hello World](hello.md)
+    - [Comments](hello/comment.md)
+    - [Formatted print](hello/print.md)
+        - [Debug](hello/print/print_debug.md)
+        - [Display](hello/print/print_display.md)
+            - [Testcase: List](hello/print/print_display/testcase_list.md)
+        - [Formatting](hello/print/fmt.md)
+
+- [Primitives](primitives.md)
+    - [Literals and operators](primitives/literals.md)
+    - [Tuples](primitives/tuples.md)
+    - [Arrays and Slices](primitives/array.md)
+
+- [Custom Types](custom_types.md)
+    - [Structures](custom_types/structs.md)
+    - [Enums](custom_types/enum.md)
+        - [use](custom_types/enum/enum_use.md)
+        - [C-like](custom_types/enum/c_like.md)
+        - [Testcase: linked-list](custom_types/enum/testcase_linked_list.md)
+    - [constants](custom_types/constants.md)
+
+- [Variable Bindings](variable_bindings.md)
+    - [Mutability](variable_bindings/mut.md)
+    - [Scope and Shadowing](variable_bindings/scope.md)
+    - [Declare first](variable_bindings/declare.md)
+
+- [Types](types.md)
+    - [Casting](types/cast.md)
+    - [Literals](types/literals.md)
+    - [Inference](types/inference.md)
+    - [Aliasing](types/alias.md)
+
+- [Conversion](conversion.md)
+    - [From and Into](conversion/from_into.md)
+    - [To and From String](conversion/string.md)
+
+- [Expressions](expression.md)
+
+- [Flow Control](flow_control.md)
+    - [if/else](flow_control/if_else.md)
+    - [loop](flow_control/loop.md)
+        - [Nesting and labels](flow_control/loop/nested.md)
+        - [Returning from loops](flow_control/loop/return.md)
+    - [while](flow_control/while.md)
+    - [for and range](flow_control/for.md)
+    - [match](flow_control/match.md)
+        - [Destructuring](flow_control/match/destructuring.md)
+            - [tuples](flow_control/match/destructuring/destructure_tuple.md)
+            - [enums](flow_control/match/destructuring/destructure_enum.md)
+            - [pointers/ref](flow_control/match/destructuring/destructure_pointers.md)
+            - [structs](flow_control/match/destructuring/destructure_structures.md)
+        - [Guards](flow_control/match/guard.md)
+        - [Binding](flow_control/match/binding.md)
+    - [if let](flow_control/if_let.md)
+    - [while let](flow_control/while_let.md)
+
+- [Functions](fn.md)
+    - [Methods](fn/methods.md)
+    - [Closures](fn/closures.md)
+        - [Capturing](fn/closures/capture.md)
+        - [As input parameters](fn/closures/input_parameters.md)
+        - [Type anonymity](fn/closures/anonymity.md)
+        - [Input functions](fn/closures/input_functions.md)
+        - [As output parameters](fn/closures/output_parameters.md)
+        - [Examples in `std`](fn/closures/closure_examples.md)
+            - [Iterator::any](fn/closures/closure_examples/iter_any.md)
+            - [Iterator::find](fn/closures/closure_examples/iter_find.md)
+    - [Higher Order Functions](fn/hof.md)
+
+- [Modules](mod.md)
+    - [Visibility](mod/visibility.md)
+    - [Struct visibility](mod/struct_visibility.md)
+    - [The `use` declaration](mod/use.md)
+    - [`super` and `self`](mod/super.md)
+    - [File hierarchy](mod/split.md)
+
+- [Crates](crates.md)
+    - [Library](crates/lib.md)
+    - [`extern crate`](crates/link.md)
+
+- [Attributes](attribute.md)
+    - [`dead_code`](attribute/unused.md)
+    - [Crates](attribute/crate.md)
+    - [`cfg`](attribute/cfg.md)
+        - [Custom](attribute/cfg/custom.md)
+
+- [Generics](generics.md)
+    - [Functions](generics/gen_fn.md)
+    - [Implementation](generics/impl.md)
+    - [Traits](generics/gen_trait.md)
+    - [Bounds](generics/bounds.md)
+        - [Testcase: empty bounds](generics/bounds/testcase_empty.md)
+    - [Multiple bounds](generics/multi_bounds.md)
+    - [Where clauses](generics/where.md)
+    - [New Type Idiom](generics/new_types.md)
+    - [Associated items](generics/assoc_items.md)
+        - [The Problem](generics/assoc_items/the_problem.md)
+        - [Associated types](generics/assoc_items/types.md)
+    - [Phantom type parameters](generics/phantom.md)
+        - [Testcase: unit clarification](generics/phantom/testcase_units.md)
+
+- [Scoping rules](scope.md)
+    - [RAII](scope/raii.md)
+    - [Ownership and moves](scope/move.md)
+        - [Mutability](scope/move/mut.md)
+    - [Borrowing](scope/borrow.md)
+        - [Mutability](scope/borrow/mut.md)
+        - [Freezing](scope/borrow/freeze.md)
+        - [Aliasing](scope/borrow/alias.md)
+        - [The ref pattern](scope/borrow/ref.md)
+    - [Lifetimes](scope/lifetime.md)
+        - [Explicit annotation](scope/lifetime/explicit.md)
+        - [Functions](scope/lifetime/fn.md)
+        - [Methods](scope/lifetime/methods.md)
+        - [Structs](scope/lifetime/struct.md)
+        - [Bounds](scope/lifetime/lifetime_bounds.md)
+        - [Coercion](scope/lifetime/lifetime_coercion.md)
+        - [static](scope/lifetime/static_lifetime.md)
+        - [elision](scope/lifetime/elision.md)
+
+- [Traits](trait.md)
+    - [Derive](trait/derive.md)
+    - [Operator Overloading](trait/ops.md)
+    - [Drop](trait/drop.md)
+    - [Iterators](trait/iter.md)
+    - [Clone](trait/clone.md)
+
+- [macro_rules!](macros.md)
+    - [Syntax](macro/syntax.md)
+        - [Designators](macros/designators.md)
+        - [Overload](macros/overload.md)
+        - [Repeat](macros/repeat.md)
+    - [DRY (Don't Repeat Yourself)](macros/dry.md)
+    - [DSL (Domain Specific Languages)](macros/dsl.md)
+    - [Variadics](macros/variadics.md)
+
+- [Error handling](error.md)
+    - [`panic`](error/panic.md)
+    - [`Option` & `unwrap`](error/option_unwrap.md)
+        - [Combinators: `map`](error/option_unwrap/map.md)
+        - [Combinators: `and_then`](error/option_unwrap/and_then.md)
+    - [`Result`](error/result.md)
+        - [`map` for `Result`](error/result/result_map.md)
+        - [aliases for `Result`](error/result/result_alias.md)
+        - [Early returns](error/result/early_returns.md)
+        - [Introducing `?`](error/result/enter_question_mark.md)
+    - [Multiple error types](error/multiple_error_types.md)
+        - [Pulling `Result`s out of `Option`s](error/multiple_error_types/option_result.md)
+        - [Defining an error type](error/multiple_error_types/define_error_type.md)
+        - [`Box`ing errors](error/multiple_error_types/boxing_errors.md)
+        - [Other uses of `?`](error/multiple_error_types/reenter_question_mark.md)
+        - [Wrapping errors](error/multiple_error_types/wrap_error.md)
+    - [Iterating over `Result`s](error/iter_result.md)
+
+- [Std library types](std.md)
+    - [Box, stack and heap](std/box.md)
+    - [Vectors](std/vec.md)
+    - [Strings](std/str.md)
+    - [`Option`](std/option.md)
+    - [`Result`](std/result.md)
+        - [`?`](std/result/question_mark.md)
+    - [`panic!`](std/panic.md)
+    - [HashMap](std/hash.md)
+        - [Alternate/custom key types](std/hash/alt_key_types.md)
+        - [HashSet](std/hash/hashset.md)
+
+- [Std misc](std_misc.md)
+    - [Threads](std_misc/threads.md)
+        - [Testcase: map-reduce](std_misc/threads/testcase_mapreduce.md)
+    - [Channels](std_misc/channels.md)
+    - [Path](std_misc/path.md)
+    - [File I/O](std_misc/file.md)
+        - [`open`](std_misc/file/open.md)
+        - [`create`](std_misc/file/create.md)
+    - [Child processes](std_misc/process.md)
+        - [Pipes](std_misc/process/pipe.md)
+        - [Wait](std_misc/process/wait.md)
+    - [Filesystem Operations](std_misc/fs.md)
+    - [Program arguments](std_misc/arg.md)
+        - [Argument parsing](std_misc/arg/matching.md)
+    - [Foreign Function Interface](std_misc/ffi.md)
+
+- [Meta](meta.md)
+    - [Documentation](meta/doc.md)
+    - [Testing](meta/test.md)
+
+- [Unsafe Operations](unsafe.md)
diff --git a/tests/summary_md_files/rust_ffi_guide.md b/tests/summary_md_files/rust_ffi_guide.md
new file mode 100644
index 0000000..f64fcab
--- /dev/null
+++ b/tests/summary_md_files/rust_ffi_guide.md
@@ -0,0 +1,19 @@
+# Summary
+
+- [Overview](./overview.md)
+- [Setting Up](./setting_up.md)
+- [Core Client Library](./client.md)
+- [Constructing a Basic Request](./basic_request.md)
+- [Sending the Request](./send_basic.md)
+- [Generating a Header File](./cbindgen.md)
+- [Better Error Handling](./error_handling.md)
+- [Asynchronous Operations](./async.md)
+- [More Complex Requests](./complex_request.md)
+- [Testing](./testing.md)
+- [Dynamic Loading & Plugins](./dynamic_loading.md)
+
+---
+
+- [Break All The Things!!1!](./fun/index.md)
+    - [Problems](./fun/problems.md)
+    - [Solutions](./fun/solutions.md)
\ No newline at end of file
diff --git a/tests/summary_md_files/the_book-2nd_edition.md b/tests/summary_md_files/the_book-2nd_edition.md
new file mode 100644
index 0000000..c7f8306
--- /dev/null
+++ b/tests/summary_md_files/the_book-2nd_edition.md
@@ -0,0 +1,130 @@
+# The Rust Programming Language
+
+## Getting started
+
+- [Introduction](ch01-00-introduction.md)
+    - [Installation](ch01-01-installation.md)
+    - [Hello, World!](ch01-02-hello-world.md)
+
+- [Guessing Game Tutorial](ch02-00-guessing-game-tutorial.md)
+
+- [Common Programming Concepts](ch03-00-common-programming-concepts.md)
+    - [Variables and Mutability](ch03-01-variables-and-mutability.md)
+    - [Data Types](ch03-02-data-types.md)
+    - [How Functions Work](ch03-03-how-functions-work.md)
+    - [Comments](ch03-04-comments.md)
+    - [Control Flow](ch03-05-control-flow.md)
+
+- [Understanding Ownership](ch04-00-understanding-ownership.md)
+    - [What is Ownership?](ch04-01-what-is-ownership.md)
+    - [References & Borrowing](ch04-02-references-and-borrowing.md)
+    - [Slices](ch04-03-slices.md)
+
+- [Using Structs to Structure Related Data](ch05-00-structs.md)
+    - [Defining and Instantiating Structs](ch05-01-defining-structs.md)
+    - [An Example Program Using Structs](ch05-02-example-structs.md)
+    - [Method Syntax](ch05-03-method-syntax.md)
+
+- [Enums and Pattern Matching](ch06-00-enums.md)
+    - [Defining an Enum](ch06-01-defining-an-enum.md)
+    - [The `match` Control Flow Operator](ch06-02-match.md)
+    - [Concise Control Flow with `if let`](ch06-03-if-let.md)
+
+## Basic Rust Literacy
+
+- [Modules](ch07-00-modules.md)
+    - [`mod` and the Filesystem](ch07-01-mod-and-the-filesystem.md)
+    - [Controlling Visibility with `pub`](ch07-02-controlling-visibility-with-pub.md)
+    - [Referring to Names in Different Modules](ch07-03-importing-names-with-use.md)
+
+- [Common Collections](ch08-00-common-collections.md)
+    - [Vectors](ch08-01-vectors.md)
+    - [Strings](ch08-02-strings.md)
+    - [Hash Maps](ch08-03-hash-maps.md)
+
+- [Error Handling](ch09-00-error-handling.md)
+    - [Unrecoverable Errors with `panic!`](ch09-01-unrecoverable-errors-with-panic.md)
+    - [Recoverable Errors with `Result`](ch09-02-recoverable-errors-with-result.md)
+    - [To `panic!` or Not To `panic!`](ch09-03-to-panic-or-not-to-panic.md)
+
+- [Generic Types, Traits, and Lifetimes](ch10-00-generics.md)
+    - [Generic Data Types](ch10-01-syntax.md)
+    - [Traits: Defining Shared Behavior](ch10-02-traits.md)
+    - [Validating References with Lifetimes](ch10-03-lifetime-syntax.md)
+
+- [Testing](ch11-00-testing.md)
+    - [Writing tests](ch11-01-writing-tests.md)
+    - [Running tests](ch11-02-running-tests.md)
+    - [Test Organization](ch11-03-test-organization.md)
+
+- [An I/O Project: Building a Command Line Program](ch12-00-an-io-project.md)
+    - [Accepting Command Line Arguments](ch12-01-accepting-command-line-arguments.md)
+    - [Reading a File](ch12-02-reading-a-file.md)
+    - [Refactoring to Improve Modularity and Error Handling](ch12-03-improving-error-handling-and-modularity.md)
+    - [Developing the Library’s Functionality with Test Driven Development](ch12-04-testing-the-librarys-functionality.md)
+    - [Working with Environment Variables](ch12-05-working-with-environment-variables.md)
+    - [Writing Error Messages to Standard Error Instead of Standard Output](ch12-06-writing-to-stderr-instead-of-stdout.md)
+
+## Thinking in Rust
+
+- [Functional Language Features: Iterators and Closures](ch13-00-functional-features.md)
+    - [Closures: Anonymous Functions that Can Capture Their Environment](ch13-01-closures.md)
+    - [Processing a Series of Items with Iterators](ch13-02-iterators.md)
+    - [Improving Our I/O Project](ch13-03-improving-our-io-project.md)
+    - [Comparing Performance: Loops vs. Iterators](ch13-04-performance.md)
+
+- [More about Cargo and Crates.io](ch14-00-more-about-cargo.md)
+    - [Customizing Builds with Release Profiles](ch14-01-release-profiles.md)
+    - [Publishing a Crate to Crates.io](ch14-02-publishing-to-crates-io.md)
+    - [Cargo Workspaces](ch14-03-cargo-workspaces.md)
+    - [Installing Binaries from Crates.io with `cargo install`](ch14-04-installing-binaries.md)
+    - [Extending Cargo with Custom Commands](ch14-05-extending-cargo.md)
+
+- [Smart Pointers](ch15-00-smart-pointers.md)
+    - [`Box<T>` Points to Data on the Heap and Has a Known Size](ch15-01-box.md)
+    - [The `Deref` Trait Allows Access to the Data Through a Reference](ch15-02-deref.md)
+    - [The `Drop` Trait Runs Code on Cleanup](ch15-03-drop.md)
+    - [`Rc<T>`, the Reference Counted Smart Pointer](ch15-04-rc.md)
+    - [`RefCell<T>` and the Interior Mutability Pattern](ch15-05-interior-mutability.md)
+    - [Creating Reference Cycles and Leaking Memory is Safe](ch15-06-reference-cycles.md)
+
+- [Fearless Concurrency](ch16-00-concurrency.md)
+    - [Threads](ch16-01-threads.md)
+    - [Message Passing](ch16-02-message-passing.md)
+    - [Shared State](ch16-03-shared-state.md)
+    - [Extensible Concurrency: `Sync` and `Send`](ch16-04-extensible-concurrency-sync-and-send.md)
+
+- [Is Rust an Object-Oriented Programming Language?](ch17-00-oop.md)
+    - [What Does Object-Oriented Mean?](ch17-01-what-is-oo.md)
+    - [Trait Objects for Using Values of Different Types](ch17-02-trait-objects.md)
+    - [Object-Oriented Design Pattern Implementations](ch17-03-oo-design-patterns.md)
+
+## Advanced Topics
+
+- [Patterns Match the Structure of Values](ch18-00-patterns.md)
+    - [All the Places Patterns May be Used](ch18-01-all-the-places-for-patterns.md)
+    - [Refutability: Whether a Pattern Might Fail to Match](ch18-02-refutability.md)
+    - [All the Pattern Syntax](ch18-03-pattern-syntax.md)
+
+- [Advanced Features](ch19-00-advanced-features.md)
+    - [Unsafe Rust](ch19-01-unsafe-rust.md)
+    - [Advanced Lifetimes](ch19-02-advanced-lifetimes.md)
+    - [Advanced Traits](ch19-03-advanced-traits.md)
+    - [Advanced Types](ch19-04-advanced-types.md)
+    - [Advanced Functions & Closures](ch19-05-advanced-functions-and-closures.md)
+
+- [Final Project: Building a Multithreaded Web Server](ch20-00-final-project-a-web-server.md)
+    - [A Single Threaded Web Server](ch20-01-single-threaded.md)
+    - [How Slow Requests Affect Throughput](ch20-02-slow-requests.md)
+    - [Designing the Thread Pool Interface](ch20-03-designing-the-interface.md)
+    - [Creating the Thread Pool and Storing Threads](ch20-04-storing-threads.md)
+    - [Sending Requests to Threads Via Channels](ch20-05-sending-requests-via-channels.md)
+    - [Graceful Shutdown and Cleanup](ch20-06-graceful-shutdown-and-cleanup.md)
+
+- [Appendix](appendix-00.md)
+    - [A - Keywords](appendix-01-keywords.md)
+    - [B - Operators and Symbols](appendix-02-operators.md)
+    - [C - Derivable Traits](appendix-03-derivable-traits.md)
+    - [D - Macros](appendix-04-macros.md)
+    - [E - Translations](appendix-05-translation.md)
+    - [F - Newest Features](appendix-06-newest-features.md)
diff --git a/tests/testing.rs b/tests/testing.rs
new file mode 100644
index 0000000..3030c5c
--- /dev/null
+++ b/tests/testing.rs
@@ -0,0 +1,47 @@
+mod dummy_book;
+
+use crate::dummy_book::DummyBook;
+
+use mdbook::MDBook;
+
+#[test]
+fn mdbook_can_correctly_test_a_passing_book() {
+    let temp = DummyBook::new().with_passing_test(true).build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+
+    let result = md.test(vec![]);
+    assert!(
+        result.is_ok(),
+        "Tests failed with {}",
+        result.err().unwrap()
+    );
+}
+
+#[test]
+fn mdbook_detects_book_with_failing_tests() {
+    let temp = DummyBook::new().with_passing_test(false).build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+
+    assert!(md.test(vec![]).is_err());
+}
+
+#[test]
+fn mdbook_test_chapter() {
+    let temp = DummyBook::new().with_passing_test(true).build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+
+    let result = md.test_chapter(vec![], Some("Introduction"));
+    assert!(
+        result.is_ok(),
+        "test_chapter failed with {}",
+        result.err().unwrap()
+    );
+}
+
+#[test]
+fn mdbook_test_chapter_not_found() {
+    let temp = DummyBook::new().with_passing_test(true).build().unwrap();
+    let mut md = MDBook::load(temp.path()).unwrap();
+
+    assert!(md.test_chapter(vec![], Some("Bogus Chapter Name")).is_err());
+}
diff --git a/triagebot.toml b/triagebot.toml
new file mode 100644
index 0000000..9343d9c
--- /dev/null
+++ b/triagebot.toml
@@ -0,0 +1,23 @@
+# This will allow users to self assign, and/or drop assignment
+[assign]
+
+# Allows @rustbot ready, review, author, or blocked
+[shortcut]
+
+[relabel]
+allow-unauthenticated = [
+    # For Issue areas
+    "A-*",
+    # Categories
+    "C-*",
+    # Commands
+    "Command-*",
+    # Status
+    "S-*",
+    "regression",
+    "Breaking Change",
+    "msrv-bump",
+]
+
+[autolabel."S-waiting-on-review"]
+new_pr = true